From 6d397aabe01be7f74c0e1b2a140dc6dba0d99209 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Fri, 15 Apr 2011 15:28:44 +0200 Subject: [PATCH] Fixed broken code (was not working since the last big refactoring I did in the admin code). fix #133 --- admin/models.py | 13 ++++++------ static/js/common.js | 52 ++++++++++++++++++++++----------------------- static/js/form.js | 9 ++++++-- userprefs/views.py | 2 +- 4 files changed, 41 insertions(+), 35 deletions(-) diff --git a/admin/models.py b/admin/models.py index 04981887a..3ae9dd99e 100644 --- a/admin/models.py +++ b/admin/models.py @@ -161,7 +161,8 @@ class Mailbox(models.Model): user = User() user.username = user.email = "%s@%s" % (self.address, self.domain.name) user.set_unusable_password() - user.is_active = kwargs["enabled"] + if kwargs.has_key("enabled"): + user.is_active = kwargs["enabled"] try: fname, lname = self.name.split() except ValueError: @@ -174,7 +175,7 @@ class Mailbox(models.Model): except IntegrityError: raise AdminError(_("Mailbox with this address already exists")) self.user = user - if kwargs["password"] != u"é": + if kwargs.has_key("password") and kwargs["password"] != u"é": self.password = crypt_password(kwargs["password"]) self.uid = pwd.getpwnam(parameters.get_admin("VIRTUAL_UID")).pw_uid self.gid = pwd.getpwnam(parameters.get_admin("VIRTUAL_GID")).pw_gid @@ -183,11 +184,11 @@ class Mailbox(models.Model): self.quota = kwargs["quota"] else: self.quota = self.domain.quota - try: - for kw in ["enabled", "password", "quota"]: + for kw in ["enabled", "password", "quota"]: + try: del kwargs[kw] - except KeyError: - pass + except KeyError: + pass super(Mailbox, self).save(*args, **kwargs) def delete(self, *args, **kwargs): diff --git a/static/js/common.js b/static/js/common.js index 46227b944..558736e24 100644 --- a/static/js/common.js +++ b/static/js/common.js @@ -215,34 +215,34 @@ function HashWrapper(deflocation) { }; }; -parse_menubar = function(id) { - if ($(id)) { - $(id).getElements('li.dropdown').each(function(elem){ - var list = elem.getElement('ul.links'); - var myFx = new Fx.Slide(list, { - duration: 200 - }); +function parse_menubar(id) { + if ($(id)) { + $(id).getElements('li.dropdown').each(function(elem){ + var list = elem.getElement('ul.links'); + var myFx = new Fx.Slide(list, { + duration: 200 + }); - myFx.wrapper.setStyles({ - "position" : "absolute" - }); - myFx.hide(); + myFx.wrapper.setStyles({ + "position" : "absolute" + }); + myFx.hide(); - elem.addEvents({ - 'mouseenter' : function(evt) { - myFx.cancel(); - myFx.slideIn(); - }, - 'mouseleave' : function() { - myFx.cancel(); - myFx.slideOut(); - } - }); - }); - SqueezeBox.assign($(id).getElements('a[class=boxed]'), { - parse: 'rel' - }); - } + elem.addEvents({ + 'mouseenter' : function(evt) { + myFx.cancel(); + myFx.slideIn(); + }, + 'mouseleave' : function() { + myFx.cancel(); + myFx.slideOut(); + } + }); + }); + SqueezeBox.assign($(id).getElements('a[class=boxed]'), { + parse: 'rel' + }); + } }; get_iframe_body = function(id) { diff --git a/static/js/form.js b/static/js/form.js index c0fd3cd8e..60564b2b4 100644 --- a/static/js/form.js +++ b/static/js/form.js @@ -64,8 +64,13 @@ function ajax_submit(event) { } } else { if ($defined(response.respmsg)) { - parent.current_anchor.loading_message = response.respmsg; - parent.current_anchor.loading_color = "green"; + if ($defined(parent.current_anchor)) { + parent.current_anchor.loading_message = response.respmsg; + parent.current_anchor.loading_color = "green"; + } else { + parent.infobox.info(response.respmsg); + parent.infobox.hide(1); + } } if ($defined(response.ajaxnav)) { if ($defined(response.url)) { diff --git a/userprefs/views.py b/userprefs/views.py index 00c975e4a..9a77897f0 100644 --- a/userprefs/views.py +++ b/userprefs/views.py @@ -28,7 +28,7 @@ def changepassword(request, tplname="userprefs/chpassword.html"): else: target.set_password(request.POST["confirmation"]) target.save() - return ajax_response(request) + return ajax_response(request, respmsg=_("Password changed")) return ajax_response(request, status="ko", template=tplname, form=form, error=error) form = ChangePasswordForm(target)