Add initial implementations for forms and organization apps with serializers, factories, and admin configurations
Some checks failed
CI/CD Pipeline / Run Tests (push) Failing after 45s
CI/CD Pipeline / Code Quality Checks (push) Failing after 48s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
CI/CD Pipeline / Deploy to Server (push) Has been skipped
Some checks failed
CI/CD Pipeline / Run Tests (push) Failing after 45s
CI/CD Pipeline / Code Quality Checks (push) Failing after 48s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
CI/CD Pipeline / Deploy to Server (push) Has been skipped
This commit is contained in:
@@ -7,12 +7,33 @@
|
||||
"""
|
||||
|
||||
from apps.organization.models import Organization
|
||||
from apps.registers.models import Register
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class OrganizationRegisterSerializer(serializers.ModelSerializer):
|
||||
"""Краткий сериализатор активного реестра организации."""
|
||||
|
||||
class Meta:
|
||||
model = Register
|
||||
fields = ["id", "name"]
|
||||
read_only_fields = fields
|
||||
|
||||
|
||||
class OrganizationSerializer(serializers.ModelSerializer):
|
||||
"""Полный сериализатор организации."""
|
||||
|
||||
active_registry_names = serializers.SerializerMethodField()
|
||||
active_registries = serializers.SerializerMethodField()
|
||||
|
||||
@staticmethod
|
||||
def get_active_registry_names(obj: Organization) -> list[str]:
|
||||
return obj.get_active_registry_names()
|
||||
|
||||
@staticmethod
|
||||
def get_active_registries(obj: Organization) -> list[dict[str, str]]:
|
||||
return OrganizationRegisterSerializer(obj.get_active_registries(), many=True).data
|
||||
|
||||
class Meta:
|
||||
model = Organization
|
||||
fields = [
|
||||
@@ -22,6 +43,8 @@ class OrganizationSerializer(serializers.ModelSerializer):
|
||||
"ogrn",
|
||||
"kpp",
|
||||
"okpo",
|
||||
"active_registry_names",
|
||||
"active_registries",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
]
|
||||
@@ -31,6 +54,12 @@ class OrganizationSerializer(serializers.ModelSerializer):
|
||||
class OrganizationListSerializer(serializers.ModelSerializer):
|
||||
"""Краткий сериализатор для списков."""
|
||||
|
||||
active_registry_names = serializers.SerializerMethodField()
|
||||
|
||||
@staticmethod
|
||||
def get_active_registry_names(obj: Organization) -> list[str]:
|
||||
return obj.get_active_registry_names()
|
||||
|
||||
class Meta:
|
||||
model = Organization
|
||||
fields = [
|
||||
@@ -38,4 +67,5 @@ class OrganizationListSerializer(serializers.ModelSerializer):
|
||||
"name",
|
||||
"inn",
|
||||
"ogrn",
|
||||
"active_registry_names",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user