feat: wire contract PDF context and align MechanicAuto with AutoEvaluation
- contract PDF: map report/customer/owner/contract from AutoEvaluationModel fields, accept inspection via POST serializer, fetch CBU.uz currency rates - MechanicAutoEvaluation: add distance_covered, object_owner_residence and car_position/body_type/fuel_type/state_car/assessment_task_type FKs; drop car_type and single tex_passport_file in favour of multi-file FK model Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("evaluation", "0045_alter_referenceitemmodel_type"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name="mechanicautoevaluationmodel",
|
||||
name="car_type",
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name="mechanicautoevaluationmodel",
|
||||
name="tex_passport_file",
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="mechanicautoevaluationmodel",
|
||||
name="distance_covered",
|
||||
field=models.PositiveIntegerField(blank=True, null=True, verbose_name="distance covered"),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="mechanicautoevaluationmodel",
|
||||
name="object_owner_residence",
|
||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name="object owner residence"),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="mechanicautoevaluationmodel",
|
||||
name="car_position",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="evaluation_mechanic_auto_car_position",
|
||||
to="evaluation.referenceitemmodel",
|
||||
verbose_name="car position",
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="mechanicautoevaluationmodel",
|
||||
name="body_type",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="evaluation_mechanic_auto_body_type",
|
||||
to="evaluation.referenceitemmodel",
|
||||
verbose_name="body type",
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="mechanicautoevaluationmodel",
|
||||
name="fuel_type",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="evaluation_mechanic_auto_fuel_type",
|
||||
to="evaluation.referenceitemmodel",
|
||||
verbose_name="fuel type",
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="mechanicautoevaluationmodel",
|
||||
name="state_car",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="evaluation_mechanic_auto_state_car",
|
||||
to="evaluation.referenceitemmodel",
|
||||
verbose_name="state car",
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="mechanicautoevaluationmodel",
|
||||
name="assessment_task_type",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="evaluation_mechanic_auto_assessment_task_type",
|
||||
to="evaluation.referenceitemmodel",
|
||||
verbose_name="assessment task type",
|
||||
),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="MechanicAutoEvaluationTexPassportFile",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"file",
|
||||
models.FileField(
|
||||
upload_to="mechanic_evaluation/tech_passports/%Y/%m/",
|
||||
verbose_name="tech passport file",
|
||||
),
|
||||
),
|
||||
(
|
||||
"mechanic_auto_evaluation",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="tex_passport_files",
|
||||
to="evaluation.mechanicautoevaluationmodel",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Mechanic Auto Evaluation Tex Passport File",
|
||||
"verbose_name_plural": "Mechanic Auto Evaluation Tex Passport Files",
|
||||
"db_table": "MechanicAutoEvaluationTexPassportFile",
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user