I forgot the 'default top redirection' feature.

see #197
This commit is contained in:
Antoine Nguyen
2012-05-22 14:32:56 +02:00
parent bc5a711153
commit 1079cac589
4 changed files with 12 additions and 7 deletions
+2 -2
View File
@@ -45,8 +45,8 @@ def enabled_applications():
exts = list(Extension.objects.filter(enabled=True))
except DatabaseError:
exts = []
result += map(lambda ext: (ext.name, ext.name), exts)
return sorted(result)
result += [(ext.name, ext.name) for ext in exts]
return sorted(result, key=lambda e: e[0])
parameters.register_admin("DEFAULT_TOP_REDIRECTION", type="list", deflt="admin",
app="general",
+3 -2
View File
@@ -808,8 +808,9 @@ class Extension(models.Model):
def __init__(self, *args, **kwargs):
super(Extension, self).__init__(*args, **kwargs)
self.instance = exts_pool.get_extension(self.name)
self.__get_ext_dir()
if self.name:
self.instance = exts_pool.get_extension(self.name)
self.__get_ext_dir()
def __get_ext_dir(self):
modname = self.instance.__module__
+4
View File
@@ -46,6 +46,10 @@ class ExtensionsPool(object):
self.extensions[name]["instance"] = self.extensions[name]["cls"]()
return self.extensions[name]["instance"]
def get_extension_infos(self, name):
instance = self.get_extension(name)
return instance.infos()
def load_all(self, prefix):
from modoboa.admin.models import Extension
+3 -3
View File
@@ -148,12 +148,12 @@ def topredirection(request):
:param request: a Request object
"""
from modoboa.lib import parameters
from modoboa.extensions import get_extension_infos
from modoboa.extensions import exts_pool
topredir = parameters.get_admin("DEFAULT_TOP_REDIRECTION", app="general")
if not topredir in ["admin", "userprefs"]:
infos = get_extension_infos(topredir)
path = infos["url"]
infos = exts_pool.get_extension_infos(topredir)
path = infos["url"] if infos["url"] else infos["name"]
else:
path = topredir