{% extends "mvp/account/base.html" %} {% load i18n %} {% block title %}{{ page.title }}{% endblock title %} {% block account.content %} {{ page.title_args.title }} {{ page.title_args.lead }} {% if push %} {% endif %} {% if preferences %}
{% csrf_token %} {% trans "Notification" %} {% for channel in channels %} {{ channel.name }} {% endfor %} {% for row in preferences %} {# A type with a frequency row below it draws its rule under that row instead. #} {% if frequencies|length > 1 and row.offers_frequency %} {% firstof "border-0" as cell_class %} {% else %} {% firstof "" as cell_class %} {% endif %} {{ row.notification_type.name }} {% if row.notification_type.description %} {% endif %} {% for key, choice in row.channels.items %} {% if choice.forbidden %} {% trans "Not available" %} {% else %} {% blocktrans asvar label with type=row.notification_type.name channel=choice.channel.name %}{{ type }} by {{ channel }}{% endblocktrans %} {% if choice.required %} {% elif choice.enabled %} {% else %} {% endif %} {% endif %} {% endfor %} {% if frequencies|length > 1 and row.offers_frequency %} {# How often sits on a row of its own across the table, so it never widens the first column and every channel stays in reach on a phone. #} {% blocktrans asvar frequency_label with type=row.notification_type.name %}How often {{ type }} arrive by email{% endblocktrans %} {% for key, label in frequencies %} {% endfor %} {# A disabled select is not sent, so the choice rides here while email is off. The server writes both attributes, so the form works without script too. #} {% endif %} {% endfor %}
{% trans "Save" %}
{% else %} {% endif %}
{% endblock account.content %}