Files
eimzo/core/apps/contracts/migrations/0001_initial.py
2025-07-17 14:49:06 +05:00

98 lines
5.4 KiB
Python

# Generated by Django 5.2 on 2025-07-17 14:48
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'), ('contract_signed', 'contract signed'), ('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)),
('company', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='c', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'contract',
'verbose_name_plural': 'contracts',
'db_table': 'contracts',
},
),
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')),
('contract_side', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='contract_signatures', to='contracts.contractside')),
],
options={
'verbose_name': 'contract signature',
'verbose_name_plural': 'contract signatures',
'db_table': 'contract_signatures',
'unique_together': {('contract', 'contract_side')},
},
),
migrations.CreateModel(
name='ContractSignatureCode',
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)),
('code', models.PositiveSmallIntegerField()),
('expiration_time', models.DateTimeField()),
('signature', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='signature_codes', to='contracts.contractsignature')),
],
options={
'verbose_name': 'contract signature code',
'verbose_name_plural': 'contract signature codes',
'db_table': 'contract_signature_codes',
},
),
]