mirror of
https://github.com/pretix/pretix.git
synced 2025-12-05 21:32:28 +00:00
Compare commits
7 Commits
d3fde85c39
...
v1.13.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77ffe55453 | ||
|
|
ab865e716f | ||
|
|
0bf1832b23 | ||
|
|
650adb9235 | ||
|
|
e2d55fed0d | ||
|
|
aef751dbee | ||
|
|
cd084fe8d1 |
@@ -1 +1 @@
|
||||
__version__ = "1.13.0"
|
||||
__version__ = "1.13.1"
|
||||
|
||||
@@ -504,7 +504,7 @@ def _create_order(event: Event, email: str, positions: List[CartPosition], now_d
|
||||
for fee in fees:
|
||||
fee.order = order
|
||||
fee._calculate_tax()
|
||||
if not fee.tax_rule.pk:
|
||||
if fee.tax_rule and not fee.tax_rule.pk:
|
||||
fee.tax_rule = None # TODO: deprecate
|
||||
fee.save()
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ class OrderView(EventPermissionRequiredMixin, DetailView):
|
||||
def get_context_data(self, **kwargs):
|
||||
ctx = super().get_context_data(**kwargs)
|
||||
ctx['can_generate_invoice'] = invoice_qualified(self.order) and (
|
||||
self.request.event.settings.invoice_generate in ('admin', 'user', 'paid')
|
||||
self.request.event.settings.invoice_generate in ('admin', 'user', 'paid', 'True')
|
||||
)
|
||||
return ctx
|
||||
|
||||
|
||||
@@ -378,7 +378,10 @@ class ApiSearchView(ApiView):
|
||||
)[:25]
|
||||
else:
|
||||
ops = qs.filter(
|
||||
Q(secret__istartswith=query) | Q(attendee_name__icontains=query) | Q(order__code__istartswith=query)
|
||||
Q(secret__istartswith=query)
|
||||
| Q(attendee_name__icontains=query)
|
||||
| Q(addon_to__attendee_name__icontains=query)
|
||||
| Q(order__code__istartswith=query)
|
||||
| Q(order__invoice_address__name__icontains=query)
|
||||
)[:25]
|
||||
|
||||
|
||||
@@ -338,10 +338,10 @@ class QuestionsStep(QuestionsViewMixin, CartMixin, TemplateFlowStep):
|
||||
_("We had difficulties processing your input. Please review the errors below."))
|
||||
return self.render()
|
||||
self.cart_session['email'] = self.contact_form.cleaned_data['email']
|
||||
self.cart_session['contact_form_data'] = self.contact_form.cleaned_data
|
||||
if request.event.settings.invoice_address_asked:
|
||||
addr = self.invoice_form.save()
|
||||
self.cart_session['invoice_address'] = addr.pk
|
||||
self.cart_session['contact_form_data'] = self.contact_form.cleaned_data
|
||||
|
||||
update_tax_rates(
|
||||
event=request.event,
|
||||
@@ -408,6 +408,7 @@ class QuestionsStep(QuestionsViewMixin, CartMixin, TemplateFlowStep):
|
||||
ctx['invoice_form'] = self.invoice_form
|
||||
ctx['reverse_charge_relevant'] = self.eu_reverse_charge_relevant
|
||||
ctx['cart'] = self.get_cart()
|
||||
ctx['cart_session'] = self.cart_session
|
||||
return ctx
|
||||
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<div class="col-md-4 col-md-offset-4 col-xs-12">
|
||||
<a class="btn btn-block btn-primary btn-lg"
|
||||
href="{% eventurl request.event "presale:event.checkout.start" cart_namespace=cart_namespace %}">
|
||||
{% if has_addon_choices %}
|
||||
{% if has_addon_choices or cart.total == 0 %}
|
||||
<i class="fa fa-shopping-cart"></i> {% trans "Continue" %}
|
||||
</a>
|
||||
{% else %}
|
||||
|
||||
@@ -114,9 +114,14 @@ class OrderDetails(EventViewMixin, OrderDetailMixin, CartMixin, TemplateView):
|
||||
[p.item.admission for p in ctx['cart']['positions']].count(True) > 1
|
||||
)
|
||||
ctx['invoices'] = list(self.order.invoices.all())
|
||||
ctx['can_generate_invoice'] = invoice_qualified(self.order) and (
|
||||
self.request.event.settings.invoice_generate == 'user'
|
||||
can_generate_invoice = (
|
||||
self.request.event.settings.get('invoice_generate') in ('user', 'True')
|
||||
or (
|
||||
self.request.event.settings.get('invoice_generate') == 'paid'
|
||||
and self.order.status == Order.STATUS_PAID
|
||||
)
|
||||
)
|
||||
ctx['can_generate_invoice'] = invoice_qualified(self.order) and can_generate_invoice
|
||||
ctx['url'] = build_absolute_uri(
|
||||
self.request.event, 'presale:event.order', kwargs={
|
||||
'order': self.order.code,
|
||||
@@ -409,7 +414,14 @@ class OrderInvoiceCreate(EventViewMixin, OrderDetailMixin, View):
|
||||
return super().dispatch(request, *args, **kwargs)
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
if self.request.event.settings.get('invoice_generate') != 'user' or not invoice_qualified(self.order):
|
||||
can_generate_invoice = (
|
||||
self.request.event.settings.get('invoice_generate') in ('user', 'True')
|
||||
or (
|
||||
self.request.event.settings.get('invoice_generate') == 'paid'
|
||||
and self.order.status == Order.STATUS_PAID
|
||||
)
|
||||
)
|
||||
if not can_generate_invoice or not invoice_qualified(self.order):
|
||||
messages.error(self.request, _('You cannot generate an invoice for this order.'))
|
||||
elif self.order.invoices.exists():
|
||||
messages.error(self.request, _('An invoice for this order already exists.'))
|
||||
|
||||
Reference in New Issue
Block a user