From e0263794eb7b27e0a369090b5c02ac78aebf9773 Mon Sep 17 00:00:00 2001 From: tonio Date: Wed, 5 Jan 2011 09:52:38 +0100 Subject: [PATCH] see #103 Statistics plugin update. --- .hgignore | 3 + extensions/stats/main.py | 8 -- .../stats/templates/stats/adminindex.html | 8 -- extensions/stats/templates/stats/content.html | 114 ---------------- extensions/stats/templates/stats/index.html | 124 +++++++++++++++++- extensions/stats/urls.py | 3 +- extensions/stats/views.py | 35 +++-- 7 files changed, 137 insertions(+), 158 deletions(-) delete mode 100644 extensions/stats/templates/stats/adminindex.html delete mode 100644 extensions/stats/templates/stats/content.html diff --git a/.hgignore b/.hgignore index e224f9837..d8d3c0558 100644 --- a/.hgignore +++ b/.hgignore @@ -3,3 +3,6 @@ static/tmp static/js/ckeditor settings.py +doc/.build +doc/.static +doc/.templates diff --git a/extensions/stats/main.py b/extensions/stats/main.py index dfb1bf0bc..3372e4e42 100644 --- a/extensions/stats/main.py +++ b/extensions/stats/main.py @@ -39,14 +39,6 @@ def urls(prefix): include('modoboa.extensions.stats.urls')) def menu(**kwargs): - if kwargs["target"] == "admin_menu_bar": - domain_id = kwargs['domain'] - return [ - {"label" : _("Statistics"), - "name" : "stats", - "url" : reverse('domindex', args=[domain_id]), - "img" : static_url("pics/graph.png")} - ] if kwargs["target"] == "admin_menu_box": return [ {"name" : "stats", diff --git a/extensions/stats/templates/stats/adminindex.html b/extensions/stats/templates/stats/adminindex.html deleted file mode 100644 index 75d44111c..000000000 --- a/extensions/stats/templates/stats/adminindex.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends "nlayout.html" %} -{% load i18n %} -{% load admin_extras %} -{% block middletitle %}{% trans "Global statistics" %}{% endblock %} -{% block menu %}{% domains_menu "stats" user %}{% endblock %} -{% block content %} -{% include "stats/content.html" %} -{% endblock %} diff --git a/extensions/stats/templates/stats/content.html b/extensions/stats/templates/stats/content.html deleted file mode 100644 index 1bfe6ff6a..000000000 --- a/extensions/stats/templates/stats/content.html +++ /dev/null @@ -1,114 +0,0 @@ -{% load i18n %} - - - - - - -
- {% if admin %} -
- - -
- {% endif %} -
- - -
-
- {% url extensions.stats.main.custom_period as c_stats_url %} - {% trans "Start" %}: - {% trans "End" %}: - -
-
- -
-
- {% include "stats/graphs.html" %} -
diff --git a/extensions/stats/templates/stats/index.html b/extensions/stats/templates/stats/index.html index 33d8dff90..67102b8b4 100644 --- a/extensions/stats/templates/stats/index.html +++ b/extensions/stats/templates/stats/index.html @@ -1,8 +1,120 @@ -{% extends "admin/domain_header.html" %} -{% block menu %} -{% load admin_extras %} -{% domain_menu domain.id "stats" user %} +{% extends "admin/domains_header.html" %} +{% load i18n %} +{% block html_head %} + + + + + + {% endblock %} -{% block domcontent %} -{% include "stats/content.html" %} +{% block pagetitle %}{% trans "Statistics" %}{% endblock %} +{% block subcontent %} +
+ {% if user.is_superuser %} +
+ + +
+ {% endif %} +
+ + +
+
+ {% trans "Start" %}: + {% trans "End" %}: + +
+
+ +
+
+ {% include "stats/graphs.html" %} +
{% endblock %} + diff --git a/extensions/stats/urls.py b/extensions/stats/urls.py index 912640dc5..2850ff4bd 100644 --- a/extensions/stats/urls.py +++ b/extensions/stats/urls.py @@ -1,8 +1,7 @@ from django.conf.urls.defaults import * urlpatterns = patterns('modoboa.extensions.stats.views', - url(r'^$', 'adminindex', name='fullindex'), - url(r'^(?P\d+)/$', 'index', name='domindex'), + url(r'^$', 'index', name='fullindex'), url(r'^graph/$', "getgraph", name="getgraph_root"), url(r'^graph/(?P\w+)/$', "getgraph", name="getgraph"), ) diff --git a/extensions/stats/views.py b/extensions/stats/views.py index b73976e3f..f748f13e4 100644 --- a/extensions/stats/views.py +++ b/extensions/stats/views.py @@ -21,33 +21,28 @@ periods = [{"name" : "day", "label" : _("Day")}, {"name" : "year", "label" : _("Year")}, {"name" : "custom", "label" : _("Custom")}] -@login_required -@user_passes_test(lambda u: u.is_superuser) -def adminindex(request): - domains = Domain.objects.all() - return _render(request, 'stats/adminindex.html', { - "admin" : True, - "domain" : "global", - "domains" : domains, - "graphs" : graph_list, - "periods" : periods, - "period" : "day"}) - @login_required @good_domain @permission_required("admin.view_mailboxes") -def index(request, dom_id=None): +def index(request): domain = None + domains = None period = request.GET.has_key("period") and request.GET["period"] or "day" - if request.user.has_perm("admin.view_mailboxes"): - domain = Domain.objects.get(pk=dom_id) + domid = request.GET.has_key("domid") and request.GET["domid"] or "" + if request.user.is_superuser: + domains = Domain.objects.all() + else: + domain = Domain.objects.get(pk=domid) return _render(request, 'stats/index.html', { - "domain" : domain, - "graphs" : graph_list, - "periods" : periods, - "period" : period - }) + "domains" : domains, + "domain" : domain, + "graphs" : graph_list, + "periods" : periods, + "period" : period, + "selection" : "stats", + "domid" : domid + }) @login_required @good_domain