# Generated by Django 6.0.4 on 2026-07-17 03:25

import apps.projects.models
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('projects', '0021_alter_projectlog_log_type_paymentrequestform'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.RemoveField(
            model_name='paymentrequestform',
            name='attachment_checklist',
        ),
        migrations.CreateModel(
            name='PRFAttachment',
            fields=[
                ('id', models.UUIDField(default=apps.projects.models.uuid7, editable=False, primary_key=True, serialize=False)),
                ('slug', models.CharField(choices=[('approved_budget', 'approved_budget'), ('tor_activity_plan', 'tor_activity_plan'), ('purchase_request', 'purchase_request'), ('purchase_order', 'purchase_order'), ('kontrak_spk', 'kontrak_spk'), ('invoice', 'invoice'), ('quotation', 'quotation'), ('berita_acara', 'berita_acara'), ('kwitansi', 'kwitansi'), ('attendance_list', 'attendance_list'), ('bukti_pajak', 'bukti_pajak'), ('dokumen_lain', 'dokumen_lain')], max_length=30)),
                ('file', models.FileField(upload_to='prf_attachments/%Y/%m/', validators=[apps.projects.models.validate_prf_attachment])),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('prf', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='projects.paymentrequestform')),
                ('uploaded_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'project_prf_attachments',
                'ordering': ['slug'],
                'constraints': [models.UniqueConstraint(fields=('prf', 'slug'), name='unique_prf_attachment_slug')],
            },
        ),
    ]
