{# ansible/schedule.html — one schedule's page (#5332): when it runs next and how it last went, its form (operators), and at the foot Delete behind the confirm dialog. /ansible/schedules/new is the same page, empty. #} {% extends "base.html" %} {% from "_macros.html" import crumbs, page_header, status_badge %} {% from "ansible/_tabs.html" import ansible_tabs %} {% from "ansible/_macros.html" import interval_words %} {% block title %}{{ editing.name if editing else "New schedule" }} — Steward{% endblock %} {% block breadcrumb %}{{ crumbs([("Ansible", "/ansible/"), ("Schedules", "/ansible/schedules"), (editing.name if editing else "New schedule", "")]) }}{% endblock %} {% block section_tabs %}{{ ansible_tabs("schedules") }}{% endblock %} {% block content %} {% set can_edit = session.user_role in ('operator', 'admin') %} {% call page_header(editing.name if editing else "New schedule") %} {% if editing and can_edit %}
{{ csrf_field() }}
{% endif %} {% endcall %} {% if editing %}

{{ editing.playbook_path }} on {{ scope_label }} · {{ interval_words(editing.interval_seconds) }} {%- if (editing.params or {}).get('check') %} · dry run{% endif %} · {% if not editing.enabled %}paused{% elif next and next.at %}next {{ next.at|ago }}{% else %}due now{% endif %} {%- if last_run %} · last: {{ status_badge(last_run.status) }} {{ last_run.started_at|ago }}{% elif not editing.last_error %} · never run{% endif %} {%- if editing.last_error %} · {{ editing.last_error }}{% endif -%}

{% endif %} {# ── Create / edit form (operators and admins) ───────────────────────────── #} {% if can_edit %} {% set p = (editing.params or {}) if editing else {} %} {% set saved_vars = p.get('extra_vars_map') or {} %} {% set declared_names = (edit_variables or []) | map(attribute='name') | list %}
{{ csrf_field() }}
{# Declared playbook variables (vars:/vars_prompt:) — loaded via HTMX on playbook change; pre-rendered here in edit mode so saved values show. #}
{% if sel_playbook %} {% set variables = edit_variables %} {% set description = edit_description %} {% set category = edit_category %} {% set confirm = edit_confirm %} {% set values = saved_vars %} {% set schedule = true %} {% include "ansible/_playbook_vars.html" %} {% endif %}
Extra vars
Cancel
{% endif %} {% if editing and can_edit %}

Delete this schedule

Its past runs stay in the Runs list. Pausing it keeps it.

{{ csrf_field() }}
{% endif %} {% endblock %}