Allow plugins to register via setuptools, allow for invisible plugins

This commit is contained in:
Raphael Michel
2016-02-16 20:40:35 +01:00
parent c4df20c827
commit 88d91f8db7
2 changed files with 6 additions and 1 deletions

View File

@@ -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

View File

@@ -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',