forked from CGM_Public/pretix_original
Move method once again
This commit is contained in:
@@ -99,7 +99,21 @@ class MetaDataEditorMixin:
|
|||||||
f.instance.delete()
|
f.instance.delete()
|
||||||
|
|
||||||
|
|
||||||
class EventUpdate(EventSettingsViewMixin, EventPermissionRequiredMixin, MetaDataEditorMixin, UpdateView):
|
class DecoupleMixin:
|
||||||
|
|
||||||
|
def _save_decoupled(self, form):
|
||||||
|
# Save fields that are currently only set via the organizer but should be decoupled
|
||||||
|
fields = set()
|
||||||
|
for f in self.request.POST.getlist("decouple"):
|
||||||
|
fields |= set(f.split(","))
|
||||||
|
for f in fields:
|
||||||
|
if f not in form.fields:
|
||||||
|
continue
|
||||||
|
if f not in self.request.event.settings._cache():
|
||||||
|
self.request.event.settings.set(f, self.request.event.settings.get(f))
|
||||||
|
|
||||||
|
|
||||||
|
class EventUpdate(DecoupleMixin, EventSettingsViewMixin, EventPermissionRequiredMixin, MetaDataEditorMixin, UpdateView):
|
||||||
model = Event
|
model = Event
|
||||||
form_class = EventUpdateForm
|
form_class = EventUpdateForm
|
||||||
template_name = 'pretixcontrol/event/settings.html'
|
template_name = 'pretixcontrol/event/settings.html'
|
||||||
@@ -327,7 +341,7 @@ class PaymentProviderSettings(EventSettingsViewMixin, EventPermissionRequiredMix
|
|||||||
return self.get(request)
|
return self.get(request)
|
||||||
|
|
||||||
|
|
||||||
class EventSettingsFormView(EventPermissionRequiredMixin, FormView):
|
class EventSettingsFormView(EventPermissionRequiredMixin, DecoupleMixin, FormView):
|
||||||
model = Event
|
model = Event
|
||||||
permission = 'can_change_event_settings'
|
permission = 'can_change_event_settings'
|
||||||
|
|
||||||
@@ -343,17 +357,6 @@ class EventSettingsFormView(EventPermissionRequiredMixin, FormView):
|
|||||||
def form_success(self):
|
def form_success(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def _save_decoupled(self, form):
|
|
||||||
# Save fields that are currently only set via the organizer but should be decoupled
|
|
||||||
fields = set()
|
|
||||||
for f in self.request.POST.getlist("decouple"):
|
|
||||||
fields |= set(f.split(","))
|
|
||||||
for f in fields:
|
|
||||||
if f not in form.fields:
|
|
||||||
continue
|
|
||||||
if f not in self.request.event.settings._cache():
|
|
||||||
self.request.event.settings.set(f, self.request.event.settings.get(f))
|
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
form = self.get_form()
|
form = self.get_form()
|
||||||
|
|||||||
Reference in New Issue
Block a user