add contract models and register this models admin panel
This commit is contained in:
116
core/apps/contracts/migrations/0001_initial.py
Normal file
116
core/apps/contracts/migrations/0001_initial.py
Normal file
@@ -0,0 +1,116 @@
|
||||
# Generated by Django 5.2 on 2025-07-15 15:55
|
||||
|
||||
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')], 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)),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contracts', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
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',
|
||||
},
|
||||
),
|
||||
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')], max_length=20)),
|
||||
('signature_type', models.CharField(choices=[('sms_sign', 'sms signature'), ('electronic_sing', 'electronic signature')], max_length=20)),
|
||||
('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',
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user