{% extends "controlpanel/base.html" %} {% load lucide ui %} {% block heading %}Features{% endblock heading %} {% block actions %} {% endblock actions %} {% block panel %} {% url 'controlpanel:flag_create' as flag_create_url %} {% include "controlpanel/_modal_form.html" with modal_id="flag_create_modal" title="New feature" form=flag_form action_url=flag_create_url submit_label="Create" submit_icon="plus" %} {% comment %} The lock-down. Clubs get a maintenance page, the scheduled jobs stand down, and the control panel and the auth screens stay open — otherwise you could not sign in to turn it back off. {% endcomment %}

{% lucide "wrench" size=18 %} Maintenance mode

{% if maintenance.is_active %}
{% lucide "lock" size=12 %} Platform closed
·
since {{ maintenance.started_at|date:"j M Y, H:i" }}{% if maintenance.started_by %} by {{ maintenance.started_by.email }}{% endif %}
{% if maintenance.message %}
Message
{{ maintenance.message }}
{% endif %} {% else %}

Closes every club subdomain and stands the scheduled jobs down. The control panel and the sign-in screens stay open.

{% endif %}
{% csrf_token %} {% if not maintenance.is_active %}
{{ maintenance_form.message|daisy }} {{ maintenance_form.message.help_text }}
{% else %} {% endif %}

{% lucide "flag" size=18 %} Flags

Flags are turned on per club. Setting Everyone to Yes or No overrides club targeting entirely.

{% for flag in flags %} {% empty %} {% endfor %}
Name Everyone Clubs Note
{{ flag.name }} {% if flag.everyone is True %} On for all {% elif flag.everyone is False %} Off everywhere {% else %} Per club {% endif %} {{ flag.clubs.count }} {{ flag.note|default:"-" }}
No features yet.
{% comment %} Dialogs live outside the table: may only contain elements. {% endcomment %} {% for flag in flags %} {% url 'controlpanel:flag_update' flag.pk as flag_update_url %} {% include "controlpanel/_modal_form.html" with modal_id=flag.pk|dom_id:"flag_edit_modal" title="Edit "|add:flag.name form=flag.edit_form action_url=flag_update_url submit_label="Save" submit_icon="check" %} {% endfor %}

{% lucide "power" size=18 %} Switches

Global on/off for the whole platform — kill-switches, maintenance, infra rollouts.

{% for switch in switches %} {% empty %} {% endfor %}
{{ switch.name }} {{ switch.note|default:"-" }}
{% csrf_token %}
No switches yet — add one in the Django admin.
{% endblock panel %}