def post(self, request, *args, **kwargs): form = self.get_form() if form.is_valid(): form.save() if form.has_changed(): self.request.event.log_action( 'pretix.event.settings', user=self.request.user, data={ k: (form.cleaned_data.get(k).name if isinstance( form.cleaned_data.get(k), File) else form.cleaned_data.get(k)) for k in form.changed_data }) regenerate_css.apply_async(args=(self.request.event.pk, )) messages.success( self.request, _('Your changes have been saved. Please note that it can ' 'take a short period of time until your changes become ' 'active.')) return redirect(self.get_success_url()) else: messages.error( self.request, _('We could not save your changes. See below for details.')) return self.get(request)
def disable_plugin(self, module): plugins_active = self.get_plugins() from pretix.presale.style import regenerate_css if module in plugins_active: plugins_active.remove(module) self.set_active_plugins(plugins_active) regenerate_css.apply_async(args=(self.pk, ))
def enable_plugin(self, module, allow_restricted=False): plugins_active = self.get_plugins() from pretix.presale.style import regenerate_css if module not in plugins_active: plugins_active.append(module) self.set_active_plugins(plugins_active, allow_restricted=allow_restricted) regenerate_css.apply_async(args=(self.pk,))
def get_success_url(self, **kwargs): regenerate_css.apply_async(args=(self.request.event.pk, )) messages.success( self.request, ("Your changes have been saved. Please note that it can " "take a short period of time until your changes become " "active."), ) return reverse( "plugins:pretix_custom_css:settings", kwargs={ "organizer": self.request.event.organizer.slug, "event": self.request.event.slug, }, )
def patch(self, request, *wargs, **kwargs): s = EventSettingsSerializer(instance=request.event.settings, data=request.data, partial=True, event=request.event, context={'request': request}) s.is_valid(raise_exception=True) with transaction.atomic(): s.save() self.request.event.log_action( 'pretix.event.settings', user=self.request.user, auth=self.request.auth, data={ k: v for k, v in s.validated_data.items() } ) if any(p in s.changed_data for p in SETTINGS_AFFECTING_CSS): regenerate_css.apply_async(args=(request.event.pk,)) s = EventSettingsSerializer( instance=request.event.settings, event=request.event, context={ 'request': request }) return Response(s.data)
def post(self, request, *args, **kwargs): form = self.get_form() if form.is_valid(): form.save() if form.has_changed(): self.request.event.log_action( 'pretix.event.settings', user=self.request.user, data={ k: (form.cleaned_data.get(k).name if isinstance(form.cleaned_data.get(k), File) else form.cleaned_data.get(k)) for k in form.changed_data } ) regenerate_css.apply_async(args=(self.request.event.pk,)) messages.success(self.request, _('Your changes have been saved. Please note that it can ' 'take a short period of time until your changes become ' 'active.')) return redirect(self.get_success_url()) else: messages.error(self.request, _('We could not save your changes. See below for details.')) return self.get(request)