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)
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)
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)