Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
    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, ))
Exemplo n.º 3
0
    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,))
Exemplo n.º 4
0
    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,
            },
        )
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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)