Browse Source

fix: about us

master
mortezaei 1 year ago
parent
commit
ec5d45b155
  1. 33
      dynamic_preferences/dynamic_preferences_registry.py
  2. 7
      dynamic_preferences/serializers.py
  3. 4
      dynamic_preferences/urls.py
  4. 13
      dynamic_preferences/views.py

33
dynamic_preferences/dynamic_preferences_registry.py

@ -193,3 +193,36 @@ class CalendarAdjustmentConfig(EditorTextPreferences):
required = False required = False
verbose_name = 'Calendar Adjustment Config' verbose_name = 'Calendar Adjustment Config'
default = '' default = ''
about_us_dobodi = {
"type": "object",
"format": "table",
"title": "",
"required_by_default": 1,
"required": ['arabic_text', 'translated_text', 'title', 'content'],
"properties": {
"arabic_text": {"type": "string", "title": "text arabic"},
"translated_text": {"type": "string", "title": "translated text"},
"title": {"type": "string", "title": "title"},
"content": {"type": "string", "format": "textarea", "title": "Content", "rows": 8},
}
}
class JsonFieldAbout(BasePreferenceType):
field_class = forms.JSONField
serializer = JsonSerializer
widget = JsonEditorWidget(attrs={'schema': about_us_dobodi})
@global_preferences_registry.register
class SupportConfig(JsonFieldAbout):
section = Section('about_us_dobodi', verbose_name='about Us Detail')
name = 'about_us_dobodi'
required = False
verbose_name = 'About Us Dobodi'
default = {}

7
dynamic_preferences/serializers.py

@ -31,6 +31,13 @@ from rest_framework import serializers
class AboutUsSerializer(serializers.Serializer): class AboutUsSerializer(serializers.Serializer):
content = serializers.CharField(allow_blank=True) content = serializers.CharField(allow_blank=True)
class AboutUsDobodiSerializer(serializers.Serializer):
arabic_text = serializers.CharField(allow_blank=True)
translated_text = serializers.CharField(allow_blank=True)
title = serializers.CharField(allow_blank=True)
content = serializers.CharField(allow_blank=True)
class FAQItemSerializer(serializers.Serializer): class FAQItemSerializer(serializers.Serializer):
question = serializers.CharField() question = serializers.CharField()
answer = serializers.CharField() answer = serializers.CharField()

4
dynamic_preferences/urls.py

@ -14,7 +14,8 @@ from .views import (
FAQCourseAPIView, FAQCourseAPIView,
FAQGeneralAPIView, FAQGeneralAPIView,
SupportAPIView, SupportAPIView,
CardAPIView
CardAPIView,
AboutUsDobodiAPIView
) )
app_name = "dynamic_preferences" app_name = "dynamic_preferences"
@ -29,6 +30,7 @@ urlpatterns = [
path('faq-general/', FAQGeneralAPIView.as_view(), name='faq-general-api'), path('faq-general/', FAQGeneralAPIView.as_view(), name='faq-general-api'),
path('support/', SupportAPIView.as_view(), name='support-api'), path('support/', SupportAPIView.as_view(), name='support-api'),
path('card/', CardAPIView.as_view(), name='card-api'), path('card/', CardAPIView.as_view(), name='card-api'),
path('about-us-dobodi/', AboutUsDobodiAPIView.as_view(), name='about-us-dobodi-api'),
re_path( re_path(

13
dynamic_preferences/views.py

@ -8,7 +8,8 @@ from .serializers import (
AboutUsSerializer, AboutUsSerializer,
FAQItemSerializer, FAQItemSerializer,
SupportSerializer, SupportSerializer,
CardSerializer
CardSerializer,
AboutUsDobodiSerializer
) )
class AboutUsAPIView(GenericAPIView): class AboutUsAPIView(GenericAPIView):
@ -60,6 +61,16 @@ class CardAPIView(GenericAPIView):
serializer = self.get_serializer(data=card) serializer = self.get_serializer(data=card)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
return Response(serializer.data) return Response(serializer.data)
class AboutUsDobodiAPIView(GenericAPIView):
serializer_class = AboutUsDobodiSerializer
def get(self, request, *args, **kwargs):
preferences = global_preferences_registry.manager()
about_us_dobodi = preferences.get('about_us_dobodi__about_us_dobodi', {})
serializer = self.get_serializer(data=about_us_dobodi)
serializer.is_valid(raise_exception=True)
return Response(serializer.data)
"""Todo : remove these views and use only context processors""" """Todo : remove these views and use only context processors"""

Loading…
Cancel
Save