diff --git a/admin/forms.py b/admin/forms.py index 07c6771fe..3fde9708a 100644 --- a/admin/forms.py +++ b/admin/forms.py @@ -41,5 +41,5 @@ class PermissionForm(forms.Form): required=True) user = forms.ChoiceField(label=_("User"), required=True) role = forms.ChoiceField(label=_("Role"), required=True, - choices=(("SuperAdmin", _("Super administrator")), - ("DomainAdmin", _("Domain administrator")))) + choices=(("SuperAdmins", _("Super administrator")), + ("DomainAdmins", _("Domain administrator")))) diff --git a/admin/views.py b/admin/views.py index 3d7915f83..cb4e1586c 100644 --- a/admin/views.py +++ b/admin/views.py @@ -7,7 +7,7 @@ from django.utils.translation import ugettext as _ from django.core import serializers from django.core.urlresolvers import reverse from django.contrib.auth.decorators import login_required -from django.contrib.auth.models import User +from django.contrib.auth.models import User, Group from mailng import admin from mailng.admin.models import Domain, Mailbox, Alias from forms import MailboxForm, DomainForm, AliasForm, PermissionForm @@ -297,14 +297,18 @@ def settings(request): def addpermission(request): if request.method == "POST": form = PermissionForm(request.POST) + if request.POST.has_key('user'): + mboxid = request.POST['user'] + form.fields["user"].choices = \ + [(mboxid, Mailbox.objects.get(pk=mboxid)),] if form.is_valid(): mb = Mailbox.objects.get(pk=request.POST["user"]) - if request.POST["role"] == "SuperAdmin": + if request.POST["role"] == "SuperAdmins": mb.user.is_superadmin = True else: - mb.user.groups.add("DomainAdmins") + mb.user.groups.add(Group.objects.get(name=request.POST["role"])) mb.user.save() - ctx = _ctx_ok(reverse(admin.views.permissions)) + ctx = _ctx_ok(reverse(admin.views.settings)) return HttpResponse(simplejson.dumps(ctx), mimetype="application/json") ctx = _ctx_ko("admin/addpermission.html", { diff --git a/templates/admin/permissions.html b/templates/admin/permissions.html index 0a9d10c4d..5d4edf157 100644 --- a/templates/admin/permissions.html +++ b/templates/admin/permissions.html @@ -23,7 +23,7 @@
{% trans "No domain admin defined." %}
{% else %} - +