From 8f43c29e86eea5b9794e03e09e578e125ca63b0e Mon Sep 17 00:00:00 2001 From: Paul Schilling Date: Mon, 24 Jun 2024 16:08:25 +0200 Subject: [PATCH] [#2577] Use CKEditorWidget for SSD help-text fields --- src/open_inwoner/conf/base.py | 19 ++++ src/open_inwoner/ssd/admin.py | 18 ++++ .../pages/ssd/monthly_reports_list.html | 89 ++++++++----------- .../templates/pages/ssd/reports_base.html | 20 +++++ .../pages/ssd/yearly_reports_list.html | 27 ++---- 5 files changed, 102 insertions(+), 71 deletions(-) create mode 100644 src/open_inwoner/templates/pages/ssd/reports_base.html diff --git a/src/open_inwoner/conf/base.py b/src/open_inwoner/conf/base.py index e99485a02a..8e3ae1d74f 100644 --- a/src/open_inwoner/conf/base.py +++ b/src/open_inwoner/conf/base.py @@ -947,7 +947,26 @@ CKEDITOR_CONFIGS = { "default": { + "height": 200, "allowedContent": True, + # "toolbar": [ + # { + # "name": "basicstyles", + # "items": ["Bold", "Italic", "RemoveFormat"], + # }, + # { + # "name": "paragraph", + # "items": [ + # "NumberedList", + # "BulletedList", + # "Outdent", + # "Indent", + # ], + # }, + # {"name": "links", "items": ["Link", "Unlink"]}, + # {"name": "insert", "items": ["Image", "Table"]}, + # {"name": "clipboard", "items": ["Undo", "Redo"]}, + # ], }, "mail_editor": { "allowedContent": True, diff --git a/src/open_inwoner/ssd/admin.py b/src/open_inwoner/ssd/admin.py index 063c0bc789..1669eae3ba 100644 --- a/src/open_inwoner/ssd/admin.py +++ b/src/open_inwoner/ssd/admin.py @@ -1,11 +1,24 @@ +from django import forms from django.contrib import admin from django.utils.translation import gettext_lazy as _ from solo.admin import SingletonModelAdmin +from open_inwoner.ckeditor5.widgets import CKEditorWidget + from .models import SSDConfig +class SSDAdminForm(forms.ModelForm): + class Meta: + model = SSDConfig + fields = "__all__" + widgets = { + "jaaropgave_display_text": CKEditorWidget, + "maandspecificatie_display_text": CKEditorWidget, + } + + @admin.register(SSDConfig) class SSDConfigAdmin(SingletonModelAdmin): fieldsets = ( @@ -47,9 +60,14 @@ class SSDConfigAdmin(SingletonModelAdmin): }, ), ) + form = SSDAdminForm class Meta: verbose_name = _("SSD configuration") + widgets = { + "jaaropgave_display_text": CKEditorWidget, + "maandspecificatie_display_text": CKEditorWidget, + } class Media: css = {"all": ("css/custom_admin.css",)} diff --git a/src/open_inwoner/templates/pages/ssd/monthly_reports_list.html b/src/open_inwoner/templates/pages/ssd/monthly_reports_list.html index ea83909209..afabe66cc8 100644 --- a/src/open_inwoner/templates/pages/ssd/monthly_reports_list.html +++ b/src/open_inwoner/templates/pages/ssd/monthly_reports_list.html @@ -1,54 +1,41 @@ -{% extends 'master.html' %} -{% load i18n grid_tags dropdown_tags form_tags button_tags ssd_tags %} +{% extends 'pages/ssd/reports_base.html' %} +{% load i18n grid_tags dropdown_tags form_tags button_tags render_tags ssd_tags %} -{% block content %} - {% render_grid %} - {% render_column span=9 %} -

- {% trans "Mijn uitkeringen" %} -

-

- {% blocktrans with mijn_uitkeringen_text=client.config.mijn_uitkeringen_text %} - {{ mijn_uitkeringen_text }} - {% endblocktrans %} -

-
-
- - {% if client.config.maandspecificatie_enabled is True %} -
- {# Note: Mijn uitkeringen tab-content styles need to be independent from the URL, unlike the Tabs of the Login page #} - {# URL-dependent styles would be coming from src/open_inwoner/js/components/tab-panels #} - {# Setting class to 'tab__contents' instead of 'tab__content' is a quick-fix #} -
-

- {% blocktrans with display_text=client.config.maandspecificatie_display_text %} - {{ display_text }} - {% endblocktrans %} -

- {% render_form form=form method="POST" id="monthlyreports-form" show_required=False submit_text=_('Download') %} - {% csrf_token %} - {% input form.report_date icon="expand_more" icon_position="after" icon_outlined=True %} - {% form_actions primary_text=_("Download") primary_icon="file_download" icon_position="before" extra_classes="ssd" %} - {% endrender_form %} -
- {% if report_not_found %} - {% blocktrans with time_period=report_not_found|date:"F Y" %} - Geen uitkeringsspecificatie gevonden voor {{ time_period }}. - {% endblocktrans %} - {% endif %} -
-
+{% block report %} +
+
+ + {% if client.config.maandspecificatie_enabled is True %} +
+ {# Note: Mijn uitkeringen tab-content styles need to be independent from the URL, unlike the Tabs of the Login page #} + {# URL-dependent styles would be coming from src/open_inwoner/js/components/tab-panels #} + {# Setting class to 'tab__contents' instead of 'tab__content' is a quick-fix #} +
+
+ {% blocktrans with display_text=client.config.maandspecificatie_display_text|ckeditor_content|safe %} + {{ display_text }} + {% endblocktrans %}
- {% else %} -
{% trans "Download of monthly reports not supported." %}
- {% endif %} + {% render_form form=form method="POST" id="monthlyreports-form" show_required=False submit_text=_('Download') %} + {% csrf_token %} + {% input form.report_date icon="expand_more" icon_position="after" icon_outlined=True %} + {% form_actions primary_text=_("Download") primary_icon="file_download" icon_position="before" extra_classes="ssd" %} + {% endrender_form %} +
+ {% if report_not_found %} + {% blocktrans with time_period=report_not_found|date:"F Y" %} + Geen uitkeringsspecificatie gevonden voor {{ time_period }}. + {% endblocktrans %} + {% endif %} +
+
-
- - {% endrender_column %} - {% endrender_grid %} -{% endblock content %} + {% else %} +
{% trans "Download of monthly reports not supported." %}
+ {% endif %} +
+
+{% endblock report %} diff --git a/src/open_inwoner/templates/pages/ssd/reports_base.html b/src/open_inwoner/templates/pages/ssd/reports_base.html new file mode 100644 index 0000000000..8c5f056646 --- /dev/null +++ b/src/open_inwoner/templates/pages/ssd/reports_base.html @@ -0,0 +1,20 @@ +{% extends 'master.html' %} +{% load i18n grid_tags dropdown_tags form_tags button_tags ssd_tags render_tags %} + +{% block content %} + {% render_grid %} + {% render_column span=9 %} +

+ {% trans "Mijn uitkeringen" %} +

+
+ {% blocktrans with mijn_uitkeringen_text=client.config.mijn_uitkeringen_text|ckeditor_content|safe %} + {{ mijn_uitkeringen_text }} + {% endblocktrans %} +
+ + {% block report %}{% endblock report %} + + {% endrender_column %} + {% endrender_grid %} +{% endblock content %} diff --git a/src/open_inwoner/templates/pages/ssd/yearly_reports_list.html b/src/open_inwoner/templates/pages/ssd/yearly_reports_list.html index 8133373c14..66883c8dbd 100644 --- a/src/open_inwoner/templates/pages/ssd/yearly_reports_list.html +++ b/src/open_inwoner/templates/pages/ssd/yearly_reports_list.html @@ -1,17 +1,7 @@ -{% extends 'master.html' %} -{% load i18n grid_tags form_tags button_tags icon_tags ssd_tags %} +{% extends 'pages/ssd/reports_base.html' %} +{% load i18n grid_tags form_tags button_tags icon_tags render_tags ssd_tags %} -{% block content %} - {% render_grid %} - {% render_column span=9 %} -

- {% trans "Mijn uitkeringen" %} -

-

- {% blocktrans with mijn_uitkeringen_text=client.config.mijn_uitkeringen_text %} - {{ mijn_uitkeringen_text }} - {% endblocktrans %} -

+{% block report %}
    @@ -25,11 +15,11 @@

    {# URL-dependent styles would be coming from src/open_inwoner/js/components/tab-panels #} {# Setting class to 'tab__contents' instead of 'tab__content' is a quick-fix #}
    -

    - {% blocktrans with jaaropgave_text=client.config.jaaropgave_display_text %} +

    + {% blocktrans with jaaropgave_text=client.config.jaaropgave_display_text|ckeditor_content|safe %} {{ jaaropgave_text }} {% endblocktrans %} -

    +
    {% render_form form=form method="POST" id="yearlyreports-form" show_required=False submit_text=_('Download') %} {% csrf_token %} {% input form.report_date icon="expand_more" icon_position="after" icon_outlined=True %} @@ -50,7 +40,4 @@

    {% endif %}

- - {% endrender_column %} - {% endrender_grid %} -{% endblock content %} +{% endblock report %}