From 7bd67eb55ac4432fe28ede46bb0650db05cfb78e Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Thu, 2 Feb 2012 14:30:12 +0100 Subject: [PATCH] Restoring lost modifications during the last merge... --- extensions/webmail/static/js/webmail.js | 11 +++++----- .../webmail/templates/webmail/index.html | 8 +++---- extensions/webmail/urls.py | 3 +-- extensions/webmail/views.py | 21 ++++++++++++++++++- 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/extensions/webmail/static/js/webmail.js b/extensions/webmail/static/js/webmail.js index dc3b3ee0e..7072210e3 100644 --- a/extensions/webmail/static/js/webmail.js +++ b/extensions/webmail/static/js/webmail.js @@ -544,11 +544,10 @@ var Webmail = new Class({ //wm_updatelisting(resp); this.page_update(resp); - window.addEvent("resize", this.resize_window_callback.bind(this)); - var editormode = resp.editor; if (editormode == "html") { + window.addEvent("resize", this.resize_window_callback.bind(this)); var instance = CKEDITOR.instances[editorid]; if (instance) { CKEDITOR.remove(instance); @@ -584,12 +583,14 @@ var Webmail = new Class({ * Callback of the 'sendmail' action. */ sendmail_callback: function(evt) { + var link = evt.target; + evt.stop(); infobox.show(gettext("Sending..."), { profile : "gray", spinner : true }); - disable_link(this); + disable_link(link); $("composemail").set("send", { onSuccess: function(resp) { resp = JSON.decode(resp); @@ -603,10 +604,10 @@ var Webmail = new Class({ } current_anchor.parse_string(resp.url, true).setparams(navparams); current_anchor.update(); - this.eliminate("editormode"); + link.eliminate("editormode"); }.bind(this) }); - if (this.retrieve("editormode") == "html") { + if (link.retrieve("editormode") == "html") { CKEDITOR.instances[editorid].updateElement(); } $("composemail").send(); diff --git a/extensions/webmail/templates/webmail/index.html b/extensions/webmail/templates/webmail/index.html index 3fe6ae9fa..5931fc72b 100644 --- a/extensions/webmail/templates/webmail/index.html +++ b/extensions/webmail/templates/webmail/index.html @@ -74,10 +74,10 @@ function wm_updatelisting(resp) { new Webmail({ refreshRate: {{ refreshrate }}, - modify_url: "{% url extensions.webmail.views.editfolder %}", - delete_url: "{% url extensions.webmail.views.delfolder %}", - move_url: "{% url extensions.webmail.views.move %}", - submboxes_url: "{% url extensions.webmail.views.submailboxes %}" + modify_url: "{% url modoboa.extensions.webmail.views.editfolder %}", + delete_url: "{% url modoboa.extensions.webmail.views.delfolder %}", + move_url: "{% url modoboa.extensions.webmail.views.move %}", + submboxes_url: "{% url modoboa.extensions.webmail.views.submailboxes %}" }); current_anchor.register_callback("folder", function(resp) { diff --git a/extensions/webmail/urls.py b/extensions/webmail/urls.py index d36d30fd7..58bda3e51 100644 --- a/extensions/webmail/urls.py +++ b/extensions/webmail/urls.py @@ -10,8 +10,7 @@ urlpatterns = patterns( #(r'^$', "index"), (r'^$', "newindex"), (r'^submailboxes', "submailboxes"), - #(r'^mailcontent', "getmailcontent"), - + (r'^getmailcontent', 'getmailcontent'), # (r'^compose/$', "compose"), (r'^move/$', "move"), diff --git a/extensions/webmail/views.py b/extensions/webmail/views.py index c7f2c9cf3..007f294a1 100644 --- a/extensions/webmail/views.py +++ b/extensions/webmail/views.py @@ -157,6 +157,7 @@ def fetchmail(request, mbox, mailid, all=False): # menu=menu, content=content)) # return HttpResponse(simplejson.dumps(ctx), mimetype="application/json") + @login_required @needs_mailbox() def viewmail(request, folder, mail_id=None): @@ -174,6 +175,8 @@ def viewmail(request, folder, mail_id=None): "folder" : mbox, "imapid" : mailid, "mailbody" : email.body }) + + @login_required @needs_mailbox() def getattachment(request, folder, mail_id): @@ -602,9 +605,25 @@ def render_compose(request, form, posturl, email=None, insert_signature=False): return ctx def compose(request): + if request.method == "POST": + return send_mail(request) + form = ComposeMailForm() form.fields["from_"].initial = request.user.username - return render_compose(request, form, "compose", insert_signature=True) + return render_compose(request, form, "?action=compose", insert_signature=True) + +@login_required +@needs_mailbox() +def getmailcontent(request): + mbox = request.GET.get("mbox", None) + mailid = request.GET.get("mailid", None) + if mbox is None or mailid is None: + raise WebmailError(_("Invalid request")) + email = ImapEmail(mbox, mailid, request, links=request.GET["links"]) + return _render(request, "common/viewmail.html", { + "headers" : email.render_headers(folder=mbox, mail_id=mailid), + "folder" : mbox, "imapid" : mailid, "mailbody" : email.body + }) def viewmail(request): mailid = request.GET.get("mailid", None)