Added fixtures for initial admin data.

perms object is no longer passed to builtins or filters, we use user instead
(it seems that perms content is different with Django 1.2)

#48 : I think I've found a way to include templatetags dynamically, using add_to_builtins.
This commit is contained in:
tonio
2010-05-25 18:31:11 +02:00
parent 3144e2c4fb
commit f9f2a9e546
19 changed files with 48 additions and 164 deletions
+1
View File
@@ -0,0 +1 @@
[{"pk": 1, "model": "auth.group", "fields": {"name": "DomainAdmins", "permissions": [37, 33, 38, 34, 39, 35, 40, 31, 36]}}]
+12 -12
View File
@@ -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):
+10
View File
@@ -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
@@ -1,6 +1,5 @@
{% extends "common/email_listing.html" %}
{% load i18n %}
{% load amextras %}
{% block css %}
thead tr {
position: relative;
@@ -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 %}
<div id="table-container">
+1 -2
View File
@@ -1,6 +1,5 @@
{% extends "nlayout.html" %}
{% load i18n %}
{% load stats_extra %}
{% load admin_extras %}
{% block html_head %}
<style type="text/css">
@@ -29,7 +28,7 @@ window.addEvent("domready", function() {
<script type="text/javascript" src="/static/js/calendar.js"></script>
{% endblock %}
{% block middletitle %}{% trans "Global statistics" %}{% endblock %}
{% block menu %}{% domains_menu "stats" perms %}{% endblock %}
{% block menu %}{% domains_menu "stats" user %}{% endblock %}
{% block content %}
<div id="graphcontent">
<div id="selectors">
+1 -1
View File
@@ -22,7 +22,7 @@ window.addEvent("domready", function() {
{% block menu %}
{% if domain %}
{% load admin_extras %}
{% domain_menu domain.id "stats" perms %}
{% domain_menu domain.id "stats" user %}
{% endif %}
{% endblock %}
{% block domcontent %}
@@ -1,5 +1,4 @@
{% load i18n %}
{% load webextras %}
<h3>{% trans "Folders" %}</h3>
<ul>
{% print_folders folders %}
-1
View File
@@ -1,6 +1,5 @@
{% extends "common/email_listing.html" %}
{% load i18n %}
{% load webextras %}
{% block css %}
#listing {
position: absolute;
+6 -6
View File
@@ -8,7 +8,7 @@ from mailng.extensions.webmail.imap_listing import IMAPheader
register = template.Library()
@register.simple_tag
def viewm_menu(selection, backurl, folder, mail_id, perms):
def viewm_menu(selection, backurl, folder, mail_id, user):
entries = [
{"name" : "back",
"url" : backurl,
@@ -34,10 +34,10 @@ def viewm_menu(selection, backurl, folder, mail_id, perms):
return render_to_string('common/menu.html',
{"selection" : selection, "entries" : entries,
"perms" : perms})
"user" : user})
@register.simple_tag
def compose_menu(selection, backurl, perms):
def compose_menu(selection, backurl, user):
entries = [
{"name" : "back",
"url" : backurl,
@@ -50,10 +50,10 @@ def compose_menu(selection, backurl, perms):
]
return render_to_string('common/menu.html',
{"selection" : selection, "entries" : entries,
"perms" : perms})
"user" : user})
@register.simple_tag
def listing_menu(selection, folder, perms):
def listing_menu(selection, folder, user):
entries = [
{"name" : "compose",
"url" : reverse(webmail.views.compose),
@@ -92,7 +92,7 @@ def listing_menu(selection, folder, perms):
]
menu = render_to_string("common/menu.html",
{"selection" : selection, "entries" : entries,
"perms" : perms})
"user" : user})
searchbar = render_to_string("common/email_searchbar.html", {})
return menu + searchbar
+1 -1
View File
@@ -1,7 +1,7 @@
{% extends "admin/domain_header.html" %}
{% block menu %}
{% load admin_extras %}
{% domain_menu domain.id "aliases" perms %}
{% domain_menu domain.id "aliases" user %}
{% endblock %}
{% block domcontent %}
{% load i18n %}
+1 -1
View File
@@ -11,7 +11,7 @@
</script>
{% endblock %}
{% block middletitle %}{% trans "Available domains" %}{% endblock %}
{% block menu %}{% domains_menu "domains" perms %}{% endblock %}
{% block menu %}{% domains_menu "domains" user %}{% endblock %}
{% block content %}
<div id="domcontent">
{% if not domains %}
+1 -1
View File
@@ -1,7 +1,7 @@
{% extends "admin/settings_header.html" %}
{% block menu %}
{% load admin_extras %}
{% settings_menu "extensions" perms %}
{% settings_menu "extensions" user %}
{% endblock %}
{% block setcontent %}
{% load i18n %}
+1 -1
View File
@@ -2,7 +2,7 @@
{% load i18n %}
{% block menu %}
{% load admin_extras %}
{% domain_menu domain.id "mailboxes" perms %}
{% domain_menu domain.id "mailboxes" user %}
{% endblock %}
{% block domcontent %}
{% load i18n %}
+1 -1
View File
@@ -1,7 +1,7 @@
{% extends "admin/settings_header.html" %}
{% block menu %}
{% load admin_extras %}
{% settings_menu "parameters" perms %}
{% settings_menu "parameters" user %}
{% endblock %}
{% block setcontent %}
{% load i18n %}
+1 -1
View File
@@ -1,7 +1,7 @@
{% extends "admin/settings_header.html" %}
{% block menu %}
{% load admin_extras %}
{% settings_menu "permissions" perms %}
{% settings_menu "permissions" user %}
{% endblock %}
{% block setcontent %}
{% load i18n %}
-124
View File
@@ -1,124 +0,0 @@
{% load i18n %}
{% load main_extras %}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://www.w3.org/2005/10/profile">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MailNG - {%block pagetitle %}{% endblock %}</title>
<link rel="icon" type="image/png" href="/static/stylesheets/logo-icon.png" />
<link rel="stylesheet" type="text/css" href="/static/stylesheets/basic.css" />
<link rel="stylesheet" type="text/css" href="/static/stylesheets/SqueezeBox.css" />
<script src="/static/js/mootools.js" type="text/javascript"></script>
<script src="/static/js/mootools-more.js" type="text/javascript"></script>
<script src="/static/js/SqueezeBox.js" type="text/javascript"></script>
<script src="/static/js/common.js" type="text/javascript"></script>
{% url django.views.i18n.javascript_catalog as catalog_url %}
<script type="text/javascript" src="{{ catalog_url }}"></script>
{%block html_head %}{% endblock %}
</head>
<body>
<div id="first-container">
<div id="header" class="rounded">
<div id="logo"></div>
<div id="title">
<h1>MailNG</h1>
<h2>Simple virtual domains</h2>
</div>
</div>
<div id="body">
{% if user.is_authenticated %}
<div id="leftcol">
<div id="userbox" class="leftbox">
{% if user.first_name %}
<h3>{{ user.first_name }} {{ user.last_name }}</h3>
{% else %}
<h3>{{ user.username }}</h3>
{% endif %}
<ul>
{% if user.is_superuser or perms.admin.view_domain %}
<li>
{% url admin.views.domains as dom_url %}
<a href="{{ dom_url }}">
<img src="/static/pics/settings.png" border="0" />{% trans "Admin" %}</a>
</li>
{% endif %}
{% if not user.is_superuser %}
<li>
{% url main.views.index as index_url %}
<a href="{{ index_url }}">
<img src="/static/pics/user.png" border="0" />{% trans "Preferences" %}</a>
</li>
{% endif %}
{% loadextmenu perms %}
<li>
{% url django.contrib.auth.views.logout_then_login as logout_url %}
<a href="{{ logout_url }}">
<img src="/static/pics/logout.png" border="0" />{% trans "Logout" %}</a>
</li>
</ul>
</div>
<br/>
{% if user.is_superuser %}
{% load admin_extras %}
<div id="menubox" class="leftbox">
<ul>
<li>
{% url admin.views.newdomain as newdom_url %}
<a href="{{ newdom_url }}" class="boxed"
rel="{handler:'iframe',size:{x:300,y:200}}">
<img src="/static/pics/add.png" border="0"/>
{% trans "New domain" %}
</a>
</li>
<li>
{% url admin.views.domains as dom_url %}
<a href="{{ dom_url }}">
<img src="/static/pics/domains.png" border="0"/>
{% trans "Domains" %}
</a>
</li>
<li>
{% url admin.views.settings as settings_url %}
<a href="{{ settings_url }}">
<img src="/static/pics/settings.png" border="0"/>
{% trans "Settings" %}
</a>
</li>
{% loadadminextmenu perms %}
</ul>
</div>
{% endif %}
{% block leftmenu %}{% endblock %}
</div>
<div id="content">
{% else %}
<div id="content2">
{% endif %}
<div class="header">
<h1>{% block middletitle %}{% endblock %}</h1>
<div id="infos">
{% if messages %}
{% for m in messages %}{{ m }}{% endfor %}
{% endif %}
</div>
</div>
<div class="spacer"></div>
<div id="menubar" class="menu2">
{% block menu %}{% endblock %}
</div>
{% block content %}{% endblock %}
</div>
</div>
<div class="spacer"></div>
<div id="footer">
&copy; Antoine Nguyen 2009
</div>
</div>
</body>
</html>
+5 -3
View File
@@ -24,10 +24,10 @@
<div id="topmenubar" class="uibar menubar">
<div class="left" style="width: 50%">
<ul>
{% loadextmenu perms %}
{% uprefs_menu perms %}
{% loadextmenu user %}
{% uprefs_menu user %}
{% if user.is_superuser or perms.admin.view_domains %}
{% if user.is_superuser or perms.admin.view_domain %}
<li class="dropdown topdropdown">
<img src="/static/pics/admin.png" border="0" />
<label>{% trans "Admin" %}</label>
@@ -37,12 +37,14 @@
<img src="/static/pics/domains.png" />{% trans "Domains" %}
</a>
</li>
{% if user.is_superuser %}
<li>
<a href="{% url admin.views.settings %}">
<img src="/static/pics/settings.png" border="0"/>
{% trans "Settings" %}
</a>
</li>
{% endif %}
</ul>
</li>
{% endif %}
+5 -5
View File
@@ -8,7 +8,7 @@ from mailng.lib import events
register = template.Library()
@register.simple_tag
def uprefs_menu(perms):
def uprefs_menu(user):
entries = [
{"name" : "userprefs",
"img" : "/static/pics/user.png",
@@ -28,11 +28,11 @@ def uprefs_menu(perms):
target="user_menu_bar")
return render_to_string('common/menulist.html',
{"entries" : entries, "perms" : perms})
{"entries" : entries, "user" : user})
@register.simple_tag
def loadextmenu(perms):
def loadextmenu(user):
menu = events.raiseQueryEvent("UserMenuDisplay", target="user_menu_box",
perms=perms)
user=user)
return render_to_string('common/menulist.html',
{"entries" : menu, "perms" : perms})
{"entries" : menu, "user" : user})