Mulk shakli uchun api kerak va Mulk egalik huquqi uchun api kerak olish uchun api chiqarildi #32

Merged
husanjon merged 1 commits from feat/property-references-api into main 2026-03-18 09:12:13 +00:00
5 changed files with 64 additions and 0 deletions
Showing only changes of commit f13f1eb16f - Show all commits

View File

@@ -12,3 +12,5 @@ class ReferenceType(models.TextChoices):
STATE_CAR = "state_car", _("Car state")
EVALUATION_PURPOSE = "evaluation_purpose", _("Evaluation purpose")
DETERMINED_VALUE = "determined_value", _("Determined value type")
PROPERTY_RIGHTS = "property_rights", _("Property rights")
OWNERSHIP_FORM = "ownership_form", _("Ownership form")

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.2.7 on 2026-03-18 08:20
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('evaluation', '0021_alter_referenceitemmodel_type'),
]
operations = [
migrations.AlterField(
model_name='referenceitemmodel',
name='type',
field=models.CharField(choices=[('brand', 'Brand'), ('marka', 'Marka'), ('color', 'Color'), ('fuel_type', 'Fuel type'), ('body_type', 'Body type'), ('car_position', 'Car position'), ('state_car', 'Car state'), ('evaluation_purpose', 'Evaluation purpose'), ('determined_value', 'Determined value type'), ('property_rights', 'Property rights'), ('ownership_form', 'Ownership form')], max_length=50, verbose_name='type'),
),
]

View File

@@ -64,3 +64,12 @@ class DeterminedValueSerializer(serializers.ModelSerializer):
class Meta:
model = ReferenceitemModel
fields = ["label", "value"]
class LabelValueSerializer(serializers.ModelSerializer):
label = serializers.CharField(source="name")
value = serializers.IntegerField(source="id")
class Meta:
model = ReferenceitemModel
fields = ["label", "value"]

View File

@@ -16,11 +16,15 @@ from .views import (
VehicleView,
EvaluationPurposeView,
DeterminedValueView,
PropertyRightsView,
OwnershipFormView,
)
router = DefaultRouter()
router.register("determined-value", DeterminedValueView, basename="determined-value")
router.register("evaluation-purpose", EvaluationPurposeView, basename="evaluation-purpose")
router.register("property-rights", PropertyRightsView, basename="property-rights")
router.register("ownership-form", OwnershipFormView, basename="ownership-form")
router.register("evaluation-request", EvaluationrequestView, basename="evaluation-request")
router.register("reference-item", ReferenceitemView, basename="reference-item")
router.register("valuation-document", ValuationDocumentView, basename="valuation-document")

View File

@@ -13,6 +13,7 @@ from core.apps.evaluation.serializers.reference import (
RetrieveReferenceitemSerializer,
EvaluationPurposeSerializer,
DeterminedValueSerializer,
LabelValueSerializer,
)
@@ -46,6 +47,36 @@ class DeterminedValueView(BaseViewSetMixin, ReadOnlyModelViewSet):
ordering = ["order", "name"]
@extend_schema(tags=["PropertyRights"])
class PropertyRightsView(BaseViewSetMixin, ReadOnlyModelViewSet):
queryset = ReferenceitemModel.objects.filter(
type="property_rights", is_active=True
).order_by("order", "name")
serializer_class = LabelValueSerializer
permission_classes = [AllowAny]
pagination_class = None
filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]
search_fields = ["name"]
ordering_fields = ["name", "order"]
ordering = ["order", "name"]
@extend_schema(tags=["OwnershipForm"])
class OwnershipFormView(BaseViewSetMixin, ReadOnlyModelViewSet):
queryset = ReferenceitemModel.objects.filter(
type="ownership_form", is_active=True
).order_by("order", "name")
serializer_class = LabelValueSerializer
permission_classes = [AllowAny]
pagination_class = None
filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]
search_fields = ["name"]
ordering_fields = ["name", "order"]
ordering = ["order", "name"]
@extend_schema(tags=["ReferenceItem"])
class ReferenceitemView(BaseViewSetMixin, ReadOnlyModelViewSet):
queryset = ReferenceitemModel.objects.select_related("parent").filter(is_active=True)