From 0aa0da560089855c2e181ae0fd0d58ab198de6a6 Mon Sep 17 00:00:00 2001 From: erikvw Date: Tue, 21 Jan 2025 19:37:43 -0600 Subject: [PATCH] format_html, translations --- .../modeladmin_mixins/modeladmin_mixins.py | 27 ++++++++----- .../ae_initial_modelform_mixin.py | 2 +- .../templatetags/edc_adverse_event_extras.py | 39 ++++++++++++++----- .../ae/death_report_listboard_view_mixin.py | 2 +- 4 files changed, 50 insertions(+), 20 deletions(-) diff --git a/edc_adverse_event/modeladmin_mixins/modeladmin_mixins.py b/edc_adverse_event/modeladmin_mixins/modeladmin_mixins.py index f17bcca..80a9a1b 100644 --- a/edc_adverse_event/modeladmin_mixins/modeladmin_mixins.py +++ b/edc_adverse_event/modeladmin_mixins/modeladmin_mixins.py @@ -64,14 +64,20 @@ def user(self, obj=None): """Returns formatted usernames and creation/modification dates.""" return format_html( "{}", - "
".join( - [ - obj.user_created, - obj.created.strftime(convert_php_dateformat(settings.SHORT_DATE_FORMAT)), - obj.user_modified, - obj.modified.strftime(convert_php_dateformat(settings.SHORT_DATE_FORMAT)), - ] - ), + mark_safe( + "
".join( + [ + obj.user_created, + obj.created.strftime( + convert_php_dateformat(settings.SHORT_DATE_FORMAT) + ), + obj.user_modified, + obj.modified.strftime( + convert_php_dateformat(settings.SHORT_DATE_FORMAT) + ), + ] + ), + ), # nosec B703, B308 ) @display(description="Documents") @@ -125,4 +131,7 @@ def documents_column(self, model_obj): html = "
" html += "
".join([c.anchor for c in column_items]) html += "
" - return format_html("{}", html) + return format_html( + "{}", + mark_safe(html), # nosec B703, B308 + ) diff --git a/edc_adverse_event/modelform_mixins/ae_initial_modelform_mixin.py b/edc_adverse_event/modelform_mixins/ae_initial_modelform_mixin.py index ee01846..9754fb1 100644 --- a/edc_adverse_event/modelform_mixins/ae_initial_modelform_mixin.py +++ b/edc_adverse_event/modelform_mixins/ae_initial_modelform_mixin.py @@ -53,7 +53,7 @@ def raise_if_followup_exists(self): '{} instead. See AE Follow-ups for {}.', ae_followup_cls._meta.verbose_name, mark_safe(url), # nosec B703, B308 - mark_safe(self.instance), # nosec B703, B308 + mark_safe(str(self.instance)), # nosec B703, B308 ) ) diff --git a/edc_adverse_event/templatetags/edc_adverse_event_extras.py b/edc_adverse_event/templatetags/edc_adverse_event_extras.py index e553cd8..b09f516 100644 --- a/edc_adverse_event/templatetags/edc_adverse_event_extras.py +++ b/edc_adverse_event/templatetags/edc_adverse_event_extras.py @@ -10,6 +10,7 @@ from django.core.exceptions import ObjectDoesNotExist from django.template.loader import select_template from django.utils.html import format_html +from django.utils.safestring import mark_safe from django.utils.translation import gettext as _ from edc_action_item.utils import get_reference_obj from edc_constants.constants import CLOSED, OPEN, OTHER, YES @@ -78,12 +79,18 @@ def format_ae_description(context, ae_initial, wrap_length): context["ae_initial"] = ae_initial try: context["sae_reason"] = format_html( - "{}", wrapx(escape_braces(ae_initial.sae_reason.name), wrap_length) + "{}", + mark_safe( + wrapx(escape_braces(ae_initial.sae_reason.name), wrap_length) + ), # nosec B703, B308 ) except AttributeError: context["sae_reason"] = "" context["ae_description"] = format_html( - "{}", wrapx(escape_braces(ae_initial.ae_description), wrap_length) + "{}", + mark_safe( + wrapx(escape_braces(ae_initial.ae_description), wrap_length) + ), # nosec B703, B308 ) return context @@ -99,15 +106,24 @@ def format_ae_followup_description(context, ae_followup, wrap_length): context["ae_initial"] = ae_followup.ae_initial try: context["sae_reason"] = format_html( - "{}", wrapx(escape_braces(ae_followup.ae_initial.sae_reason.name), wrap_length) + "{}", + mark_safe( + wrapx(escape_braces(ae_followup.ae_initial.sae_reason.name), wrap_length) + ), # nosec B703, B308 ) except AttributeError: context["sae_reason"] = "" context["relevant_history"] = format_html( - "{}", wrapx(escape_braces(ae_followup.relevant_history), wrap_length) + "{}", + mark_safe( + wrapx(escape_braces(ae_followup.relevant_history), wrap_length) + ), # nosec B703, B308 ) context["ae_description"] = format_html( - "{}", wrapx(escape_braces(ae_followup.ae_initial.ae_description), wrap_length) + "{}", + mark_safe( + wrapx(escape_braces(ae_followup.ae_initial.ae_description), wrap_length) + ), # nosec B703, B308 ) return context @@ -122,12 +138,17 @@ def format_ae_susar_description(context, ae_susar, wrap_length): context["ae_initial"] = ae_susar.ae_initial context["sae_reason"] = format_html( "{}", - "
".join( - wrap(escape_braces(ae_susar.ae_initial.sae_reason.name), wrap_length or 35) - ), + mark_safe( + "
".join( + wrap(escape_braces(ae_susar.ae_initial.sae_reason.name), wrap_length or 35) + ) + ), # nosec B703, B308 ) context["ae_description"] = format_html( - "{}", wrapx(escape_braces(ae_susar.ae_initial.ae_description), wrap_length) + "{}", + mark_safe( + wrapx(escape_braces(ae_susar.ae_initial.ae_description), wrap_length) + ), # nosec B703, B308 ) return context diff --git a/edc_adverse_event/view_mixins/ae/death_report_listboard_view_mixin.py b/edc_adverse_event/view_mixins/ae/death_report_listboard_view_mixin.py index 294f340..9ebfef9 100644 --- a/edc_adverse_event/view_mixins/ae/death_report_listboard_view_mixin.py +++ b/edc_adverse_event/view_mixins/ae/death_report_listboard_view_mixin.py @@ -40,7 +40,7 @@ class DeathReportListboardViewMixin( listboard_instructions = format_html( "{}", mark_safe( - "edc_adverse_enet/ae/death_report_listboard_instructions.html" + "edc_adverse_event/ae/death_report_listboard_instructions.html" ), # nosec B703 B308 )