From 6e038da10450434a981c99a7b2a2b3a21e4429f5 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 1 Feb 2012 09:59:16 +0100 Subject: [PATCH] wip: webmail big refactoring Little issues due to the previous merge have been fixed. --- extensions/webmail/__init__.py | 4 +-- extensions/webmail/urls.py | 53 +++++++++++++++++----------------- extensions/webmail/views.py | 4 +-- 3 files changed, 30 insertions(+), 31 deletions(-) diff --git a/extensions/webmail/__init__.py b/extensions/webmail/__init__.py index a3f2e3bc1..59fe71733 100644 --- a/extensions/webmail/__init__.py +++ b/extensions/webmail/__init__.py @@ -75,8 +75,6 @@ def infos(): @events.observe("UserMenuDisplay") def menu(target, user): - import views - if target != "top_menu": return [] if not user.has_mailbox: @@ -84,7 +82,7 @@ def menu(target, user): return [ {"name" : "webmail", "label" : _("Webmail"), - "url" : reverse(views.index), + "url" : reverse("modoboa.extensions.webmail.views.newindex"), "img" : static_url("pics/webmail.png")} ] diff --git a/extensions/webmail/urls.py b/extensions/webmail/urls.py index 23b026016..d36d30fd7 100644 --- a/extensions/webmail/urls.py +++ b/extensions/webmail/urls.py @@ -5,30 +5,31 @@ from django.conf.urls.defaults import * # name matches one of the first entries (from "compose" to # "attachments"), the associated folder will not be accessible. # -urlpatterns = patterns('modoboa.extensions.webmail.views', - #(r'^$', "index"), - (r'^$', "newindex"), - (r'^submailboxes', "submailboxes"), - (r'^mailcontent', "getmailcontent"), +urlpatterns = patterns( + 'modoboa.extensions.webmail.views', + #(r'^$', "index"), + (r'^$', "newindex"), + (r'^submailboxes', "submailboxes"), + #(r'^mailcontent', "getmailcontent"), - -# (r'^compose/$', "compose"), - (r'^move/$', "move"), - (r'^mark/(?P.+)/$', "mark"), - (r'^empty/(?P.+)/$', "empty"), - (r'^compact/(?P.+)/$', "compact"), - (r'^newfolder/$', "newfolder"), - (r'^editfolder/$', 'editfolder'), - (r'^delfolder/$', 'delfolder'), - - (r'^attachments/$', 'attachments'), - (r'^delattachment/$', 'delattachment'), - - (r'^(?P.+)/(?P[\w\-\+]+)/part/$', 'getattachment'), - (r'^(?P.+)/(?P[\w\-\+]+)/delete/$', 'delete'), - #(r'^(?P.+)/(?P[\w\-\+]+)/content/$', 'getmailcontent'), - (r'^(?P.+)/(?P[\w\-\+]+)/forward/$', 'forward'), - (r'^(?P.+)/(?P[\w\-\+]+)/reply/$', 'reply'), -# (r'^(?P.+)/(?P[\w\-\+]+)/$', 'viewmail'), - (r'^(?P.+)/$', "folder"), - ) + + # (r'^compose/$', "compose"), + (r'^move/$', "move"), + (r'^mark/(?P.+)/$', "mark"), + (r'^empty/(?P.+)/$', "empty"), + (r'^compact/(?P.+)/$', "compact"), + (r'^newfolder/$', "newfolder"), + (r'^editfolder/$', 'editfolder'), + (r'^delfolder/$', 'delfolder'), + + (r'^attachments/$', 'attachments'), + (r'^delattachment/$', 'delattachment'), + + (r'^(?P.+)/(?P[\w\-\+]+)/part/$', 'getattachment'), + (r'^(?P.+)/(?P[\w\-\+]+)/delete/$', 'delete'), + #(r'^(?P.+)/(?P[\w\-\+]+)/content/$', 'getmailcontent'), + (r'^(?P.+)/(?P[\w\-\+]+)/forward/$', 'forward'), + (r'^(?P.+)/(?P[\w\-\+]+)/reply/$', 'reply'), + # (r'^(?P.+)/(?P[\w\-\+]+)/$', 'viewmail'), + (r'^(?P.+)/$', "folder"), + ) diff --git a/extensions/webmail/views.py b/extensions/webmail/views.py index 11025ff08..c7f2c9cf3 100644 --- a/extensions/webmail/views.py +++ b/extensions/webmail/views.py @@ -621,14 +621,14 @@ def viewmail(request): return dict(listing=content, menuargs=dict(mail_id=mailid)) @login_required -@is_not_localadmin() +@needs_mailbox() def submailboxes(request): topmailbox = request.GET.get('topmailbox', '') mboxes = get_imapconnector(request).getfolders(request.user, topmailbox) return ajax_simple_response(dict(status="ok", mboxes=mboxes)) @login_required -@is_not_localadmin() +@needs_mailbox() def newindex(request): """Webmail actions handler