{# core/modules/notify/dialogs/job/modal.html Variablen: job – bestehender Job-Dict (Edit) oder None (Create) job_id – ID des Jobs (Edit) oder None (Create) title – Dialog-Titel submit_url – POST-Ziel all_events – Liste von (key, label, color) aus schema.py all_sources – Dict {key: label} der registrierten Quellen all_channels – Dict {ch_id: ch_dict} der verfügbaren Kanäle #} {% extends "dialog_form.html" %} {% from "partials/components/ui_macros.html" import form_select, form_input %} {% set is_edit = job is not none %} {% set v = job or {} %} {% set sel_events = v.get('events') or ['error', 'warning'] %} {% set sel_sources = v.get('sources') or [] %} {% set cur_channel = v.get('channel_id', '') %} {% block dialog_width %}540{% endblock %} {% block form_id %}job-modal-form{% endblock %} {% block form_action %}{{ submit_url }}{% endblock %} {% block form_style %}display:flex; flex-direction:column; gap:16px;{% endblock %} {% block form_attrs %}onsubmit="return jobModalValidate(this)"{% endblock %} {% block dialog_body %}
{%- set _attrs -%} id="job-name" oninput="this.classList.remove('is-invalid'); var _e=document.getElementById(this.id+'-error'); if(_e)_e.style.display='none';" {%- endset -%} {{ form_input('label', v.get('label', ''), placeholder='z. B. Server-Fehler → ntfy', attrs=_attrs) }}
{% if all_channels %} {% call form_select('channel_id', required=True, attrs='id="job-channel" onchange="this.classList.remove(\'is-invalid\'); var _e=document.getElementById(this.id+\'-error\'); if(_e)_e.style.display=\'none\';"') %} {% for ch_id, ch in all_channels.items() %} {% endfor %} {% endcall %} {% else %}
Noch kein Kanal angelegt – bitte zuerst einen Kanal erstellen.
{% endif %}
{% for ev_key, ev_label, ev_color in all_events %} {% set active = ev_key in sel_events %} {% endfor %}
{% set has_sources = all_sources or scheduler_sources %} {% if has_sources %}
{% if all_sources %}
{% for src_key, src_label in all_sources.items() %} {% set src_active = src_key in sel_sources %} {% endfor %}
{% endif %} {% if scheduler_sources %}
Scheduler-Jobs
{% for src_key, src_label in scheduler_sources.items() %} {% set src_active = src_key in sel_sources %} {% endfor %}
{% endif %}
{% endif %} {% endblock %} {% block dialog_footer %} {% endblock %} {% block dialog_scripts %} {% endblock %}