put overview/suymmary at bottom of stats tabs list so is shown by default
put overview/suymmary at bottom of stats tabs list so is shown by default

{% extends "page.html" %} {% extends "page.html" %}
   
{% block breadcrumb_content %} {% block breadcrumb_content %}
<li class="active">{{ 'Statistics' }}</li> <li class="active">{{ 'Statistics' }}</li>
{% endblock %} {% endblock %}
   
{% block primary_content %} {% block primary_content %}
<article class="module"> <article class="module">
<section id="summary" class="module-content tab-content">  
<h2>{{ _('Summary') }}</h2>  
{% if c.summary_stats %}  
<table class="table table-chunky table-bordered table-striped">  
<thead>  
<tr>  
<th>{{ _('Measure') }}</th>  
<th class="metric">{{ _('Value') }}</th>  
</tr>  
</thead>  
<tbody>  
{% for measure,value in c.summary_stats %}  
<tr>  
<td>{{measure}}</td>  
<td class="metric">{{ value }}</td>  
</tr>  
{% endfor %}  
</tbody>  
</table>  
{% else %}  
<p class="empty">{{ _('No groups') }}</p>  
{% endif %}  
</section>  
{% if h.check_access('sysadmin') %} {% if h.check_access('sysadmin') %}
<section id="activity-counts" class="module-content tab-content"> <section id="stats-activity-counts" class="module-content tab-content">
<h2>{{ _('Site Activity Log') }}</h2> <h2>{{ _('Site Activity Log') }}</h2>
{% if c.activity_counts %} {% if c.activity_counts %}
<table class="table table-chunky table-bordered table-striped"> <table class="table table-chunky table-bordered table-striped">
<thead> <thead>
<tr> <tr>
<th>{{ _('Month') }}</th> <th>{{ _('Month') }}</th>
<th>{{ _('Activity Type') }}</th> <th>{{ _('Activity Type') }}</th>
<th class="metric">{{ _('Count') }}</th> <th class="metric">{{ _('Count') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for month, type, count in c.activity_counts %} {% for month, type, count in c.activity_counts %}
<tr> <tr>
<td>{{ month }}</td> <td>{{ month }}</td>
<td>{{ type }}</td> <td>{{ type }}</td>
<td class="metric">{{ count }}</td> <td class="metric">{{ count }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% else %} {% else %}
<p class="empty">{{ _('No groups') }}</p> <p class="empty">{{ _('No groups') }}</p>
{% endif %} {% endif %}
</section> </section>
<section id="recent-datasets" class="module-content tab-content"> <section id="stats-recent-datasets" class="module-content tab-content">
<h2>{{ _('Recent Datasets') }}</h2> <h2>{{ _('Recent Datasets') }}</h2>
{% if c.recent_datasets %} {% if c.recent_datasets %}
<table class="table table-chunky table-bordered table-striped"> <table class="table table-chunky table-bordered table-striped">
<thead> <thead>
<tr> <tr>
<th>{{ _('Date') }}</th> <th>{{ _('Date') }}</th>
<th>{{ _('Dataset') }}</th> <th>{{ _('Dataset') }}</th>
<th>{{ _('New/Modified') }}</th> <th>{{ _('New/Modified') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for date,package,newmodified in c.recent_datasets %} {% for date,package,newmodified in c.recent_datasets %}
<tr> <tr>
<td>{{ date }}</td> <td>{{ date }}</td>
<td>{{ h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name)) }}</td> <td>{{ h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name)) }}</td>
<td>{{ newmodified }}</td> <td>{{ newmodified }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% else %} {% else %}
<p class="empty">{{ _('No groups') }}</p> <p class="empty">{{ _('No groups') }}</p>
{% endif %} {% endif %}
</section> </section>
<section id="user-access-list" class="module-content tab-content"> <section id="stats-user-access-list" class="module-content tab-content">
<h2>{{ _('User Access List') }}</h2> <h2>{{ _('User Access List') }}</h2>
{% if c.user_access_list %} {% if c.user_access_list %}
<table class="table table-chunky table-bordered table-striped"> <table class="table table-chunky table-bordered table-striped">
<thead> <thead>
<tr> <tr>
<th>{{ _('Username') }}</th> <th>{{ _('Username') }}</th>
<th>{{ _('Sysadmin') }}</th> <th>{{ _('Sysadmin') }}</th>
<th class="metric">{{ _('Organisational Role') }}</th> <th class="metric">{{ _('Organisational Role') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for username,sysadmin,role in c.user_access_list %} {% for username,sysadmin,role in c.user_access_list %}
<tr> <tr>
<td>{{ username }}</td> <td>{{ username }}</td>
<td>{{ sysadmin }}</td> <td>{{ sysadmin }}</td>
<td>{{ role }}</td> <td>{{ role }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% else %} {% else %}
<p class="empty">{{ _('No groups') }}</p> <p class="empty">{{ _('No groups') }}</p>
{% endif %} {% endif %}
</section> </section>
{% endif %} {% endif %}
<section id="stats-total-datasets" class="module-content tab-content active"> <section id="stats-total-datasets" class="module-content tab-content active">
<h2>{{ _('Total number of Datasets') }}</h2> <h2>{{ _('Total number of Datasets') }}</h2>
   
{% set xaxis = {'mode': 'time', 'timeformat': '%y-%b'} %} {% set xaxis = {'mode': 'time', 'timeformat': '%y-%b'} %}
{% set yaxis = {'min': 0} %} {% set yaxis = {'min': 0} %}
<table class="table table-chunky table-bordered table-striped" data-module="plot" data-module-xaxis="{{ h.dump_json(xaxis) }}" data-module-yaxis="{{ h.dump_json(yaxis) }}"> <table class="table table-chunky table-bordered table-striped" data-module="plot" data-module-xaxis="{{ h.dump_json(xaxis) }}" data-module-yaxis="{{ h.dump_json(yaxis) }}">
<thead> <thead>
<tr> <tr>
<th>{{ _("Date") }}</th> <th>{{ _("Date") }}</th>
<th>{{ _("Total datasets") }}</th> <th>{{ _("Total datasets") }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for row in c.raw_packages_by_week %} {% for row in c.raw_packages_by_week %}
<tr> <tr>
<th data-type="date" data-value="{{ row.date.strftime("%s") }}"><time datetime="{{ row.date.isoformat() }}">{{ h.render_datetime(row.date) }}</time></th> <th data-type="date" data-value="{{ row.date.strftime("%s") }}"><time datetime="{{ row.date.isoformat() }}">{{ h.render_datetime(row.date) }}</time></th>
<td>{{ row.total_packages }}</td> <td>{{ row.total_packages }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
</section> </section>
   
<section id="stats-dataset-revisions" class="module-content tab-content"> <section id="stats-dataset-revisions" class="module-content tab-content">
<h2>{{ _('Dataset Revisions per Week') }}</h2> <h2>{{ _('Dataset Revisions per Week') }}</h2>
   
{% set xaxis = {'mode': 'time', 'timeformat': '%y-%b'} %} {% set xaxis = {'mode': 'time', 'timeformat': '%y-%b'} %}
{% set lines = {'fill': 1} %} {% set lines = {'fill': 1} %}
<table class="table table-chunky table-bordered table-striped" data-module="plot" data-module-xaxis="{{ h.dump_json(xaxis) }}" data-module-lines="{{ h.dump_json(lines) }}"> <table class="table table-chunky table-bordered table-striped" data-module="plot" data-module-xaxis="{{ h.dump_json(xaxis) }}" data-module-lines="{{ h.dump_json(lines) }}">
<thead> <thead>
<tr> <tr>
<th>{{ _("Date") }}</th> <th>{{ _("Date") }}</th>
<th>{{ _("All dataset revisions") }}</th> <th>{{ _("All dataset revisions") }}</th>
<th>{{ _("New datasets") }}</th> <th>{{ _("New datasets") }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for row in c.raw_all_package_revisions %} {% for row in c.raw_all_package_revisions %}
<tr> <tr>
<th data-type="date" data-value="{{ row.date.strftime("%s") }}"><time datetime="{{ row.date.isoformat() }}">{{ h.render_datetime(row.date) }}</time></th> <th data-type="date" data-value="{{ row.date.strftime("%s") }}"><time datetime="{{ row.date.isoformat() }}">{{ h.render_datetime(row.date) }}</time></th>
<td>{{ row.total_revisions }}</td> <td>{{ row.total_revisions }}</td>
<td>{{ c.raw_new_datasets[loop.index0].new_packages }}</td> <td>{{ c.raw_new_datasets[loop.index0].new_packages }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
</section> </section>
   
<section id="stats-top-rated" class="module-content tab-content">  
<h2>{{ _('Top Rated Datasets') }}</h2>  
{% if c.top_rated_packages %}  
<table class="table table-chunky table-bordered table-striped">  
<thead>  
<tr>  
<th>Dataset</th>  
<th class="metric">{{ _('Average rating') }}</th>  
<th class="metric">{{ _('Number of ratings') }}</th>  
</tr>  
</thead>  
<tbody>  
{% for package, rating, num_ratings in c.top_rated_packages %}  
<tr>  
<th>{{ h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name)) }}</th>  
<td class="metric">{{ rating }}</td>  
<td class="metric">{{ num_ratings }}</td>  
</tr>  
{% endfor %}  
</tbody>  
</table>  
{% else %}  
<p class="empty">{{ _('No ratings') }}</p>  
{% endif %}  
</section>  
   
<section id="stats-most-edited" class="module-content tab-content"> <section id="stats-most-edited" class="module-content tab-content">
<h2>{{ _('Most Edited Datasets') }}</h2> <h2>{{ _('Most Edited Datasets') }}</h2>
{% if c.most_edited_packages %} {% if c.most_edited_packages %}
<table class="table table-chunky table-bordered table-striped"> <table class="table table-chunky table-bordered table-striped">
<thead> <thead>
<tr> <tr>
<th>{{ _('Dataset') }}</th> <th>{{ _('Dataset') }}</th>
<th class="metric">{{ _('Number of edits') }}</th> <th class="metric">{{ _('Number of edits') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for package, edits in c.most_edited_packages %} {% for package, edits in c.most_edited_packages %}
<tr py:for="package, edits in c.most_edited_packages"> <tr py:for="package, edits in c.most_edited_packages">
<td>{{ h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name)) }}</td> <td>{{ h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name)) }}</td>
<td class="metric">{{ edits }}</td> <td class="metric">{{ edits }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% else %} {% else %}
<p class="empty">{{ _('No edited datasets') }}</p> <p class="empty">{{ _('No edited datasets') }}</p>
{% endif %} {% endif %}
</section> </section>
   
