{% load static vantage i18n %}{% comment %} The panel under the grid while the dashboard is being arranged: what has been switched off, how to add a card, and the four buttons that write it down. Every list on this form is an allowlist built in Python by vantage.dashboards.editor_context — the same Options object that will validate the POST is what draws the controls, so the editor can never offer a choice the server would then reject, and the models on offer are only the models this person may open. The column, date and grouping pickers list every model at once, each option prefixed with the model it belongs to. That is what makes the whole thing one round trip with no scripting: pick a model and a column in the same submit, and the server checks the prefix matches before it checks the column. With scripting on, the options belonging to other models are hidden as soon as a model is chosen. {% endcomment %}
{% if editor.hidden %}

{% translate "Switched off" %}

{% translate "These cards are part of the arrangement but are not being drawn. Tick one to bring it back." %}

{% for item in editor.hidden %} {% endfor %}
{% endif %} {% comment %} Slots this person may not see, carried through untouched. Without these, somebody with narrower access rearranging the page would save an arrangement missing every card they were never shown — deleting a colleague's work by not having been told it existed. An index is all that travels, so nothing about those cards is disclosed. {% endcomment %} {% for item in editor.unseen %} {% endfor %}
{% translate "Add a card" %} {% if editor.models %}
{% else %}

{% translate "There are no models you can build a card from." %}

{% endif %}
{% comment %} Four buttons, one name. Only the pressed submit sends a value, so the scope rides on the button rather than in a hidden field — and one parameter means the check for "for everyone" has exactly one door to guard. {% endcomment %}
{% if editor.may_set_default %} {% endif %} {% if editor.may_set_default %} {% endif %}

{% blocktranslate trimmed %} Changes here are yours alone unless you save them for everyone. Reset puts the dashboard back to what the code declares. {% endblocktranslate %}