diff --git a/admin/fixtures/initial_data.json b/admin/fixtures/initial_data.json new file mode 100644 index 000000000..2cdb5587f --- /dev/null +++ b/admin/fixtures/initial_data.json @@ -0,0 +1 @@ +[{"pk": 1, "model": "auth.group", "fields": {"name": "DomainAdmins", "permissions": [37, 33, 38, 34, 39, 35, 40, 31, 36]}}] diff --git a/admin/templatetags/admin_extras.py b/admin/templatetags/admin_extras.py index 4fff9c50d..62f7fe16e 100644 --- a/admin/templatetags/admin_extras.py +++ b/admin/templatetags/admin_extras.py @@ -12,7 +12,7 @@ genders = { } @register.simple_tag -def domain_menu(domain_id, selection, perms): +def domain_menu(domain_id, selection, user): entries = [ {"name" : "", "url" : reverse(admin.views.newmailbox, args=[domain_id]), @@ -30,7 +30,7 @@ def domain_menu(domain_id, selection, perms): "label" : _("Aliases")}, ] - if perms.user.has_perm("admin.change_domain"): + if user.has_perm("admin.change_domain"): entries += [ {"name" : "", "url" : reverse(admin.views.editdomain, args=[domain_id]), @@ -40,13 +40,13 @@ def domain_menu(domain_id, selection, perms): "rel" : "{handler:'iframe',size:{x:300,y:180}}"} ] entries += events.raiseQueryEvent("AdminMenuDisplay", target="admin_menu_bar", - perms=perms, domain=domain_id) + user=user, domain=domain_id) return render_to_string('common/menu.html', {"selection" : selection, "entries" : entries, - "perms" : perms}) + "user" : user}) @register.simple_tag -def settings_menu(selection, perms): +def settings_menu(selection, user): entries = [ {"name" : "permissions", "url" : reverse(admin.views.settings), @@ -68,10 +68,10 @@ def settings_menu(selection, perms): ] return render_to_string('common/menu.html', {"selection" : selection, "entries" : entries, - "perms" : perms}) + "user" : user}) @register.simple_tag -def domains_menu(selection, perms): +def domains_menu(selection, user): entries = [ {"name" : "newdomain", "url" : reverse(admin.views.newdomain), @@ -85,17 +85,17 @@ def domains_menu(selection, perms): "img" : "/static/pics/domains.png"} ] entries += events.raiseQueryEvent("AdminMenuDisplay", target="admin_menu_box", - perms=perms) + user=user) return render_to_string('common/menu.html', {"entries" : entries, "selection" : selection, - "perms" : perms}) + "user" : user}) @register.simple_tag -def loadadminextmenu(perms): +def loadadminextmenu(user): menu = events.raiseQueryEvent("AdminMenuDisplay", target="admin_menu_box", - perms=perms) + user=user) return render_to_string('common/menulist.html', - {"entries" : menu, "perms" : perms}) + {"entries" : menu, "user" : user}) @register.simple_tag def param(app, definition): diff --git a/extensions/__init__.py b/extensions/__init__.py index eb7fb41f5..4cccb3b59 100644 --- a/extensions/__init__.py +++ b/extensions/__init__.py @@ -6,9 +6,19 @@ extensions = {} def loadextensions(): from admin.models import Extension + from django.template import add_to_builtins exts = Extension.objects.filter(enabled=True) for ext in exts: + tagsdir = "extensions/%s/templatetags" % ext.name + if os.path.isdir("extensions/%s/templatetags" % ext.name): + for f in os.listdir(tagsdir): + if f in ["__init__.py", "__init__.pyc"]: + continue + parts = f.split('.') + if len(parts) == 2 and parts[1] == "py": + add_to_builtins("extensions.%s.templatetags.%s" \ + % (ext.name, parts[0])) module = __import__(ext.name, globals(), locals(), ['main']) module.main.init() globals()['extensions'][ext] = module diff --git a/extensions/amavis_quarantine/templates/index.html b/extensions/amavis_quarantine/templates/index.html index 2889f2236..878e0549e 100644 --- a/extensions/amavis_quarantine/templates/index.html +++ b/extensions/amavis_quarantine/templates/index.html @@ -1,6 +1,5 @@ {% extends "common/email_listing.html" %} {% load i18n %} -{% load amextras %} {% block css %} thead tr { position: relative; diff --git a/extensions/amavis_quarantine/templates/viewmail.html b/extensions/amavis_quarantine/templates/viewmail.html index 351418ee3..cf5811a2c 100644 --- a/extensions/amavis_quarantine/templates/viewmail.html +++ b/extensions/amavis_quarantine/templates/viewmail.html @@ -34,8 +34,7 @@ window.addEvent("domready", function() { {% endblock %} {% block middletitle %}{% trans "Mail content" %}{% endblock %} {% block menu %} - {% load amextras %} - {% viewm_menu "" mail_id page_id perms %} + {% viewm_menu "" mail_id page_id user %} {% endblock %} {% block content %}
diff --git a/extensions/stats/templates/adminindex.html b/extensions/stats/templates/adminindex.html index a01b6f8d7..11b6ef8cd 100644 --- a/extensions/stats/templates/adminindex.html +++ b/extensions/stats/templates/adminindex.html @@ -1,6 +1,5 @@ {% extends "nlayout.html" %} {% load i18n %} -{% load stats_extra %} {% load admin_extras %} {% block html_head %}