64 lines
3.0 KiB
Python
64 lines
3.0 KiB
Python
# Generated by Django 5.2.17 on 2026-09-15 09:29
|
|
|
|
import django.db.models.deletion
|
|
import uuid
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('orders', '0001_initial'),
|
|
('workflows', '0001_initial'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='FinalReport',
|
|
fields=[
|
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
|
|
('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('data', models.JSONField(blank=True, default=dict)),
|
|
('generated_at', models.DateTimeField(auto_now_add=True)),
|
|
('order', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='final_report', to='orders.processingorder')),
|
|
],
|
|
options={
|
|
'abstract': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='ReportDefinition',
|
|
fields=[
|
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
|
|
('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('name', models.CharField(max_length=200)),
|
|
('active', models.BooleanField(default=True)),
|
|
('workflow', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='report_definitions', to='workflows.workflow')),
|
|
],
|
|
options={
|
|
'abstract': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='ReportField',
|
|
fields=[
|
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
|
|
('key', models.SlugField(max_length=100)),
|
|
('label', models.CharField(max_length=200)),
|
|
('field_type', models.CharField(choices=[('text', 'Text'), ('integer', 'Integer'), ('decimal', 'Decimal'), ('boolean', 'Boolean'), ('date', 'Date'), ('datetime', 'DateTime'), ('choice', 'Choice'), ('multichoice', 'Multi-choice'), ('measurement', 'Measurement'), ('percentage', 'Percentage'), ('weight', 'Weight'), ('file', 'File / image')], default='text', max_length=16)),
|
|
('required', models.BooleanField(default=False)),
|
|
('choices', models.JSONField(blank=True, default=list)),
|
|
('order', models.PositiveIntegerField(default=0)),
|
|
('definition', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='fields', to='reports.reportdefinition')),
|
|
],
|
|
options={
|
|
'ordering': ['order'],
|
|
'constraints': [models.UniqueConstraint(fields=('definition', 'key'), name='uniq_report_field_key')],
|
|
},
|
|
),
|
|
]
|