byceps/byceps

View on GitHub
byceps/blueprints/admin/orga_team/templates/admin/orga_team/teams_for_party.html

Summary

Maintainability
Test Coverage
{% extends 'layout/admin/base.html' %}
{% from 'macros/admin.html' import render_extra_in_heading %}
{% from 'macros/admin/user.html' import render_user_avatar_and_admin_link %}
{% from 'macros/icons.html' import render_icon %}
{% set current_page = 'orga_team_admin.teams' %}
{% set current_page_party = party %}
{% set page_title = _('Orga teams') %}

{% block body %}

  <div class="row row--space-between block">
    <div>
      <h1 class="title">{{ page_title }} {{ render_extra_in_heading(teams_and_members|length) }}</h1>
    </div>
    {%- if has_current_user_permission('orga_team.create') %}
    <div>
      <div class="button-row is-right-aligned">
        <a class="button" href="{{ url_for('.team_create_form', party_id=party.id) }}">{{ render_icon('add') }} <span>{{ _('Create team') }}</span></a>
        <div class="dropdown">
          <button class="dropdown-toggle button"><span>{{ render_icon('chevron-down') }}</span></button>
          <ol class="dropdown-menu dropdown-menu--right">
            <li><a class="dropdown-item" href="{{ url_for('.teams_copy_form', target_party_id=party.id) }}">{{ render_icon('copy') }} <span>{{ _('Copy teams from another party') }}</span></a></li>
          </ol>
        </div>
      </div>
    </div>
    {%- endif %}
  </div>

  {%- if teams_and_members %}
    {%- for team, members in teams_and_members %}

  <div class="row row--space-between is-vcentered">
    <div>
      {%- with member_total = members|length %}
      <h2>{{ team.title }} <small>{{ member_total}} {{ ngettext('person', 'persons', member_total) }}</small></h2>
      {%- endwith %}
    </div>
    {%- if has_current_user_permission('orga_team.administrate_memberships') %}
    <div>
      <div class="button-row is-compact is-right-aligned">
        <a class="button is-compact" href="{{ url_for('.membership_create_form', team_id=team.id) }}" title="{{ _('Add orga') }}">{{ render_icon('add') }}</a>
        <div class="dropdown">
          <button class="dropdown-toggle button is-compact">{{ render_icon('chevron-down') }}</button>
          <ol class="dropdown-menu dropdown-menu--right">
            {%- if not members and has_current_user_permission('orga_team.delete') %}
            <li><a class="dropdown-item" data-action="team-delete" href="{{ url_for('.team_delete', team_id=team.id) }}">{{ render_icon('remove') }} <span>{{ _('Remove team') }}</span></a></li>
            {%- else %}
            <li><span class="dropdown-item button--disabled">{{ render_icon('remove') }} <span>{{ _('Remove team') }}</span></span></li>
            {%- endif %}
          </ol>
        </div>
      </div>
    </div>
    {%- endif %}
  </div>

      {%- if members %}
  <table class="itemlist is-vcentered is-wide">
    <colgroup>
      <col style="width: 45%;"/>
      <col/>
      <col/>
    </colgroup>
        {%- for member in members %}
    <tr>
      <td>{{ render_user_avatar_and_admin_link(member.user, size=24) }}</td>
      <td>{{ member.membership.duties|fallback }}</td>
      <td style="text-align: right;">
        <div class="dropdown">
          <button class="dropdown-toggle button is-compact">{{ render_icon('chevron-down') }}</button>
          <ol class="dropdown-menu dropdown-menu--right">
            <li><a class="dropdown-item" href="{{ url_for('.membership_update_form', membership_id=member.membership.id) }}">{{ render_icon('edit') }} {{ _('Edit membership and duties') }}</a></li>
            <li><a class="dropdown-item" data-action="membership-remove" href="{{ url_for('.membership_remove', membership_id=member.membership.id) }}">{{ render_icon('remove') }} {{ _('Remove person from team') }}</a></li>
          </ol>
        </div>
      </td>
    </tr>
        {%- endfor %}
  </table>
      {%- else %}
  <div class="box">
    <div class="dimmed-box centered">{{ _('This team has no members.') }}</div>
  </div>
      {%- endif %}

    {%- endfor %}
  {%- else %}
  <div class="box">
    <div class="dimmed-box centered">{{ _('No orga teams are defined.') }}</div>
  </div>
  {%- endif %}

{%- endblock %}

{% block scripts %}
    <script>
      onDomReady(() => {
        confirmed_delete_on_click_then_reload('[data-action="team-delete"]', '{{ _('Remove team?') }}');
        confirmed_delete_on_click_then_reload('[data-action="membership-remove"]', '{{ _('Remove person from team?') }}');
      });
    </script>
{%- endblock %}