diff --git a/src/pretix/control/views/event.py b/src/pretix/control/views/event.py index a5071cb3e0..d305b4a2f0 100644 --- a/src/pretix/control/views/event.py +++ b/src/pretix/control/views/event.py @@ -96,7 +96,8 @@ class EventPlugins(EventPermissionRequiredMixin, TemplateView, SingleObjectMixin from pretix.base.plugins import get_all_plugins context = super().get_context_data(*args, **kwargs) - context['plugins'] = [p for p in get_all_plugins() if not p.name.startswith('.')] + context['plugins'] = [p for p in get_all_plugins() if not p.name.startswith('.') + if getattr(p, 'visible', True)] context['plugins_active'] = self.object.get_plugins() return context diff --git a/src/pretix/settings.py b/src/pretix/settings.py index 0a3338a4bb..79f9adf58c 100644 --- a/src/pretix/settings.py +++ b/src/pretix/settings.py @@ -6,6 +6,7 @@ import django.conf.locale from django.contrib.messages import constants as messages # NOQA from django.utils.crypto import get_random_string from django.utils.translation import ugettext_lazy as _ # NOQA +from pkg_resources import iter_entry_points config = configparser.ConfigParser() config.read(['/etc/pretix/pretix.cfg', os.path.expanduser('~/.pretix.cfg'), 'pretix.cfg'], @@ -160,6 +161,9 @@ INSTALLED_APPS = [ 'easy_thumbnails' ] +for entry_point in iter_entry_points(group='pretix.plugin', name=None): + INSTALLED_APPS.append(entry_point.module_name) + MIDDLEWARE_CLASSES = [ 'pretix.multidomain.middlewares.MultiDomainMiddleware', 'pretix.multidomain.middlewares.SessionMiddleware',