{% from "_macros.html" import icon %} {# The manual rule form, shared by new and edit. Every field maps to one key `services/schedule/rule.py:validate` understands, and nothing here validates: there is one normaliser, it is total, and it is the same one a compiled rule goes through. Two validators would be two ideas of what a legal schedule is. The repeat fieldsets are shown and hidden by the radio's `:has()` selector in admin.css — no JavaScript, and nothing that can fall out of step with the control, which is the same reasoning the "Something else" box on an approval card follows. #}

What this appears as in the list.

Written for a model that will read it with no conversation around it, so say the whole thing. Nobody will be there to answer a question about it.

When

Leave the date empty for a repeating schedule and it begins now. Times are {{ timezone }}.

{% for index, name in weekday_names %} {% endfor %}

Leave all of them unticked for every day.

One or more times, separated by commas. These are wall-clock times: 09:00 stays 09:00 when the clocks change.

Days of the month, if you want it narrower. Optional.

Number of runs. Leave it at 0 to keep going until you stop it.

Optional. Nothing runs after this date.