# Generated by Django 5.2 on 2025-07-16 14:45 import django.contrib.postgres.fields import django.db.models.deletion import uuid from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Contract', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('file', models.FileField(upload_to='contract/files/%Y/%m/')), ('contract_number', models.PositiveIntegerField()), ('name', models.CharField(max_length=200)), ('sides', models.CharField(choices=[('two_or_more', 'two or more'), ('customer_only', 'customer only'), ('only_company', 'onlycompany')], max_length=13)), ('status', models.CharField(choices=[('created', 'created'), ('signed_company', 'signed by company'), ('signed_customer', 'signed by customer'), ('cancelled', 'cancelled')], default='created', max_length=15)), ('face_id', models.BooleanField(default=False)), ('attach_file', models.BooleanField(default=False)), ('add_folder', models.BooleanField(default=False)), ('add_notification', models.BooleanField(default=False)), ], options={ 'verbose_name': 'contract', 'verbose_name_plural': 'contracts', 'db_table': 'contracts', }, ), migrations.CreateModel( name='ContractFile', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('name', models.CharField(max_length=150)), ('file_type', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(choices=[('all_files', 'all files'), ('PDF', 'pdf'), ('word_files', 'word files'), ('image', 'image')], max_length=10), blank=True, default=list, size=None)), ('user_permission', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(choices=[('all', 'all'), ('add', 'add'), ('delete', 'delete')], max_length=10), blank=True, default=list, size=None)), ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contract_files', to='contracts.contract')), ], options={ 'verbose_name': 'contract file', 'verbose_name_plural': 'contract files', 'db_table': 'contract_files', }, ), migrations.CreateModel( name='ContractNotification', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('notification_event', models.CharField(choices=[('exact_date', 'exact date'), ('counterparty_signing', 'counterparty signing'), ('signature_all_parties', 'Signature of all parties')], max_length=24)), ('type_notification', models.CharField(choices=[('sms', 'sms'), ('whatsup', 'whatsup')], max_length=8)), ('type_message', models.CharField(blank=True, choices=[('krill', 'krill'), ('latin', 'latin')], max_length=8, null=True)), ('message', models.CharField(max_length=160)), ('time', models.TimeField(blank=True, null=True)), ('date', models.DateField(blank=True, null=True)), ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contract_notifications', to='contracts.contract')), ], options={ 'verbose_name': 'contract notification', 'verbose_name_plural': 'contract notifications', 'db_table': 'contract_notifications', }, ), migrations.CreateModel( name='ContractSide', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('full_name', models.CharField(max_length=70)), ('indentification', models.CharField(max_length=20)), ('position', models.CharField(blank=True, max_length=50, null=True)), ('has_indentification', models.BooleanField(default=False)), ('user_role', models.CharField(choices=[('physical', 'physical'), ('legal', 'legal')], max_length=9)), ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contract_sides', to='contracts.contract')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contract_sides', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'contract side', 'verbose_name_plural': 'contract sides', 'db_table': 'contracts_sides', 'unique_together': {('contract', 'user')}, }, ), migrations.CreateModel( name='ContractSignature', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('status', models.CharField(choices=[('signed', 'signed'), ('organized', 'organized')], default='organized', max_length=20)), ('signature_type', models.CharField(blank=True, choices=[('sms_sign', 'sms signature'), ('electronic_sing', 'electronic signature')], max_length=20, null=True)), ('is_signature', models.BooleanField(default=False)), ('contract', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contract_signatures', to='contracts.contract')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contract_users', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'contract signatures', 'db_table': 'contract_signatures', 'unique_together': {('contract', 'user')}, }, ), ]