byceps/byceps

View on GitHub
byceps/blueprints/admin/site/navigation/templates/admin/site/navigation/index_for_site.html

Summary

Maintainability
Test Coverage
{% extends 'layout/admin/site/navigation.html' %}
{% from 'macros/icons.html' import render_icon %}
{% from 'macros/misc.html' import render_tag %}
{% set page_title = _('Menus') %}

{% block body %}

  <div class="row row--space-between block">
    <div>
      <h1 class="title">{{ page_title }}</h1>
    </div>
    {%- if has_current_user_permission('site_navigation.administrate') %}
    <div>
      <div class="button-row is-right-aligned">
        <a class="button" href="{{ url_for('.menu_create_form', site_id=site.id) }}">{{ render_icon('add') }} <span>{{ _('Create menu') }}</span></a>
      </div>
    </div>
    {%- endif %}
  </div>

  {%- if menu_trees %}
  <table class="itemlist is-wide">
    <thead>
      <tr>
        <th>{{ _('Name') }}</th>
        <th>{{ _('Language') }}</th>
        <th></th>
        <th></th>
      </tr>
    </thead>
    <tbody>
    {%- for menu_tree in menu_trees|sort(attribute='menu.name,menu.language_code') %}
{{ render_menu_table_row(menu_tree.menu) }}
      {%- for menu in menu_tree.submenus|sort(attribute='name,language_code') %}
{{ render_menu_table_row(menu) }}
      {%- endfor %}
    {%- endfor %}
    </tbody>
  </table>
  {%- else %}
  <div class="box">
    <div class="dimmed-box centered">{{ _('No menus exist.') }}</div>
  </div>
  {%- endif %}

{%- endblock %}

{% macro render_menu_table_row(menu) -%}
      <tr>
        <td>
          {% if menu.parent_menu_id %}&#x2ba1;{% endif %}
          <a href="{{ url_for('.view', menu_id=menu.id) }}"><strong>{{ menu.name }}</strong></a>
        </td>
        <td>{{ menu.language_code }}</td>
        <td>
          {%- if menu.hidden -%}
          {{ render_tag(_('hidden'), class='color-disabled', icon='hidden') }}
          {%- endif -%}
        </td>
        <td style="text-align: right;">
          {%- if not menu.parent_menu_id and has_current_user_permission('site_navigation.administrate') %}
          <a class="button is-compact" href="{{ url_for('.submenu_create_form', site_id=site.id, parent_menu_id=menu.id) }}">{{ render_icon('add') }} <span>{{ _('Create submenu') }}</span></a>
          {%- endif -%}
        </td>
      </tr>
{%- endmacro %}