# Generated by Django 5.2.15 on 2026-07-06 13:50

import apps.core.storage.paths
import apps.core.storage.validators
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ("rims_grants", "0050_application_psychometric_recorded_at_and_more"),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.AddField(
            model_name="awardcloseoutrecord",
            name="approval_status",
            field=models.CharField(
                choices=[
                    ("draft", "Draft"),
                    ("pending_approval", "Pending Programme Director approval"),
                    ("rejected", "Returned by Programme Director"),
                    ("approved", "Approved"),
                ],
                db_index=True,
                default="draft",
                max_length=20,
            ),
        ),
        migrations.AddField(
            model_name="awardcloseoutrecord",
            name="pd_decided_at",
            field=models.DateTimeField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name="awardcloseoutrecord",
            name="pd_decided_by",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="closeouts_pd_decided",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AddField(
            model_name="awardcloseoutrecord",
            name="pd_rejection_reason",
            field=models.TextField(blank=True),
        ),
        migrations.AddField(
            model_name="awardcloseoutrecord",
            name="submitted_at",
            field=models.DateTimeField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name="awardcloseoutrecord",
            name="submitted_by",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="closeouts_submitted",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AddField(
            model_name="fundingrecordcloseout",
            name="pd_decided_at",
            field=models.DateTimeField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name="fundingrecordcloseout",
            name="pd_decided_by",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="funding_closeouts_pd_decided",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AddField(
            model_name="fundingrecordcloseout",
            name="pd_rejection_reason",
            field=models.TextField(blank=True),
        ),
        migrations.AlterField(
            model_name="finalfinancialreport",
            name="report",
            field=models.FileField(
                blank=True,
                null=True,
                upload_to=apps.core.storage.paths.upload_to_grants,
                validators=[
                    apps.core.storage.validators.FileValidator(
                        allowed_categories=["document", "data", "archive"], module="rims"
                    )
                ],
            ),
        ),
        migrations.AlterField(
            model_name="finalnarrativereport",
            name="report",
            field=models.FileField(
                blank=True,
                null=True,
                upload_to=apps.core.storage.paths.upload_to_grants,
                validators=[
                    apps.core.storage.validators.FileValidator(
                        allowed_categories=["document", "data", "archive"], module="rims"
                    )
                ],
            ),
        ),
    ]
