Blob Blame Raw
{% extends "master.html" %}

{% block title %}Groups{% endblock %}
{% set tag = "groups" %}

{% from "_browseheader.html" import browse_header %}

{% block header %}
<link href="{{ url_for('static', filename='vendor/selectize/selectize.bootstrap3.css') }}"
  rel="stylesheet" />
{% endblock %}

{% block content %}
<div class="repo-header p-t-1">
  <div class="container">
        {{browse_header(select=tag)}}
  </div>
</div>
<div class="container p-t-2">
  <h2 class="m-b-1">
    Groups <span class="label label-default">{{ groups | length }}</span>
    {% if authenticated and config.get('ENABLE_GROUP_MNGT', False) %}

      <a href="{{ url_for('add_group') }}">
        <button type="button" id="new_user_btn" 
          class="btn btn-success pull-xs-right" data-toggle="tooltip" title="Create New Group" >
          New Group
        </button>
      </a>

    {% endif %}
  </h2>

  {% if total_page and total_page > 1 %}
  <nav class="text-center">
    <ul class="pagination">
      <li {% if page <= 1%} class="disabled" {% endif %}>
      <a href="{{ url_for('view_groups') }}?page={{page - 1}}" aria-label="Previous">
          <span aria-hidden="true">&laquo;</span>
          <span class="sr-only">Newer</span>
        </a>
      </li>
      <li class="active">page {{ page }} of {{total_page}}</li>
      <li {% if page >= total_page %}class="disabled"{%endif%}>
        <a href="{{ url_for('view_groups') }}?page={{page + 1}}" aria-label="Next">
          <span aria-hidden="true">&raquo;</span>
          <span class="sr-only">Older</span>
        </a>
      </li>
    </ul>
  </nav>
  {% endif %}

  <section class="user_list">
    {% if groups %}
      {% for group in groups %}
        <div class="col-lg-4 col-md-6">
          <div class="project_wrapper m-b-1">
              <div class="projecticon pull-xs-left"><span class="oi" data-glyph="people"></span></div>
              <a class="project_link logo_link" href="{{ url_for('view_group', group=group.group_name)}}">
                <div class="repo_name" title={{ group.group_name }}>
                  <strong>{{ group.display_name }}</strong>
                </div>
             </a>
             <div class="repo_desc">
              <small>Formed {{ group.created |humanize }}</small>
            </div>
            <div class="project_metadata">
              <div style="text-align:right;" class="p-r-1 text-muted"><span title="Projects" data-toggle="tooltip"><span class="oi" data-glyph="document"></span> {{group.projects | count }}</span> &nbsp;<span title="Members" data-toggle="tooltip"><span class="oi" data-glyph="person"></span> {{group.users | count}}</span></div>
            </div>
          </div>
        </div>
      {% endfor %}
    {% else %}
    <p>No groups have been created on this pagure instance yet</p>
    {% endif %}
  </section>
</div>
{% endblock %}

{% block jscripts %}
    {{ super() }}
<script src="{{ url_for('static', filename='vendor/selectize/selectize.min.js') }}" type="text/javascript"> </script>
<script type="text/javascript">
$(document).ready(function() {
  $('#headerSearch').on('keypress keydown keyup', function(e) {
    if (e.which == 13) {
        e.preventDefault();
        return false;
    }
  });

  $('#term').selectize({
    valueField: 'group',
    labelField: 'group',
    searchField: 'group',
    onType: function(value){
      if (value == ""){
      this.close();
      }
    },
    onChange: function(value){
      if (value != ""){
        $('#headerSearch').submit();
      }
    },
    maxItems: 1,
    create: false,
    load: function(query, callback) {
      if (!query.length) return callback();
      $.getJSON(
        "{{ url_for('api_ns.api_groups') }}", {
          pattern: query
        },
        function( data ) {
          callback( data.groups.map(function(x) { return { group: x }; }) );
        }
      );
    }
  });
});
</script>
{% endblock %}