users.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. {% extends "admin/layout.html" %}
  2. {% load i18n %}
  3. {% load humanize %}
  4. {% load url from future %}
  5. {% from "admin/macros.html" import page_title %}
  6. {% from "admin/overview/plot.html" import draw_plot_tooltips, draw_plot with context %}
  7. {% block title %}{{ page_title(title=_('Users Overview')) }}{% endblock %}
  8. {% block content %}
  9. <div class="page-header">
  10. <h1>{% trans %}Users Overview{% endtrans %} <small>{% trans count=users|int, total=users|intcomma -%}One user registered
  11. {%- pluralize -%}
  12. {{ total }} users registered
  13. {%- endtrans %}</small></h1>
  14. </div>
  15. <div class="alert alert-error">
  16. <div class="alert-icon"><span><i class="icon-fire icon-white"></i></span></div>
  17. <p><strong>13 user accounts are awaiting activation.</strong></p>
  18. <p class="protip"><a href="">{% trans %}Click here to go to inactive users list.{% endtrans %}</a></p>
  19. </div>
  20. <h2>User Registrations</h2>
  21. <div class="graph">
  22. <canvas id="graph-users" height="150px"></canvas>
  23. {{ draw_plot_tooltips('graph-users', graph) }}
  24. <div class="timeline">
  25. <div class="pull-left">{{ graph.start|date }}</div>
  26. <div class="pull-right">{{ graph.end|date(graph.format) }}</div>
  27. </div>
  28. </div>
  29. <p class="sub-graph pull-right">{% trans count=graph.total|int, total=graph.total|intcomma -%}One registration found in period requested
  30. {%- pluralize -%}
  31. {{ total }} registrations found in period requested
  32. {%- endtrans %}</p>
  33. <ul class="nav nav-pills sub-graph">
  34. <li{% if mode == "day" %} class="active"{% endif %}><a href="{% url 'admin_users_overview' %}">{% trans %}Last 24h{% endtrans %}</a></li>
  35. <li{% if mode == "week" %} class="active"{% endif %}><a href="{% url 'admin_users_overview_week' %}">{% trans %}Last Week{% endtrans %}</a></li>
  36. <li{% if mode == "month" %} class="active"{% endif %}><a href="{% url 'admin_users_overview_month' %}">{% trans %}Last Month{% endtrans %}</a></li>
  37. <li{% if mode == "year" %} class="active"{% endif %}><a href="{% url 'admin_users_overview_year' %}">{% trans %}Last Year{% endtrans %}</a></li>
  38. </ul>
  39. <hr>
  40. <h2>{% trans %}Staff Online{% endtrans %} <small>{{ staff|length|intcomma }}</small></h2>{% if staff %}
  41. <div class="row list-tiny">{% for session in staff %}
  42. <div class="span2 popover-staff-{{ loop.index }} clickable">
  43. <img src="{{ session.user.get_avatar() }}" class="avatar-tiny"> {{ session.user.username }}
  44. </div>{% endfor %}
  45. </div>{% else %}
  46. <p>{% trans %}No staff members are currently browsing forums.{% endtrans %}</p>
  47. {% endif %}
  48. {% endblock %}
  49. {% block javascripts %}
  50. <script type="text/javascript">{% if staff %}
  51. $(function () {
  52. // Register popovers{% for session in staff %}
  53. $('.popover-staff-{{ loop.index }}').popover({
  54. placement: 'top',
  55. trigger: 'click',
  56. title: '{{ popover_title(session)|escapejs }}',
  57. content: '{{ popover_content(session)|escapejs }}'
  58. });{% endfor %}
  59. });{% endif %}
  60. {{ draw_plot('draw_users', 'graph-users', graph.max, graph.stat) }}
  61. </script>
  62. {% endblock %}
  63. {% macro popover_title(session) -%}
  64. <div class="user-card">
  65. <img src="{{ session.user.get_avatar() }}" class="avatar-small">
  66. {{ session.user.username }}
  67. </div>
  68. {%- endmacro %}
  69. {% macro popover_content(session) -%}
  70. <strong>{% trans last_action=session.last|timesince, ip=session.ip %}{{ last_action }} ago from {{ ip }}{% endtrans %}</strong>
  71. <p>{{ session.agent }}</p>
  72. {%- endmacro %}