diff --git a/admin/templatetags/admin_extras.py b/admin/templatetags/admin_extras.py
index cdc0a1dec..5e435c7e1 100644
--- a/admin/templatetags/admin_extras.py
+++ b/admin/templatetags/admin_extras.py
@@ -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 = """
+
""" % 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 += """
+
""" % (name, name, value)
+ if definition["type"] in ["list"]:
+ result += """
+
+"""
+
+ if definition.has_key("help"):
+ result += """
+
+
+ """ % (definition["help"], _("Help"))
+ result += """
+
+"""
+ return result
+
@register.filter
def gender(value, target):
if genders.has_key(value):
diff --git a/admin/views.py b/admin/views.py
index 5127f1c74..be9cf960f 100644
--- a/admin/views.py
+++ b/admin/views.py
@@ -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
diff --git a/extensions/webmail/main.py b/extensions/webmail/main.py
index 00cdb3ebb..d5fda042a 100644
--- a/extensions/webmail/main.py
+++ b/extensions/webmail/main.py
@@ -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/',
diff --git a/templates/admin/parameters.html b/templates/admin/parameters.html
index 92637c6ce..f8f01c661 100644
--- a/templates/admin/parameters.html
+++ b/templates/admin/parameters.html
@@ -8,23 +8,11 @@
{% url admin.views.saveparameters as action %}