diff --git a/admin/tables.py b/admin/tables.py index 6c8a27120..5fd152771 100644 --- a/admin/tables.py +++ b/admin/tables.py @@ -21,7 +21,7 @@ class DomainsTable(tables.Table): width="50px", align="center") enabled = tables.Column("enabled", label=gender("Enabled", "m"), width="50px", align="center") - actions = tables.ActionColumn("actions", label=ugettext_noop("Actions"), width="50px", + actions = tables.ActionColumn("actions", label=ugettext_noop("Actions"), width="70px", align="center", defvalue=domain_actions) cols_order = ["name", "creation", "modified", diff --git a/admin/templatetags/admin_extras.py b/admin/templatetags/admin_extras.py index 90f819ea4..76f0ba1c8 100644 --- a/admin/templatetags/admin_extras.py +++ b/admin/templatetags/admin_extras.py @@ -169,6 +169,15 @@ def domain_actions(user, domid): "img" : static_url("pics/alias.png"), "title" : _("View aliases of this domain")} ] + if user.has_perm('admin.view_domains'): + actions += [ + {"name" : "viewadmins", + "url" : reverse(admin.views.view_domain_admins, args=[domid]), + "img" : static_url("pics/administrators.png"), + "title" : _("View administrators of this domain"), + "class" : "boxed", + "rel" : "{handler:'iframe',size:{x:310,y:190}}"}, + ] return render_actions(actions) @register.simple_tag diff --git a/admin/urls.py b/admin/urls.py index fe48c7bd7..a47f8a591 100644 --- a/admin/urls.py +++ b/admin/urls.py @@ -37,6 +37,7 @@ urlpatterns = patterns( (r'^permissions/domainadmin/edit/(?P\d+)/$', 'edit_domain_admin'), (r'^permissions/domainadmin/promote/$', 'domain_admin_promotion'), (r'^permissions/domainadmin/assign/(?P\d+)/$', 'assign_domains_to_admin'), + (r'^permissions/domainadmins/(?P\d+)/$', 'view_domain_admins'), (r'^permissions/searchaccount/$', 'search_account'), (r'^permissions/delete/$', 'delete_permissions'), ) diff --git a/admin/views.py b/admin/views.py index 9d4720718..88427ae15 100644 --- a/admin/views.py +++ b/admin/views.py @@ -625,6 +625,14 @@ def assign_domains_to_admin(request, da_id, tplname="admin/adminform.html"): ctx.update(form=form) return _render(request, tplname, ctx) +@login_required +@permission_required("auth.view_permissions") +def view_domain_admins(request, dom_id, tplname="admin/view_domain_admins.html"): + domain = Domain.objects.get(pk=dom_id) + return _render(request, tplname, { + "domain" : domain + }) + @login_required @permission_required("auth.view_permissions") @check_domain_access diff --git a/static/css/box.css b/static/css/box.css index 79327c7fd..26d0a0a75 100644 --- a/static/css/box.css +++ b/static/css/box.css @@ -196,4 +196,12 @@ html[xmlns] .clearfix { #assignform #id_domains { width: 310px; height: 200px; +} + +/* + * Domain admins list + */ +#domainadmins { + width: 100%; + height: 140px; } \ No newline at end of file diff --git a/static/pics/resellers.png b/static/pics/administrators.png similarity index 100% rename from static/pics/resellers.png rename to static/pics/administrators.png