# Generated by Django 5.0.7 on 2026-09-01 10:27

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ("shop_management", "0084_opening_inventory_kind"),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.AddField(
            model_name="purchase",
            name="document_status",
            field=models.CharField(
                choices=[("DRAFT", "Draft"), ("POSTED", "Posted"), ("VOID", "Void")],
                default="POSTED",
                max_length=10,
            ),
            preserve_default=False,
        ),
        migrations.AlterField(
            model_name="purchase",
            name="document_status",
            field=models.CharField(
                choices=[("DRAFT", "Draft"), ("POSTED", "Posted"), ("VOID", "Void")],
                default="DRAFT",
                max_length=10,
            ),
        ),
        migrations.AddField(
            model_name="purchase",
            name="due_date",
            field=models.DateField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name="purchase",
            name="exchange_rate_used",
            field=models.DecimalField(
                blank=True, decimal_places=10, max_digits=24, null=True
            ),
        ),
        migrations.AddField(
            model_name="purchase",
            name="notes",
            field=models.TextField(blank=True),
        ),
        migrations.AddField(
            model_name="purchase",
            name="posted_at",
            field=models.DateTimeField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name="purchase",
            name="posted_by",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="purchases_posted",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AddField(
            model_name="purchase",
            name="purchase_number",
            field=models.CharField(blank=True, max_length=50, null=True, unique=True),
        ),
        migrations.AddField(
            model_name="purchase",
            name="supplier_invoice_number",
            field=models.CharField(blank=True, max_length=100),
        ),
        migrations.AddField(
            model_name="purchase",
            name="uses_inventory_engine",
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name="purchase",
            name="void_reason",
            field=models.TextField(blank=True),
        ),
        migrations.AddField(
            model_name="purchase",
            name="voided_at",
            field=models.DateTimeField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name="purchase",
            name="voided_by",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="purchases_voided",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AddField(
            model_name="purchase",
            name="warehouse",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="purchases",
                to="shop_management.warehouse",
            ),
        ),
        migrations.AddField(
            model_name="purchaseitem",
            name="batch_number",
            field=models.CharField(blank=True, max_length=100),
        ),
        migrations.AddField(
            model_name="purchaseitem",
            name="manufacture_date",
            field=models.DateField(blank=True, null=True),
        ),
    ]
