Allow to disable filter support for meta properties (#2901)

This commit is contained in:
Raphael Michel
2022-11-16 17:12:37 +01:00
committed by GitHub
parent 49097037da
commit a0e5717f7d
7 changed files with 37 additions and 6 deletions

View File

@@ -806,7 +806,8 @@ class OrderSearchFilterForm(OrderFilterForm):
# We ignore superuser permissions here. This is intentional we do not want to show super
# users a form with all meta properties ever assigned.
return EventMetaProperty.objects.filter(
organizer_id__in=self.request.user.teams.values_list('organizer', flat=True)
organizer_id__in=self.request.user.teams.values_list('organizer', flat=True),
filter_allowed=True,
)
@@ -1545,12 +1546,13 @@ class EventFilterForm(FilterForm):
@cached_property
def meta_properties(self):
if self.organizer:
return self.organizer.meta_properties.all()
return self.organizer.meta_properties.filter(filter_allowed=True)
else:
# We ignore superuser permissions here. This is intentional we do not want to show super
# users a form with all meta properties ever assigned.
return EventMetaProperty.objects.filter(
organizer_id__in=self.request.user.teams.values_list('organizer', flat=True)
organizer_id__in=self.request.user.teams.values_list('organizer', flat=True),
filter_allowed=True,
)

View File

@@ -182,7 +182,7 @@ class OrganizerUpdateForm(OrganizerForm):
class EventMetaPropertyForm(forms.ModelForm):
class Meta:
model = EventMetaProperty
fields = ['name', 'default', 'required', 'protected', 'allowed_values']
fields = ['name', 'default', 'required', 'protected', 'allowed_values', 'filter_allowed']
widgets = {
'default': forms.TextInput()
}