mirror of
https://github.com/pretix/pretix.git
synced 2026-05-12 16:24:00 +00:00
Show plugin permissions
This commit is contained in:
@@ -313,6 +313,21 @@ class PermissionMultipleChoiceField(forms.MultipleChoiceField):
|
|||||||
|
|
||||||
|
|
||||||
class TeamForm(forms.ModelForm):
|
class TeamForm(forms.ModelForm):
|
||||||
|
def _make_label(self, p):
|
||||||
|
source = '{}'
|
||||||
|
params = [p.label]
|
||||||
|
|
||||||
|
if p.plugin_name:
|
||||||
|
source = '<span class="fa fa-puzzle-piece text-muted" data-toggle="tooltip" title="{}"></span> ' + source
|
||||||
|
params.insert(0, _("Provided by a plugin"))
|
||||||
|
|
||||||
|
if p.help_text:
|
||||||
|
source += ' <span class="fa fa-info-circle text-muted" data-toggle="tooltip" title="{}"></span>'
|
||||||
|
params.append(p.help_text)
|
||||||
|
|
||||||
|
source += ' (<code>{}</code>)'
|
||||||
|
params.append(p.name)
|
||||||
|
return format_html(source, *params)
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
organizer = kwargs.pop('organizer')
|
organizer = kwargs.pop('organizer')
|
||||||
@@ -323,15 +338,7 @@ class TeamForm(forms.ModelForm):
|
|||||||
self.fields['limit_event_permissions'] = PermissionMultipleChoiceField(
|
self.fields['limit_event_permissions'] = PermissionMultipleChoiceField(
|
||||||
label=self.fields['limit_event_permissions'].label,
|
label=self.fields['limit_event_permissions'].label,
|
||||||
choices=[
|
choices=[
|
||||||
(
|
(p.name, self._make_label(p)) for p in get_all_event_permissions().values()
|
||||||
p.name,
|
|
||||||
format_html(
|
|
||||||
'{} <span class="fa fa-info-circle text-muted" data-toggle="tooltip" title="{}"></span> (<code>{}</code>)',
|
|
||||||
p.label, p.help_text, p.name
|
|
||||||
) if p.help_text
|
|
||||||
else format_html('{} (<code>{}</code>)', p.label, p.name)
|
|
||||||
)
|
|
||||||
for p in get_all_event_permissions().values()
|
|
||||||
],
|
],
|
||||||
widget=forms.CheckboxSelectMultiple(attrs={
|
widget=forms.CheckboxSelectMultiple(attrs={
|
||||||
'data-inverse-dependency': '#id_all_event_permissions',
|
'data-inverse-dependency': '#id_all_event_permissions',
|
||||||
@@ -342,15 +349,7 @@ class TeamForm(forms.ModelForm):
|
|||||||
self.fields['limit_organizer_permissions'] = PermissionMultipleChoiceField(
|
self.fields['limit_organizer_permissions'] = PermissionMultipleChoiceField(
|
||||||
label=self.fields['limit_organizer_permissions'].label,
|
label=self.fields['limit_organizer_permissions'].label,
|
||||||
choices=[
|
choices=[
|
||||||
(
|
(p.name, self._make_label(p)) for p in get_all_organizer_permissions().values()
|
||||||
p.name,
|
|
||||||
format_html(
|
|
||||||
'{} <span class="fa fa-info-circle text-muted" data-toggle="tooltip" title="{}"></span> (<code>{}</code>)',
|
|
||||||
p.label, p.help_text, p.name
|
|
||||||
) if p.help_text
|
|
||||||
else format_html('{} (<code>{}</code>)', p.label, p.name)
|
|
||||||
)
|
|
||||||
for p in get_all_organizer_permissions().values()
|
|
||||||
],
|
],
|
||||||
widget=forms.CheckboxSelectMultiple(attrs={
|
widget=forms.CheckboxSelectMultiple(attrs={
|
||||||
'data-inverse-dependency': '#id_all_organizer_permissions',
|
'data-inverse-dependency': '#id_all_organizer_permissions',
|
||||||
|
|||||||
Reference in New Issue
Block a user