mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Display sorted plugins and parameters.
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
@@ -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/',
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
Reference in New Issue
Block a user