diff --git a/apps/organization/views.py b/apps/organization/views.py index a6b331d..b2d0c29 100644 --- a/apps/organization/views.py +++ b/apps/organization/views.py @@ -9,7 +9,9 @@ from apps.organization.serializers import OrganizationSerializer from apps.organization.services import get_owner_name_query_set from apps.organization_setting.models import OrganizationSetting -from apps.organization_setting.serializers import OrganizationSettingSerializer +from apps.organization_setting.serializers import ( + OrganizationSettingsWithCustomPagesSerializer, +) from utils.views import OrganizationRetrieveAPIView @@ -80,7 +82,7 @@ def get(self, request, slug_name): { "result": result, "template": organization.template, - "setting": OrganizationSettingSerializer(setting).data + "setting": OrganizationSettingsWithCustomPagesSerializer(setting).data if setting else None, }, diff --git a/apps/organization_setting/serializers.py b/apps/organization_setting/serializers.py index 928a54f..ab4b94a 100644 --- a/apps/organization_setting/serializers.py +++ b/apps/organization_setting/serializers.py @@ -59,7 +59,7 @@ class Meta: } -class OrganizationConfigSerializer(OrganizationSettingSerializer): +class OrganizationSettingsExpandedSerializer(OrganizationSettingSerializer): custom_pages = CustomPageSerializer( source="organization.organization_custom_page", many=True, @@ -78,6 +78,19 @@ class Meta(OrganizationSettingSerializer.Meta): ] +class OrganizationSettingsWithCustomPagesSerializer(OrganizationSettingSerializer): + custom_pages = CustomPageSerializer( + source="organization.organization_custom_page", + many=True, + read_only=True, + ) + + class Meta(OrganizationSettingSerializer.Meta): + fields = OrganizationSettingSerializer.Meta.fields + [ + "custom_pages", + ] + + class UpdateOrganizationSettingSerializer(serializers.Serializer): id = serializers.UUIDField(read_only=True) site_title = serializers.CharField(required=False, allow_blank=True) diff --git a/apps/organization_setting/views.py b/apps/organization_setting/views.py index 16c13c7..54fcf40 100644 --- a/apps/organization_setting/views.py +++ b/apps/organization_setting/views.py @@ -5,7 +5,7 @@ from apps.organization.models import Organization from apps.organization_setting.models import OrganizationSetting from apps.organization_setting.serializers import ( - OrganizationConfigSerializer, + OrganizationSettingsExpandedSerializer, UpdateOrganizationSettingSerializer, ) @@ -39,7 +39,7 @@ def update(self, request, *args, **kwargs): serializer.is_valid(raise_exception=True) updated_instance = serializer.save() fresh_instance = self.get_queryset().get(pk=updated_instance.pk) - response_serializer = OrganizationConfigSerializer( + response_serializer = OrganizationSettingsExpandedSerializer( fresh_instance, context=self.get_serializer_context(), )