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
verbose_name = 'Calendar Adjustment Config'
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):
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):
question = serializers.CharField()
answer = serializers.CharField()

4
dynamic_preferences/urls.py

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

13
dynamic_preferences/views.py

@ -8,7 +8,8 @@ from .serializers import (
AboutUsSerializer,
FAQItemSerializer,
SupportSerializer,
CardSerializer
CardSerializer,
AboutUsDobodiSerializer
)
class AboutUsAPIView(GenericAPIView):
@ -61,6 +62,16 @@ class CardAPIView(GenericAPIView):
serializer.is_valid(raise_exception=True)
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"""

Loading…
Cancel
Save