diff --git a/apps/account/serializers/back.py b/apps/account/serializers/back.py index 4b9787d1..18cf4ae9 100644 --- a/apps/account/serializers/back.py +++ b/apps/account/serializers/back.py @@ -1,9 +1,10 @@ """Back account serializers""" from rest_framework import serializers + from account import models from account.models import User +from account.serializers import RoleBaseSerializer from main.models import SiteSettings -# from account.serializers.common import RoleBaseSerializer class _SiteSettingsSerializer(serializers.ModelSerializer): @@ -18,7 +19,7 @@ class _SiteSettingsSerializer(serializers.ModelSerializer): class BackUserSerializer(serializers.ModelSerializer): last_country = _SiteSettingsSerializer(read_only=True) - # roles = RoleBaseSerializer(many=True, read_only=True) + roles = RoleBaseSerializer(many=True, read_only=True) class Meta: model = User diff --git a/apps/account/serializers/common.py b/apps/account/serializers/common.py index a3347b46..d9df65e8 100644 --- a/apps/account/serializers/common.py +++ b/apps/account/serializers/common.py @@ -8,13 +8,12 @@ from rest_framework import serializers from rest_framework import validators as rest_validators from account import models, tasks +from main.serializers.common import NavigationBarPermissionBaseSerializer from notification.models import Subscriber from utils import exceptions as utils_exceptions from utils import methods as utils_methods -from main.serializers import NavigationBarPermissionBaseSerializer -# User serializers class RoleBaseSerializer(serializers.ModelSerializer): """Serializer for model Role.""" role_display = serializers.CharField(source='get_role_display', read_only=True) @@ -100,12 +99,12 @@ class UserSerializer(serializers.ModelSerializer): tasks.change_email_address.delay( user_id=instance.id, country_code=self.context.get('request').country_code, - emails=[validated_data['email'],]) + emails=[validated_data['email'], ]) else: tasks.change_email_address( user_id=instance.id, country_code=self.context.get('request').country_code, - emails=[validated_data['email'],]) + emails=[validated_data['email'], ]) return instance @@ -232,6 +231,7 @@ class ChangeEmailSerializer(serializers.ModelSerializer): # Firebase Cloud Messaging serializers class FCMDeviceSerializer(serializers.ModelSerializer): """FCM Device model serializer""" + class Meta: model = FCMDevice fields = ('id', 'name', 'registration_id', 'device_id', @@ -251,8 +251,8 @@ class FCMDeviceSerializer(serializers.ModelSerializer): def __init__(self, *args, **kwargs): super(FCMDeviceSerializer, self).__init__(*args, **kwargs) self.fields['type'].help_text = ( - 'Should be one of ["%s"]' % - '", "'.join([i for i in self.fields['type'].choices])) + 'Should be one of ["%s"]' % + '", "'.join([i for i in self.fields['type'].choices])) def create(self, validated_data): user = self.context['request'].user diff --git a/apps/main/serializers/__init__.py b/apps/main/serializers/__init__.py new file mode 100644 index 00000000..ffc04a8d --- /dev/null +++ b/apps/main/serializers/__init__.py @@ -0,0 +1 @@ +from main.serializers.common import * diff --git a/apps/main/serializers/back.py b/apps/main/serializers/back.py new file mode 100644 index 00000000..58221fc0 --- /dev/null +++ b/apps/main/serializers/back.py @@ -0,0 +1,29 @@ +from rest_framework import serializers + +from account.models import User +from account.serializers import BackUserSerializer +from main import models + + +class PanelSerializer(serializers.ModelSerializer): + """Serializer for Custom panel.""" + user_id = serializers.PrimaryKeyRelatedField( + queryset=User.objects.all(), + source='user', + write_only=True + ) + user = BackUserSerializer(read_only=True) + + class Meta: + model = models.Panel + fields = [ + 'id', + 'name', + 'display', + 'description', + 'query', + 'created', + 'modified', + 'user', + 'user_id' + ] diff --git a/apps/main/serializers.py b/apps/main/serializers/common.py similarity index 93% rename from apps/main/serializers.py rename to apps/main/serializers/common.py index afb77aa8..a954c649 100644 --- a/apps/main/serializers.py +++ b/apps/main/serializers/common.py @@ -2,8 +2,6 @@ from django.contrib.contenttypes.models import ContentType from rest_framework import serializers -from account.models import User -from account.serializers.back import BackUserSerializer from location.serializers import CountrySerializer from main import models from tag.serializers import TagBackOfficeSerializer @@ -314,30 +312,6 @@ class ContentTypeBackSerializer(serializers.ModelSerializer): fields = '__all__' -class PanelSerializer(serializers.ModelSerializer): - """Serializer for Custom panel.""" - user_id = serializers.PrimaryKeyRelatedField( - queryset=User.objects.all(), - source='user', - write_only=True - ) - user = BackUserSerializer(read_only=True) - - class Meta: - model = models.Panel - fields = [ - 'id', - 'name', - 'display', - 'description', - 'query', - 'created', - 'modified', - 'user', - 'user_id' - ] - - class PanelExecuteSerializer(serializers.ModelSerializer): """Panel execute serializer.""" diff --git a/apps/main/views/back.py b/apps/main/views/back.py index b17a692c..a8974721 100644 --- a/apps/main/views/back.py +++ b/apps/main/views/back.py @@ -6,6 +6,7 @@ from rest_framework.generics import get_object_or_404 from rest_framework.response import Response from main import serializers +from main.serializers.back import PanelSerializer from main import tasks from main.filters import AwardFilter from main.models import Award, Footer, PageType, Panel, SiteFeature, Feature @@ -108,7 +109,7 @@ class PanelsListCreateView(generics.ListCreateAPIView): permission_classes = ( permissions.IsAdminUser, ) - serializer_class = serializers.PanelSerializer + serializer_class = PanelSerializer queryset = Panel.objects.all() @@ -117,7 +118,7 @@ class PanelsRUDView(generics.RetrieveUpdateDestroyAPIView): permission_classes = ( permissions.IsAdminUser, ) - serializer_class = serializers.PanelSerializer + serializer_class = PanelSerializer queryset = Panel.objects.all()