mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
@@ -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",
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user