feat: add customer fields for auto evaluation model #143

Merged
xoliqberdiyev merged 1 commits from behruz into main 2026-05-06 11:15:09 +00:00
4 changed files with 140 additions and 2 deletions

View File

@@ -0,0 +1,56 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("evaluation", "0047_auto_full_empty_weight"),
]
operations = [
migrations.AddField(
model_name="autoevaluationmodel",
name="customer_type",
field=models.IntegerField(
blank=True,
choices=[(1, "Jismoniy shaxs"), (2, "Yuridik shaxs")],
null=True,
verbose_name="customer type",
),
),
migrations.AddField(
model_name="autoevaluationmodel",
name="customer_individual_person_f_name",
field=models.CharField(blank=True, max_length=100, null=True, verbose_name="customer first name"),
),
migrations.AddField(
model_name="autoevaluationmodel",
name="customer_individual_person_l_name",
field=models.CharField(blank=True, max_length=100, null=True, verbose_name="customer last name"),
),
migrations.AddField(
model_name="autoevaluationmodel",
name="customer_individual_person_p_name",
field=models.CharField(blank=True, max_length=100, null=True, verbose_name="customer patronymic"),
),
migrations.AddField(
model_name="autoevaluationmodel",
name="customer_individual_person_passport_num",
field=models.CharField(blank=True, max_length=20, null=True, verbose_name="customer passport number"),
),
migrations.AddField(
model_name="autoevaluationmodel",
name="customer_legal_entity",
field=models.CharField(blank=True, max_length=255, null=True, verbose_name="customer legal entity name"),
),
migrations.AddField(
model_name="autoevaluationmodel",
name="customer_legal_inn",
field=models.CharField(blank=True, max_length=20, null=True, verbose_name="customer legal entity INN"),
),
migrations.AddField(
model_name="autoevaluationmodel",
name="customer_residence",
field=models.CharField(blank=True, max_length=255, null=True, verbose_name="customer residence"),
),
]

View File

@@ -200,6 +200,56 @@ class AutoEvaluationModel(AbstractBaseModel):
related_name='evaluation_auto_rate_type' related_name='evaluation_auto_rate_type'
) )
# ── Step 3 — Buyurtmachi ma'lumotlari ────────────────────────────
customer_type = models.IntegerField(
verbose_name=_("customer type"),
choices=ObjectOwnerType.choices,
blank=True,
null=True,
)
customer_individual_person_f_name = models.CharField(
verbose_name=_("customer first name"),
max_length=100,
blank=True,
null=True,
)
customer_individual_person_l_name = models.CharField(
verbose_name=_("customer last name"),
max_length=100,
blank=True,
null=True,
)
customer_individual_person_p_name = models.CharField(
verbose_name=_("customer patronymic"),
max_length=100,
blank=True,
null=True,
)
customer_individual_person_passport_num = models.CharField(
verbose_name=_("customer passport number"),
max_length=20,
blank=True,
null=True,
)
customer_legal_entity = models.CharField(
verbose_name=_("customer legal entity name"),
max_length=255,
blank=True,
null=True,
)
customer_legal_inn = models.CharField(
verbose_name=_("customer legal entity INN"),
max_length=20,
blank=True,
null=True,
)
customer_residence = models.CharField(
verbose_name=_("customer residence"),
max_length=255,
blank=True,
null=True,
)
# ── Step 4 — Avtomobil ma'lumotlari ───────────────────────────── # ── Step 4 — Avtomobil ma'lumotlari ─────────────────────────────
tex_passport_serie_num = models.CharField( tex_passport_serie_num = models.CharField(
verbose_name=_("tech passport series and number"), verbose_name=_("tech passport series and number"),

View File

@@ -62,6 +62,14 @@ class BaseAutoevaluationSerializer(serializers.ModelSerializer):
"object_owner_legal_entity", "object_owner_legal_entity",
"object_owner_legal_inn", "object_owner_legal_inn",
"object_owner_residence", "object_owner_residence",
"customer_type",
"customer_individual_person_f_name",
"customer_individual_person_l_name",
"customer_individual_person_p_name",
"customer_individual_person_passport_num",
"customer_legal_entity",
"customer_legal_inn",
"customer_residence",
"tex_passport_serie_num", "tex_passport_serie_num",
"tex_passport_files", "tex_passport_files",
"rating_goal", "rating_goal",
@@ -201,6 +209,14 @@ class UpdateAutoevaluationSerializer(serializers.ModelSerializer):
"object_owner_legal_entity", "object_owner_legal_entity",
"object_owner_legal_inn", "object_owner_legal_inn",
"object_owner_residence", "object_owner_residence",
"customer_type",
"customer_individual_person_f_name",
"customer_individual_person_l_name",
"customer_individual_person_p_name",
"customer_individual_person_passport_num",
"customer_legal_entity",
"customer_legal_inn",
"customer_residence",
"value_determined", "value_determined",
"rate_type", "rate_type",
"assessment_task_type", "assessment_task_type",
@@ -350,6 +366,14 @@ class CreateAutoevaluationSerializer(serializers.ModelSerializer):
"object_owner_legal_entity", "object_owner_legal_entity",
"object_owner_legal_inn", "object_owner_legal_inn",
"object_owner_residence", "object_owner_residence",
"customer_type",
"customer_individual_person_f_name",
"customer_individual_person_l_name",
"customer_individual_person_p_name",
"customer_individual_person_passport_num",
"customer_legal_entity",
"customer_legal_inn",
"customer_residence",
"value_determined", "value_determined",
"rate_type", "rate_type",
"assessment_task_type", "assessment_task_type",
@@ -485,6 +509,14 @@ class AutoEvaluationModelSerializer(serializers.ModelSerializer):
"object_owner_legal_entity", "object_owner_legal_entity",
"object_owner_legal_inn", "object_owner_legal_inn",
"object_owner_residence", "object_owner_residence",
"customer_type",
"customer_individual_person_f_name",
"customer_individual_person_l_name",
"customer_individual_person_p_name",
"customer_individual_person_passport_num",
"customer_legal_entity",
"customer_legal_inn",
"customer_residence",
"value_determined", "value_determined",
"rate_type", "rate_type",
"assessment_task_type", "assessment_task_type",

View File

@@ -12,7 +12,7 @@ from core.services.didox import DidoxService
class DidoxCompanyInfoAPIView(GenericAPIView): class DidoxCompanyInfoAPIView(GenericAPIView):
authentication_classes = [] # authentication_classes = []
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
@extend_schema( @extend_schema(
@@ -44,7 +44,7 @@ class DidoxCompanyInfoAPIView(GenericAPIView):
if not data: if not data:
return Response( return Response(
{"detail": "Didox service unavailable"}, {"detail": "Didox service unavailable", "data": data},
status=status.HTTP_502_BAD_GATEWAY status=status.HTTP_502_BAD_GATEWAY
) )