From 7d6826fd40d8284df3e1861908d603af198e7ed8 Mon Sep 17 00:00:00 2001 From: mohsentaba Date: Sun, 19 Jul 2026 11:32:47 +0330 Subject: [PATCH] dovodi settings apis updated --- config/urls.py | 2 +- dynamic_preferences/views.py | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/config/urls.py b/config/urls.py index e26621c..7428ec2 100644 --- a/config/urls.py +++ b/config/urls.py @@ -198,4 +198,4 @@ if settings.DEBUG: re_path(r'^%s(?P.*)$' % re.escape(settings.MEDIA_URL.lstrip('/')), ranged_static_serve, {'document_root': settings.MEDIA_ROOT}), ] -# Force reload trigger +# Force reload trigger 3 diff --git a/dynamic_preferences/views.py b/dynamic_preferences/views.py index 9ad04e7..86f103e 100644 --- a/dynamic_preferences/views.py +++ b/dynamic_preferences/views.py @@ -13,6 +13,7 @@ from .serializers import ( ) from rest_framework.authentication import TokenAuthentication +from rest_framework.permissions import IsAuthenticated from apps.account.permissions import IsSuperAdmin class AboutUsAPIView(GenericAPIView): @@ -49,6 +50,12 @@ class FAQCourseAPIView(GenericAPIView): class FAQGeneralAPIView(GenericAPIView): serializer_class = FAQItemSerializer + authentication_classes = [TokenAuthentication] + + def get_permissions(self): + if self.request.method in ['PUT', 'POST', 'PATCH']: + return [IsAuthenticated(), IsSuperAdmin()] + return [] def get(self, request, *args, **kwargs): preferences = global_preferences_registry.manager() @@ -56,6 +63,13 @@ class FAQGeneralAPIView(GenericAPIView): serializer = self.get_serializer(faq_general, many=True) return Response(serializer.data) + def put(self, request, *args, **kwargs): + serializer = self.get_serializer(data=request.data, many=True) + serializer.is_valid(raise_exception=True) + preferences = global_preferences_registry.manager() + preferences['FAQ_General__FAQ_General'] = serializer.validated_data + return Response(serializer.data) + class SupportAPIView(GenericAPIView): serializer_class = SupportSerializer authentication_classes = [TokenAuthentication] @@ -106,6 +120,12 @@ class CardAPIView(GenericAPIView): class AboutUsDobodiAPIView(GenericAPIView): serializer_class = AboutUsDobodiSerializer + authentication_classes = [TokenAuthentication] + + def get_permissions(self): + if self.request.method in ['PUT', 'POST', 'PATCH']: + return [IsAuthenticated(), IsSuperAdmin()] + return [] def get(self, request, *args, **kwargs): preferences = global_preferences_registry.manager() @@ -114,6 +134,13 @@ class AboutUsDobodiAPIView(GenericAPIView): about_us_dobodi = {} serializer = self.get_serializer(about_us_dobodi) return Response(serializer.data) + + def put(self, request, *args, **kwargs): + serializer = self.get_serializer(data=request.data) + serializer.is_valid(raise_exception=True) + preferences = global_preferences_registry.manager() + preferences['about_us_dobodi__about_us_dobodi'] = serializer.validated_data + return Response(serializer.data) """Todo : remove these views and use only context processors"""