diff --git a/modoboa/core/tables.py b/modoboa/core/tables.py
index e35868cab..78a730983 100644
--- a/modoboa/core/tables.py
+++ b/modoboa/core/tables.py
@@ -4,6 +4,7 @@ from modoboa.lib import tables
class ExtensionsTable(tables.Table):
idkey = "id"
+ styles = "table-hover"
selection = tables.SelectionColumn("selection", width="4%", header=False)
label = tables.Column("label", label=ugettext_lazy("Name"), width="15%")
version = tables.Column(
diff --git a/modoboa/extensions/admin/static/admin/js/admin.js b/modoboa/extensions/admin/static/admin/js/admin.js
index a56bd6fc6..33162d160 100644
--- a/modoboa/extensions/admin/static/admin/js/admin.js
+++ b/modoboa/extensions/admin/static/admin/js/admin.js
@@ -203,6 +203,10 @@ Identities.prototype = {
page_loader: function(e) {
var $link = get_target(e);
e.preventDefault();
+ if ($link.hasClass("navigation")) {
+ $(".sidebar li.active").removeClass("active");
+ $link.parent().addClass("active");
+ }
this.navobj.baseurl($link.attr("href")).update();
},
diff --git a/modoboa/extensions/admin/templates/admin/identities.html b/modoboa/extensions/admin/templates/admin/identities.html
index 632a6f31c..1964d5931 100644
--- a/modoboa/extensions/admin/templates/admin/identities.html
+++ b/modoboa/extensions/admin/templates/admin/identities.html
@@ -22,4 +22,4 @@ $(document).ready(function() {
{% extra_static_content "identities" user %}
{% endblock %}
-{% block actions %}{% identities_menu user %}{% endblock %}
+{% block actions %}{% identities_menu user "identities" %}{% endblock %}
diff --git a/modoboa/extensions/admin/templatetags/admin_tags.py b/modoboa/extensions/admin/templatetags/admin_tags.py
index e1a079506..d85322c96 100644
--- a/modoboa/extensions/admin/templatetags/admin_tags.py
+++ b/modoboa/extensions/admin/templatetags/admin_tags.py
@@ -60,7 +60,7 @@ def domains_menu(selection, user):
@register.simple_tag
-def identities_menu(user):
+def identities_menu(user, selection=None):
"""Menu specific to the Identities page.
:param ``User`` user: the connecter user
@@ -71,12 +71,12 @@ def identities_menu(user):
{"name": "identities",
"label": _("List identities"),
"img": "glyphicon glyphicon-user",
- "class": "ajaxlink",
+ "class": "ajaxlink navigation",
"url": "list/"},
{"name": "quotas",
"label": _("List quotas"),
"img": "glyphicon glyphicon-hdd",
- "class": "ajaxlink",
+ "class": "ajaxlink navigation",
"url": "quotas/"},
{"name": "newaccount",
"label": _("Add account"),
@@ -119,7 +119,8 @@ def identities_menu(user):
return render_to_string('common/menulist.html', {
"entries": entries,
- "user": user
+ "user": user,
+ "selection": selection
})
diff --git a/modoboa/extensions/amavis/static/amavis/css/quarantine.css b/modoboa/extensions/amavis/static/amavis/css/quarantine.css
index 07133c6bc..c5e08286e 100644
--- a/modoboa/extensions/amavis/static/amavis/css/quarantine.css
+++ b/modoboa/extensions/amavis/static/amavis/css/quarantine.css
@@ -40,7 +40,7 @@
margin: 0;
}
-#listing.fluid-content-quarantine{
+#listing.fluid-content-quarantine {
position: relative;
padding-top: 30px;
height: 0;
diff --git a/modoboa/extensions/amavis/static/amavis/js/quarantine.js b/modoboa/extensions/amavis/static/amavis/js/quarantine.js
index 9b9517c1b..0807a667b 100644
--- a/modoboa/extensions/amavis/static/amavis/js/quarantine.js
+++ b/modoboa/extensions/amavis/static/amavis/js/quarantine.js
@@ -286,7 +286,8 @@ Quarantine.prototype = {
viewmail_cb: function(data) {
this.update_page(data);
- $("#listing").css("overflow", "hidden");
+ /*$("#listing").css("overflow", "hidden");*/
+ $("body").css("overflow", "hidden");
},
action_cb: function(data) {
diff --git a/modoboa/extensions/amavis/templates/amavis/index.html b/modoboa/extensions/amavis/templates/amavis/index.html
index 7bdfd3779..cad7f7ca7 100644
--- a/modoboa/extensions/amavis/templates/amavis/index.html
+++ b/modoboa/extensions/amavis/templates/amavis/index.html
@@ -19,6 +19,10 @@ $(document).ready(function() {
{% endblock %}
{% block fixed_content %}
-
-
+
+
+
+
{% endblock %}
diff --git a/modoboa/extensions/amavis/views.py b/modoboa/extensions/amavis/views.py
index 8a3284004..92f811b0a 100644
--- a/modoboa/extensions/amavis/views.py
+++ b/modoboa/extensions/amavis/views.py
@@ -1,12 +1,13 @@
# coding: utf-8
import email
+
from django.shortcuts import render
from django.http import HttpResponseRedirect, Http404
from django.template import Template, Context
from django.utils.translation import ugettext as _, ungettext
from django.core.urlresolvers import reverse
-from django.contrib.auth.decorators \
- import login_required, user_passes_test
+from django.contrib.auth.decorators import login_required
+
from modoboa.lib import parameters
from modoboa.lib.exceptions import BadRequest
from modoboa.lib.webutils import (
diff --git a/modoboa/extensions/radicale/templatetags/radicale_tags.py b/modoboa/extensions/radicale/templatetags/radicale_tags.py
index b80fa3a0e..29ccd4ed1 100644
--- a/modoboa/extensions/radicale/templatetags/radicale_tags.py
+++ b/modoboa/extensions/radicale/templatetags/radicale_tags.py
@@ -22,7 +22,7 @@ def radicale_left_menu(user):
entries = [
{"name": "newusercalendar",
"label": _("Add calendar"),
- "img": "icon-plus",
+ "img": "glyphicon glyphicon-plus",
"modal": True,
"modalcb": "radicale.add_calendar_cb",
"url": reverse("new_user_calendar")},
@@ -31,7 +31,7 @@ def radicale_left_menu(user):
entries += [
{"name": "newsharedcalendar",
"label": _("Add shared calendar"),
- "img": "icon-plus",
+ "img": "glyphicon glyphicon-plus",
"modal": True,
"modalcb": "radicale.shared_calendar_cb",
"url": reverse("new_shared_calendar")},
diff --git a/modoboa/extensions/stats/static/stats/js/stats.js b/modoboa/extensions/stats/static/stats/js/stats.js
index d81027ccb..d54a55e25 100644
--- a/modoboa/extensions/stats/static/stats/js/stats.js
+++ b/modoboa/extensions/stats/static/stats/js/stats.js
@@ -7,7 +7,8 @@ Stats.prototype = {
defaults: {
deflocation: "graphs/",
- language: "en"
+ language: "en",
+ domain_list_url: null
},
initialize: function(options) {
@@ -17,19 +18,19 @@ Stats.prototype = {
var navobj = new History(this.options);
this.navobj = navobj;
- if (navobj.params.searchquery != undefined) {
+ if (navobj.params.searchquery !== undefined) {
$("#searchquery").val(navobj.params.searchquery);
}
$("#searchquery").focus(function() {
var $this = $(this);
- if ($this.val() == undefined) {
+ if ($this.val() === undefined) {
return;
}
$this.data("oldvalue", $this.val());
$this.val("");
}).blur(function() {
var $this = $(this);
- if ($this.val() == "") {
+ if ($this.val() === "") {
if ($this.data("oldvalue")) {
$this.val($this.data('oldvalue'));
$this.data("oldvalue", null);
@@ -52,7 +53,7 @@ Stats.prototype = {
language: this.options.language
});
$("#searchquery").autocompleter({
- choices: get_domains_list,
+ choices: $.proxy(this.get_domain_list, this),
choice_selected: $.proxy(this.search_domain, this),
empty_choice: $.proxy(this.reset_search, this)
});
@@ -72,9 +73,25 @@ Stats.prototype = {
$.proxy(this.charts_cb, this));
},
+ /**
+ * Retrieve a list of domain from the server.
+ */
+ get_domain_list: function() {
+ var result;
+
+ $.ajax({
+ url: this.options.domain_list_url,
+ dataType: "json",
+ async: false
+ }).done(function(data) {
+ result = data;
+ });
+ return result;
+ },
+
change_period: function(e) {
e.preventDefault();
- var $link = $(e.target);
+ var $link = $(e.target).children("input");
this.navobj.delparam("start").delparam("end");
this.navobj.setparam("period", $link.attr("data-period")).update();
@@ -99,6 +116,9 @@ Stats.prototype = {
* @param {Object} data
*/
charts_cb: function(data) {
+ var menuid = "menu_" + this.navobj.getparam("gset");
+
+ $("#" + menuid).addClass("active");
this.data = data;
if (this.charts !== undefined) {
$.each(this.charts, function(id, mychart) {
@@ -128,7 +148,7 @@ Stats.prototype = {
var $fromdate = $("#id_from");
var $todate = $("#id_to");
- if ($fromdate.val() == "" || $todate.val() == "") {
+ if ($fromdate.val() === "" || $todate.val() === "") {
return;
}
this.navobj.setparams({
diff --git a/modoboa/extensions/stats/templates/stats/index.html b/modoboa/extensions/stats/templates/stats/index.html
index 633083d5e..c22a6753b 100644
--- a/modoboa/extensions/stats/templates/stats/index.html
+++ b/modoboa/extensions/stats/templates/stats/index.html
@@ -9,15 +9,10 @@
{% endblock %}
{% block leftcol %}
-
-