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 %}
-
-
-
-
-
-
-
-
-
-
- {% 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 %}
+
+
+
+
+ {% 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