Display sorted plugins and parameters.

This commit is contained in:
tonio
2010-01-29 19:01:46 +01:00
parent 7d69baa413
commit f29cb1a342
4 changed files with 49 additions and 23 deletions
+29
View File
@@ -88,6 +88,35 @@ def loadadminextmenu(perms):
return render_to_string('main/menulist.html',
{"menu" : menu, "perms" : perms})
@register.simple_tag
def param(app, definition):
print definition
result = """<div class='row'>
<label>%s</label>""" % definition["name"]
if definition["type"] in ["string", "int"]:
value = definition.has_key("value") \
and definition["value"] or definition["default"]
name = "%s.%s" % (app, definition["name"])
result += """
<input type='text' name='%s' id='%s' value='%s' />""" % (name, name, value)
if definition["type"] in ["list"]:
result += """
<select name='' id=''>"""
result += """
</select>
"""
if definition.has_key("help"):
result += """
<a href='%s' onclick='return false;' class='Tips' title='%s'>
<img src='/static/pics/info.png' border='0' />
</a>""" % (definition["help"], _("Help"))
result += """
</div>
"""
return result
@register.filter
def gender(value, target):
if genders.has_key(value):
+10 -7
View File
@@ -408,15 +408,18 @@ def deletepermission(request, mbox_id, group):
@login_required
@user_passes_test(lambda u: u.is_superuser)
def viewparameters(request):
params = {}
for app, app_params in parameters._params.iteritems():
params[app] = {}
for pname, pdef in app_params.iteritems():
params[app][pname] = pdef
params[app][pname]["value"] = parameters.get(app, pname)
apps = sorted(parameters._params.keys())
gparams = []
for app in apps:
tmp = {"name" : app, "params" : []}
for p in sorted(parameters._params[app]):
tmp["params"] += [{"name" : p, "value" : parameters.get(app, p),
"help" : parameters._params[app][p]["help"],
"type" : parameters._params[app][p]["type"]}]
gparams += [tmp]
return _render(request, 'admin/parameters.html', {
"params" : params
"gparams" : gparams
})
@login_required
+6
View File
@@ -20,8 +20,14 @@ def init():
events.register("UserLogin", userlogin)
parameters.register("webmail", "IMAP_SERVER", "string", "127.0.0.1",
help=_("Address of your IMAP server"))
parameters.register("webmail", "IMAP_SECURED", "list", "No",
help=_("Use a secure connexion to access IMAP server"))
parameters.register("webmail", "IMAP_PORT", "int", "143",
help=_("Listening port of your IMAP server"))
parameters.register("webmail", "SMTP_SERVER", "string", "127.0.0.1",
help=_("Address of your SMTP server"))
parameters.register("webmail", "SMTP_PORT", "int", "25",
help=_("Listening port of your SMTP server"))
def urls():
return (r'^mailng/webmail/',
+4 -16
View File
@@ -8,23 +8,11 @@
{% url admin.views.saveparameters as action %}
<form method="POST" action="{{ action }}">
<div id="accordion">
{% for app, ps in params.items %}
<h3 class="toggler atStart">{{ app }}</h3>
{% for app in gparams %}
<h3 class="toggler atStart">{{ app.name }}</h3>
<div class="element atStart">
{% for name, def in ps.items %}
<div class="row">
<label>{{ name }}</label>
{% if def.value %}
<input type="text" name="{{ app }}.{{ name }}" id="{{ app }}.{{ name }}" value="{{ def.value }}" />
{% else %}
<input type="text" name="{{ app }}.{{ name}}" id="{{ app }}.{{ name }}" value="{{ def.default }}" />
{% endif %}
{% if def.help %}
<a href="{{ def.help }}" onclick="return false;" class="Tips" title="{% trans 'Help' %}">
<img src="/static/pics/info.png" border="0" />
</a>
{% endif %}
</div>
{% for p in app.params %}
{% param app.name p %}
{% endfor %}
</div>
{% endfor %}