mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
@@ -27,7 +27,7 @@ function check_prereqs(evt, msg) {
|
||||
if (!curscript) {
|
||||
return false;
|
||||
}
|
||||
if (!confirm(msg)) {
|
||||
if ($defined(msg) && !confirm(msg)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -88,11 +88,20 @@ function activatescript(evt) {
|
||||
send_command("{% url extensions.sievefilters.views.activate_filters_set %}");
|
||||
}
|
||||
|
||||
function downloadscript(evt) {
|
||||
if (!curscript) {
|
||||
evt.stop();
|
||||
return;
|
||||
}
|
||||
this.set("href", this.get("href") + "?name=" + curscript);
|
||||
}
|
||||
|
||||
$(document).addEvent("domready", function() {
|
||||
$$("a[name=loadscript]").addEvent("click", loadscript);
|
||||
$$("a[name=savescript]").addEvent("click", savescript);
|
||||
$$("a[name=deletescript]").addEvent("click", deletescript);
|
||||
$$("a[name=activatescript]").addEvent("click", activatescript);
|
||||
$$("a[name=downloadscript]").addEvent("click", downloadscript);
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
@@ -29,7 +29,11 @@ def sfilters_menu(user):
|
||||
{"name" : "deletescript",
|
||||
"img" : static_url("pics/remove.png"),
|
||||
"label" : _("Remove filters set"),
|
||||
"url" : reverse(views.delete_filters_set),}
|
||||
"url" : reverse(views.delete_filters_set),},
|
||||
{"name" : "downloadscript",
|
||||
"img" : static_url("pics/download.png"),
|
||||
"label" : _("Download"),
|
||||
"url" : reverse(views.download_filters_set)}
|
||||
]
|
||||
|
||||
return render_to_string('common/menulist.html',
|
||||
|
||||
@@ -7,4 +7,5 @@ urlpatterns = patterns('modoboa.extensions.sievefilters.views',
|
||||
(r'^newfs/$', 'new_filters_set'),
|
||||
(r'^deletefs/$', 'delete_filters_set'),
|
||||
(r'^activatefs/$', 'activate_filters_set'),
|
||||
(r'^downloadfs/$', 'download_filters_set'),
|
||||
)
|
||||
|
||||
@@ -101,3 +101,21 @@ def activate_filters_set(request):
|
||||
except SieveClientError, e:
|
||||
return ajax_response(request, "ko", respmsg=str(e))
|
||||
return ajax_response(request, respmsg=_("Filters set activated"))
|
||||
|
||||
@login_required
|
||||
def download_filters_set(request):
|
||||
if not request.GET.has_key("name") or \
|
||||
request.GET["name"] == "":
|
||||
return
|
||||
sc = SieveClient(user=request.user.username,
|
||||
password=request.session["password"])
|
||||
try:
|
||||
script = sc.getscript(request.GET["name"])
|
||||
except SieveClientError, e:
|
||||
return ajax_response(request, "ko", respmsg=str(e))
|
||||
|
||||
resp = HttpResponse(script)
|
||||
resp["Content-Type"] = "text/plain"
|
||||
resp["Content-Length"] = len(script)
|
||||
resp["Content-Disposition"] = "attachment; filename=%s.txt" % request.GET["name"]
|
||||
return resp
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 663 B |
Reference in New Issue
Block a user