Пример #1
0
    def post(self, *args, **kwargs):
        old_email = self.order.email
        if self.form.is_valid():
            self.order.log_action(
                'pretix.event.order.contact.changed',
                data={
                    'old_email': old_email,
                    'new_email': self.form.cleaned_data['email'],
                },
                user=self.request.user,
            )
            if self.form.cleaned_data['regenerate_secrets']:
                self.order.secret = generate_secret()
                for op in self.order.positions.all():
                    op.secret = generate_position_secret()
                    op.save()
                CachedTicket.objects.filter(
                    order_position__order=self.order).delete()
                self.order.log_action('pretix.event.order.secret.changed',
                                      user=self.request.user)

            self.form.save()
            messages.success(self.request, _('The order has been changed.'))
            return redirect(self.get_order_url())
        return self.get(*args, **kwargs)
Пример #2
0
 def regenerate_secrets(self, request, **kwargs):
     order = self.get_object()
     order.secret = generate_secret()
     for op in order.all_positions.all():
         op.secret = generate_position_secret()
         op.save()
     order.save(update_fields=['secret'])
     CachedTicket.objects.filter(order_position__order=order).delete()
     CachedCombinedTicket.objects.filter(order=order).delete()
     order.log_action(
         'pretix.event.order.secret.changed',
         user=self.request.user,
         auth=self.request.auth,
     )
     return self.retrieve(request, [], **kwargs)
Пример #3
0
 def regenerate_secrets(self, request, **kwargs):
     order = self.get_object()
     order.secret = generate_secret()
     for op in order.all_positions.all():
         op.secret = generate_position_secret()
         op.save()
     order.save(update_fields=['secret'])
     CachedTicket.objects.filter(order_position__order=order).delete()
     CachedCombinedTicket.objects.filter(order=order).delete()
     tickets.invalidate_cache.apply_async(kwargs={'event': self.request.event.pk,
                                                  'order': order.pk})
     order.log_action(
         'pretix.event.order.secret.changed',
         user=self.request.user,
         auth=self.request.auth,
     )
     return self.retrieve(request, [], **kwargs)