The order parameters are displayed now depends on their declaration order.

close #126
This commit is contained in:
Antoine Nguyen
2011-04-08 16:35:02 +02:00
parent 1a80145a9e
commit 0f4eea7030
4 changed files with 19 additions and 11 deletions
+2 -1
View File
@@ -504,7 +504,8 @@ def viewparameters(request, tplname='admin/parameters.html'):
gparams = []
for app in apps:
tmp = {"name" : app, "params" : []}
for p in sorted(parameters._params[app]['A']):
for p in parameters._params_order[app]['A']:
param_def = parameters._params[app]['A'][p]
newdef = {"name" : p,
"value" : parameters.get_admin(p, app=app),
+9 -8
View File
@@ -22,18 +22,22 @@ def init():
parameters.register_admin("SMTP_SERVER", type="string",
deflt="127.0.0.1",
help=_("Address of your SMTP server"))
parameters.register_admin("SMTP_PORT", type="int", deflt="25",
help=_("Listening port of your SMTP server"))
parameters.register_admin("SMTP_AUTHENTICATION", type="list_yesno",
deflt="no",
help=_("Server needs authentication"))
parameters.register_admin("SMTP_SECURED_MODE", type="list",
values=[("none", _("None")),
("starttls", "STARTTLS"),
("ssl", "SSL/TLS")],
deflt="none",
help=_("Use a secured connection to access SMTP server"))
parameters.register_admin("SMTP_PORT", type="int", deflt="25",
help=_("Listening port of your SMTP server"))
parameters.register_admin("SMTP_AUTHENTICATION", type="list_yesno",
deflt="no",
help=_("Server needs authentication"))
parameters.register_user("MESSAGES_PER_PAGE", type="int", deflt=40,
label=_("Number of displayed emails per page"),
help=_("Sets the maximum number of messages displayed in a page"))
parameters.register_user("REFRESH_INTERVAL", type="int", deflt=300,
label=_("Listing refresh rate"),
help=_("Automatic folder refresh rate (in seconds)"))
@@ -57,9 +61,6 @@ def init():
label=_("Default message display mode"),
values=[("html", "html"), ("plain", "text")],
help=_("The default mode used when displaying a message"))
parameters.register_user("MESSAGES_PER_PAGE", type="int", deflt=40,
label=_("Number of displayed emails per page"),
help=_("Sets the maximum number of messages displayed in a page"))
parameters.register_user("ENABLE_LINKS", type="list_yesno", deflt="no",
label=_("Enable HTML links display"),
help=_("Enable/Disable HTML links display"))
+7 -1
View File
@@ -16,6 +16,7 @@ Only super users will be able to access this part of the web interface.
"""
_params = {}
_params_order = {}
_levels = {'A' : 'admin', 'U' : 'user'}
class NotDefined(Exception):
@@ -40,11 +41,16 @@ def __register(app, level, name, **kwargs):
"""
if not app in _params.keys():
_params[app] = {}
_params_order[app] = {}
for lvl in _levels.keys():
_params[app][lvl] = {}
_params_order[app][lvl] = []
if not level in _levels.keys():
return
_params[app][level][name] = kwargs
if _params[app][level].has_key(name):
return
_params[app][level][name] = {}
_params_order[app][level] += [name]
for k, v in kwargs.iteritems():
_params[app][level][name][k] = v
+1 -1
View File
@@ -44,7 +44,7 @@ def preferences(request):
if not len(parameters._params[app]['U']):
continue
tmp = {"name" : app, "params" : []}
for p in sorted(parameters._params[app]['U']):
for p in parameters._params_order[app]['U']:
param_def = parameters._params[app]['U'][p]
newdef = copy.deepcopy(param_def)
newdef["name"] = p