Merge pull request 'feat: removing location fields from auto-evalutaion model, adding new tex_passport_file field for auto-evalutaion model' (#79) from behruz into main
All checks were successful
Deploy to Production / build-and-deploy (push) Successful in 2m0s

Reviewed-on: #79
This commit is contained in:
2026-04-21 10:28:22 +00:00
5 changed files with 72 additions and 101 deletions

View File

@@ -50,15 +50,8 @@ class AutoEvaluationAdmin(ModelAdmin):
("value_determined", "rate_type"),
),
}),
("Step 3 — Manzil ma'lumotlari", {
"fields": (
("object_location_province", "object_location_district"),
("object_location_city", "object_location_neighborhood"),
("object_location_street", "object_location_home"),
("object_location_highways", "object_location_covenience"),
),
}),
("Step 4 — Avtomobil ma'lumotlari", {
("Step 3 — Avtomobil ma'lumotlari", {
"fields": (
"tex_passport_serie_num",
("tex_passport_gived_date", "tex_passport_gived_location"),

View File

@@ -0,0 +1,54 @@
# Generated by Django 5.2.7 on 2026-04-21 10:22
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('evaluation', '0030_autoevaluationmodel_evaluation_request'),
]
operations = [
migrations.RemoveField(
model_name='autoevaluationmodel',
name='object_location_city',
),
migrations.RemoveField(
model_name='autoevaluationmodel',
name='object_location_covenience',
),
migrations.RemoveField(
model_name='autoevaluationmodel',
name='object_location_district',
),
migrations.RemoveField(
model_name='autoevaluationmodel',
name='object_location_highways',
),
migrations.RemoveField(
model_name='autoevaluationmodel',
name='object_location_home',
),
migrations.RemoveField(
model_name='autoevaluationmodel',
name='object_location_neighborhood',
),
migrations.RemoveField(
model_name='autoevaluationmodel',
name='object_location_province',
),
migrations.RemoveField(
model_name='autoevaluationmodel',
name='object_location_street',
),
migrations.RemoveField(
model_name='quickevaluationmodel',
name='tex_passport_file',
),
migrations.AddField(
model_name='autoevaluationmodel',
name='tex_passport_file',
field=models.FileField(blank=True, null=True, upload_to='quick_evaluation/tech_passports/%Y/%m/', verbose_name='tech passport file'),
),
]

View File

@@ -62,6 +62,13 @@ class AutoEvaluationModel(AbstractBaseModel):
null=True,
)
tex_passport_file = models.FileField(
verbose_name=_("tech passport file"),
upload_to="quick_evaluation/tech_passports/%Y/%m/",
blank=True,
null=True,
)
# ── Step 1 — Umumiy ma'lumotlar ──────────────────────────────────
registration_number = models.CharField(
verbose_name=_("registration number"),
@@ -180,56 +187,6 @@ class AutoEvaluationModel(AbstractBaseModel):
related_name='evaluation_auto_rate_type'
)
# ── Step 3 — Manzil ma'lumotlari ────────────────────────────────
object_location_province = models.CharField(
verbose_name=_("object location province"),
max_length=100,
blank=True,
null=True,
)
object_location_district = models.CharField(
verbose_name=_("object location district"),
max_length=100,
blank=True,
null=True,
)
object_location_city = models.CharField(
verbose_name=_("object location city"),
max_length=100,
blank=True,
null=True,
)
object_location_neighborhood = models.CharField(
verbose_name=_("object location neighborhood"),
max_length=100,
blank=True,
null=True,
)
object_location_street = models.CharField(
verbose_name=_("object location street"),
max_length=100,
blank=True,
null=True,
)
object_location_home = models.CharField(
verbose_name=_("object location home"),
max_length=50,
blank=True,
null=True,
)
object_location_highways = models.IntegerField(
verbose_name=_("location highways"),
choices=LocationHighways.choices,
blank=True,
null=True,
)
object_location_covenience = models.IntegerField(
verbose_name=_("location convenience"),
choices=LocationConvenience.choices,
blank=True,
null=True,
)
# ── Step 4 — Avtomobil ma'lumotlari ─────────────────────────────
tex_passport_serie_num = models.CharField(
verbose_name=_("tech passport series and number"),

View File

@@ -34,12 +34,6 @@ class QuickEvaluationModel(AbstractBaseModel):
blank=True,
null=True,
)
tex_passport_file = models.FileField(
verbose_name=_("tech passport file"),
upload_to="quick_evaluation/tech_passports/%Y/%m/",
blank=True,
null=True,
)
# Car info
car_type = models.CharField(

View File

@@ -34,7 +34,6 @@ class BaseAutoevaluationSerializer(serializers.ModelSerializer):
"object_owner_legal_inn",
"tex_passport_serie_num",
"rating_goal",
"object_location_province",
"registration_number",
"object_type",
"object_type_display",
@@ -73,12 +72,12 @@ class ListAutoevaluationSerializer(BaseAutoevaluationSerializer):
class RetrieveAutoevaluationSerializer(BaseAutoevaluationSerializer):
car_type_display = serializers.CharField(source="get_car_type_display", read_only=True, default=None)
car_wheel_display = serializers.CharField(source="get_car_wheel_display", read_only=True, default=None)
object_location_highways_display = serializers.CharField(
source="get_object_location_highways_display", read_only=True, default=None
)
object_location_covenience_display = serializers.CharField(
source="get_object_location_covenience_display", read_only=True, default=None
)
# object_location_highways_display = serializers.CharField(
# source="get_object_location_highways_display", read_only=True, default=None
# )
# object_location_covenience_display = serializers.CharField(
# source="get_object_location_covenience_display", read_only=True, default=None
# )
class Meta(BaseAutoevaluationSerializer.Meta):
fields = BaseAutoevaluationSerializer.Meta.fields + [
@@ -97,19 +96,9 @@ class RetrieveAutoevaluationSerializer(BaseAutoevaluationSerializer):
"object_owner_individual_person_passport_num",
"object_owner_legal_entity",
"object_owner_legal_inn",
# Step 3
"object_location_province",
"object_location_district",
"object_location_city",
"object_location_neighborhood",
"object_location_street",
"object_location_home",
"object_location_highways",
"object_location_highways_display",
"object_location_covenience",
"object_location_covenience_display",
# Step 4
"tex_passport_serie_num",
"tex_passport_file",
"tex_passport_gived_date",
"tex_passport_gived_location",
"car_type",
@@ -176,16 +165,8 @@ class UpdateAutoevaluationSerializer(serializers.ModelSerializer):
"form_ownership",
"value_determined",
"rate_type",
# Step 3
"object_location_province",
"object_location_district",
"object_location_city",
"object_location_neighborhood",
"object_location_street",
"object_location_home",
"object_location_highways",
"object_location_covenience",
# Step 4
"tex_passport_file",
"tex_passport_serie_num",
"tex_passport_gived_date",
"tex_passport_gived_location",
@@ -298,17 +279,9 @@ class CreateAutoevaluationSerializer(serializers.ModelSerializer):
"form_ownership",
"value_determined",
"rate_type",
# Step 3
"object_location_province",
"object_location_district",
"object_location_city",
"object_location_neighborhood",
"object_location_street",
"object_location_home",
"object_location_highways",
"object_location_covenience",
# Step 4
"tex_passport_serie_num",
"tex_passport_file",
"tex_passport_gived_date",
"tex_passport_gived_location",
"car_type",