{% macro permissions_table(permissions, current_user_permissions, copr, permissions_applier_form, permissions_form) %} {% if permissions or g.user != copr.user %} {# display the whole table if there are permissions or user can ask for them #} {% if permissions_applier_form and g.user %}
{{ permissions_applier_form.csrf_token }} {% endif %} {% if permissions_form and g.user %} {{ permissions_form.csrf_token }} {% endif %} {% for perm in permissions %} {% if perm.user_id != g.user.id %} {# if user is logged in, only display his form below, not a row #} {{ permissions_table_row_other_user(perm, permissions_applier_form, permissions_form) }} {% endif %} {% endfor %} {{ permissions_table_row_current_user(current_user_permissions, permissions_applier_form, permissions_form) }}
Username Is Builder Is Admin
{% if g.user and (permissions_applier_form or permissions_form) %} {# TODO: when to display? #}
{% endif %} {% else %} No permissions for other users for this Copr. {% endif %} {% endmacro %} {% macro permissions_table_row_other_user(perm, permissions_applier_form, permissions_form) %} {{ perm.user.name }} {% if permissions_form %} {% if perm.copr_builder != 0 %} {{ permissions_form['copr_builder_{0}'.format(perm.user.id)] }} {% endif %} {% else %} {{ perm.copr_builder|perm_type_from_num }} {% endif %} {% if permissions_form %} {% if perm.copr_admin != 0 %} {{ permissions_form['copr_admin_{0}'.format(perm.user.id)] }} {% endif %} {% else %} {{ perm.copr_admin|perm_type_from_num }} {% endif %} {% endmacro %} {% macro permissions_table_row_current_user(current_user_permissions, permissions_applier_form, permissions_form) %} {# if user is logged in and permissions_applier_form is defined, display it #} {% if g.user and permissions_applier_form %} {{ g.user.name }} {% if current_user_permissions %} {{ current_user_permissions.copr_builder|perm_type_from_num }} {% else %} Not requested {% endif %}
{{ permissions_applier_form.copr_builder|safe }} {% if current_user_permissions %} {{ current_user_permissions.copr_admin|perm_type_from_num }} {% else %} Not requested {% endif %}
{{ permissions_applier_form.copr_admin|safe }} {% endif %} {# if user is admin (means current_user_permissions is set), display his own permissions for changing #} {% if g.user and permissions_form and current_user_permissions %} {{ g.user.name }} {{ permissions_form['copr_builder_{0}'.format(g.user.id)] }} {{ permissions_form['copr_admin_{0}'.format(g.user.id)] }} {% endif %} {% endmacro %}