* Some javascript improvements

* Fixed little issues into the admin app

see #204
This commit is contained in:
Antoine Nguyen
2012-04-03 12:54:57 +02:00
parent 483ff2e1d6
commit 975b40e7d8
10 changed files with 35 additions and 21 deletions
+5 -3
View File
@@ -285,10 +285,10 @@ class AccountFormGeneralPwd(AccountFormGeneral):
class AccountFormMail(forms.Form, DynamicForm):
# FIXME
# * ajout du quota
# * Renommage de boite ?
email = forms.EmailField(label=_("E-mail"), required=False)
quota = forms.IntegerField(label=_("Quota"), required=False)
aliases = forms.EmailField(
label=ugettext_noop("Alias(es)"),
required=False,
@@ -309,6 +309,7 @@ class AccountFormMail(forms.Form, DynamicForm):
name = "aliases_%d" % (pos + 1)
self._create_field(forms.EmailField, name, alias.full_address)
self.fields["email"].initial = self.mb.full_address
self.fields["quota"].initial = self.mb.quota
if len(args) and isinstance(args[0], QueryDict):
self._load_from_qdict(args[0], "aliases", forms.EmailField)
@@ -331,7 +332,8 @@ class AccountFormMail(forms.Form, DynamicForm):
except Mailbox.DoesNotExist:
events.raiseEvent("CanCreate", user, "mailboxes")
self.mb = Mailbox()
self.mb.save_from_user(locpart, domain, account)
self.mb.save_from_user(locpart, domain, account,
self.cleaned_data["quota"])
grant_access_to_object(user, self.mb, is_owner=True)
events.raiseEvent("CreateMailbox", user, self.mb)
else:
@@ -339,9 +341,9 @@ class AccountFormMail(forms.Form, DynamicForm):
if self.mb.rename_dir(domname, locpart):
self.mb.domain = domain
self.mb.address = locpart
self.mb.save()
else:
raise AdminError(_("Failed to rename mailbox, check permissions"))
self.mb.save(quota=self.cleaned_data["quota"])
account.email = self.cleaned_data["email"]
account.save()
+2 -2
View File
@@ -584,7 +584,7 @@ class Mailbox(DatesAware):
pass
super(Mailbox, self).save(*args, **kwargs)
def save_from_user(self, localpart, domain, user):
def save_from_user(self, localpart, domain, user, quota=None):
"""Simple save method called for automatic creations
:param localpart: the mailbox
@@ -608,7 +608,7 @@ class Mailbox(DatesAware):
self.gid = v_gid
else:
self.gid = pwd.getpwnam(parameters.get_admin("VIRTUAL_GID")).pw_gid
self.quota = self.domain.quota
self.quota = self.domain.quota if quota is None else quota
super(Mailbox, self).save()
def create_from_csv(self, user, line):
+3 -3
View File
@@ -93,7 +93,7 @@ def newdomain(request):
@permission_required("admin.change_domain")
def editdomain(request, dom_id, tplname="admin/domainform.html"):
domain = Domain.objects.get(pk=dom_id)
if not request.user.is_owner(domain):
if not request.user.can_access(domain):
raise PermDeniedException(_("You can't edit this domain"))
commonctx = {"title" : _("Domain editing"),
@@ -210,7 +210,7 @@ def newdlist(request, tplname="common/generic_modal_form.html"):
@permission_required("admin.change_alias")
def editdlist(request, dlist_id, tplname="admin/dlistform.html"):
dlist = Alias.objects.get(pk=dlist_id)
if not request.user.is_owner(dlist.domain):
if not request.user.can_access(dlist.domain):
raise PermDeniedException(_("You do not have access to this domain"))
commonctx = {"title" : dlist.full_address,
"action_label" : _("Update"),
@@ -233,7 +233,7 @@ def deldlist(request):
selection = request.GET["selection"].split(",")
for dlist_id in selection:
dlist = Alias.objects.get(pk=dlist_id)
if not request.user.is_owner(dlist.domain):
if not request.user.can_access(dlist.domain):
raise PermDeniedException(_("You do not have access to this domain"))
events.raiseEvent("MailboxAliasDeleted", dlist)
ungrant_access_to_object(dlist)