diff --git a/modoboa/core/app_settings.py b/modoboa/core/app_settings.py index 543672102..edb9bfe48 100644 --- a/modoboa/core/app_settings.py +++ b/modoboa/core/app_settings.py @@ -17,12 +17,16 @@ def enabled_applications(): :return: a list """ from modoboa.core.models import Extension + from modoboa.core.extensions import exts_pool from modoboa.lib.dbutils import db_table_exists result = [("user", "user")] if db_table_exists("core_extension"): exts = Extension.objects.filter(enabled=True) - result += [(ext.name, ext.name) for ext in exts] + for ext in exts: + extclass = exts_pool.get_extension(ext.name) + if extclass.available_for_topredirection: + result.append((ext.name, ext.name)) return sorted(result, key=lambda e: e[0]) diff --git a/modoboa/core/extensions.py b/modoboa/core/extensions.py index 4b399bd24..1eedc56a8 100644 --- a/modoboa/core/extensions.py +++ b/modoboa/core/extensions.py @@ -15,6 +15,7 @@ class ModoExtension(object): url = None needs_media = False always_active = False + available_for_topredirection = False def infos(self): return dict( diff --git a/modoboa/extensions/amavis/__init__.py b/modoboa/extensions/amavis/__init__.py index 9abc912ed..8a85d646c 100644 --- a/modoboa/extensions/amavis/__init__.py +++ b/modoboa/extensions/amavis/__init__.py @@ -21,6 +21,7 @@ class Amavis(ModoExtension): version = "1.0" description = ugettext_lazy("Simple amavis management frontend") url = "quarantine" + available_for_topredirection = True def init(self): """Init function diff --git a/modoboa/extensions/sievefilters/__init__.py b/modoboa/extensions/sievefilters/__init__.py index c5b88c95f..a6e437c6c 100644 --- a/modoboa/extensions/sievefilters/__init__.py +++ b/modoboa/extensions/sievefilters/__init__.py @@ -11,6 +11,7 @@ class SieveFilters(ModoExtension): version = "1.0" description = ugettext_lazy("Plugin to easily create server-side filters") url = "sfilters" + available_for_topredirection = True def load(self): from .app_settings import ParametersForm, UserSettings diff --git a/modoboa/extensions/webmail/__init__.py b/modoboa/extensions/webmail/__init__.py index 8b336b8b1..d673156f0 100644 --- a/modoboa/extensions/webmail/__init__.py +++ b/modoboa/extensions/webmail/__init__.py @@ -11,6 +11,7 @@ class Webmail(ModoExtension): version = "1.0" description = ugettext_lazy("Simple IMAP webmail") needs_media = True + available_for_topredirection = True def load(self): from .app_settings import ParametersForm, UserSettings