<section id="stats-largest-groups" class="module-content tab-content"> <section id="stats-largest-groups" class="module-content tab-content">
<h2>{{ _('Largest Groups') }}</h2> <h2>{{ _('Largest Groups') }}</h2>
{% if c.largest_groups %} {% if c.largest_groups %}
<table class="table table-chunky table-bordered table-striped"> <table class="table table-chunky table-bordered table-striped">
<thead> <thead>
<tr> <tr>
<th>{{ _('Group') }}</th> <th>{{ _('Group') }}</th>
<th class="metric">{{ _('Number of datasets') }}</th> <th class="metric">{{ _('Number of datasets') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for group, num_packages in c.largest_groups %} {% for group, num_packages in c.largest_groups %}
<tr> <tr>
<td>{{ h.link_to(group.title or group.name, h.url_for(controller='group', action='read', id=group.name)) }}</td> <td>{{ h.link_to(group.title or group.name, h.url_for(controller='group', action='read', id=group.name)) }}</td>
<td class="metric">{{ num_packages }}</td> <td class="metric">{{ num_packages }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% else %} {% else %}
<p class="empty">{{ _('No groups') }}</p> <p class="empty">{{ _('No groups') }}</p>
{% endif %} {% endif %}
</section> </section>
{% if False %}  
<section id="stats-top-tags" class="module-content tab-content">  
<h2>{{ _('Top Tags') }}</h2>  
<table class="table table-chunky table-bordered table-striped">  
<thead>  
<tr>  
<th>{{ _('Tag Name') }}</th>  
<th class="metric">{{ _('Number of Datasets') }}</th>  
</tr>  
</thead>  
<tbody>  
{% for tag, num_packages in c.top_tags %}  
<tr>  
<td>{{ h.link_to(tag.name, h.url_for(controller='package', action='search', tags=tag.name)) }}</td>  
<td class="metric">{{ num_packages }}</td>  
</tr>  
{% endfor %}  
</tbody>  
</table>  
</section>  
<section id="stats-most-owned" class="module-content tab-content">  
<h2>{{ _('Users Owning Most Datasets') }}</h2>  
<table class="table table-chunky table-bordered table-striped">  
<thead>  
<tr>  
<th>{{ _('User') }}</th>  
<th class="metric">{{ _('Number of Datasets') }}</th>  
</tr>  
</thead>  
<tbody>  
{% for user, num_packages in c.top_package_owners %}  
<tr>  
<td class="media">{{ h.linked_user(user) }}</td>  
<td class="metric">{{ num_packages }}</td>  
</tr>  
{% endfor %}  
</tbody>  
</table>  
</section>  
{% endif %}  
<section id="stats-by-org" class="module-content tab-content"> <section id="stats-by-org" class="module-content tab-content">
<h2>{{ _('Datasets by Organization') }}</h2> <h2>{{ _('Datasets by Organization') }}</h2>
{% if c.by_org %} {% if c.by_org %}
<table class="table table-chunky table-bordered table-striped"> <table class="table table-chunky table-bordered table-striped">
<thead> <thead>
<tr> <tr>
<th>{{ _('Group') }}</th> <th>{{ _('Group') }}</th>
<th>{{ _('Public/Archived') }}</th> <th>{{ _('Public/Archived') }}</th>
<th class="metric">{{ _('Number of datasets') }}</th> <th class="metric">{{ _('Number of datasets') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for group,private, num_packages in c.by_org %} {% for group,private, num_packages in c.by_org %}
{% if private == False or h.check_access('sysadmin') %} {% if private == False or h.check_access('sysadmin') %}
<tr> <tr>
<td>{{ h.link_to(group.title or group.name, h.url_for(controller='organization', action='read', id=group.name)) }}</td> <td>{{ h.link_to(group.title or group.name, h.url_for(controller='organization', action='read', id=group.name)) }}</td>
{% if private == True %} {% if private == True %}
<td>Archived</td> <td>Archived</td>
{% else %} {% else %}
<td>Public</td> <td>Public</td>
{% endif %} {% endif %}
<td class="metric">{{ num_packages }}</td> <td class="metric">{{ num_packages }}</td>
</tr> </tr>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% else %} {% else %}
<p class="empty">{{ _('No groups') }}</p> <p class="empty">{{ _('No groups') }}</p>
{% endif %} {% endif %}
</section> </section>
  <section id="stats-summary" class="module-content tab-content">
  <h2>{{ _('Summary') }}</h2>
  {% if c.summary_stats %}
  <table class="table table-chunky table-bordered table-striped">
  <thead>
  <tr>
  <th>{{ _('Measure') }}</th>
  <th class="metric">{{ _('Value') }}</th>
  </tr>
  </thead>
  <tbody>
  {% for measure,value in c.summary_stats %}
  <tr>
  <td>{{measure}}</td>
  <td class="metric">{{ value }}</td>
  </tr>
  {% endfor %}
  </tbody>
  </table>
  {% else %}
  <p class="empty">{{ _('No groups') }}</p>
  {% endif %}
  </section>
</article> </article>
{% endblock %} {% endblock %}
   
{% block secondary_content %} {% block secondary_content %}
<section class="module module-narrow"> <section class="module module-narrow">
<h2 class="module-heading"><i class="icon-bar-chart icon-medium"></i> {{ _('Statistics Menu') }}</h2>