Refactor RelativeDate(Time)Field and -Widget (#4746)

* refactor to use namedtuples for the sub-fields and sub-widgets
* fix RelativeDateTimeField.set_event: apply relative_to filter not only to minutes, but to days as well
* fix bug in RelativeDateTimeField.clean: validate days relation_to instead of minutes relation_to when "Relative date" is selected

---------

Co-authored-by: Raphael Michel <michel@rami.io>
This commit is contained in:
Mira
2025-01-16 11:32:02 +01:00
committed by GitHub
parent ecd0cbe00d
commit 89f1f61b73
3 changed files with 170 additions and 72 deletions

View File

@@ -9,9 +9,9 @@
{{ selopt.label }}
</label>
{% if selopt.value == "absolute" %}
{% include widget.subwidgets.1.template_name with widget=widget.subwidgets.1 %}
{{ rendered_subwidgets.absolute }}
{% elif selopt.value == "relative" %}
{% blocktrans trimmed with number=rendered_subwidgets.2 relation=rendered_subwidgets.4 relation_to=rendered_subwidgets.3 %}
{% blocktrans trimmed with number=rendered_subwidgets.rel_days_number relation=rendered_subwidgets.rel_days_relation relation_to=rendered_subwidgets.rel_days_relationto %}
{{ number }} days {{ relation }} {{ relation_to }}
{% endblocktrans %}
{% endif %}

View File

@@ -9,13 +9,13 @@
{{ selopt.label }}
</label>
{% if selopt.value == "absolute" %}
{% include widget.subwidgets.1.template_name with widget=widget.subwidgets.1 %}
{{ rendered_subwidgets.absolute }}
{% elif selopt.value == "relative_minutes" %}
{% blocktrans trimmed with number=rendered_subwidgets.5 relation=rendered_subwidgets.7 relation_to=rendered_subwidgets.3 %}
{% blocktrans trimmed with number=rendered_subwidgets.rel_mins_number relation=rendered_subwidgets.rel_mins_relation relation_to=rendered_subwidgets.rel_mins_relationto %}
{{ number }} minutes {{ relation }} {{ relation_to }}
{% endblocktrans %}
{% elif selopt.value == "relative" %}
{% blocktrans trimmed with number=rendered_subwidgets.2 relation=rendered_subwidgets.8 relation_to=rendered_subwidgets.6 time_of_day=rendered_subwidgets.4 %}
{% blocktrans trimmed with number=rendered_subwidgets.rel_days_number relation=rendered_subwidgets.rel_days_relation relation_to=rendered_subwidgets.rel_days_relationto time_of_day=rendered_subwidgets.rel_days_timeofday %}
{{ number }} days {{ relation }} {{ relation_to }} at {{ time_of_day }}
{% endblocktrans %}
{% endif %}