Few fixes.

see #89
This commit is contained in:
Antoine Nguyen
2013-11-20 20:10:36 +01:00
parent 6e23c5441e
commit c07d58378b
5 changed files with 40 additions and 8 deletions
+22 -5
View File
@@ -60,11 +60,14 @@ $(document).ready(function() {
interval: {{ interval }},
success_cb: function(data) {
var $link = $("#nbrequests");
var $maincounter = $("#alerts-counter");
if (data.requests > 0) {
$link.html(data.requests + " " + "{{ text }}");
$link.parent().removeClass('hidden');
$maincounter.html(data.requests);
$link.children("span").html(data.requests);
$maincounter.closest('div').removeClass('hidden');
} else {
$link.parent().addClass('hidden');
$maincounter.closest('div').addClass('hidden');
}
}
});
@@ -102,10 +105,24 @@ def display_requests(user):
url = reverse("modoboa.extensions.amavis.views.index")
url += "#listing/?viewrequests=1"
tpl = Template('<div class="btn-group {{ css }}"><a id="nbrequests" href="{{ url }}" class="btn btn-danger">{{ label }}</a></div>')
tpl = Template("""<ul class="nav pull-right {{ css }}">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="icon-white icon-bell"></i> <span id="alerts-counter" class="label label-important">{{ nbrequests }}</span>
</a>
<ul class="dropdown-menu">
<li>
<a id="nbrequests" href="{{ url }}">
<span class="label label-important">{{ nbrequests }}</span> {{ label }}
</a>
</li>
</ul>
</li>
</ul>""")
css = "hidden" if nbrequests == 0 else ""
return [tpl.render(Context(dict(
label=_("%d pending requests" % nbrequests), url=url, css=css
label=_("Pending requests"), url=url, css=css,
nbrequests=nbrequests
)))]
@@ -167,7 +167,9 @@ Quarantine.prototype = {
}
$.ajax({
url: $link.attr("href"),
dataType: 'json'
dataType: 'json',
type: 'POST',
data: {rcpt: get_parameter_by_name($link.attr("href"), 'rcpt')}
}).done($.proxy(this.action_cb, this));
},
@@ -9,7 +9,7 @@ register = template.Library()
@register.simple_tag
def viewm_menu(user, mail_id, rcpt):
def viewm_menu(mail_id, rcpt):
entries = [
{"name": "release",
"img": "icon-white icon-ok",
+1 -1
View File
@@ -147,7 +147,7 @@ def viewmail(request, mail_id):
content = Template("""
<iframe src="{{ url }}" id="mailcontent"></iframe>
""").render(Context({"url": reverse(getmailcontent, args=[mail_id])}))
menu = viewm_menu(request.user, mail_id, rcpt)
menu = viewm_menu(mail_id, rcpt)
ctx = getctx("ok", menu=menu, listing=content)
request.session['location'] = 'viewmail'
return HttpResponse(simplejson.dumps(ctx), mimetype="application/json")
+13
View File
@@ -233,6 +233,19 @@ function parse_qs(raw) {
return res;
}
/*
* Extract a specific URL parameter using its name.
*
* Ref: http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript
*/
function get_parameter_by_name(url, name) {
var name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(url);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
/*
* Return the target associated to an event object.
*/