forked from CGM_Public/pretix_original
New concept for fee handling (#610)
* New concept for fee handling * More usages * Remove all usages, make all tests pass * API changes * Small fixes * Fix order of invoice lines * Rebase migration
This commit is contained in:
@@ -29,6 +29,7 @@ from pretix.base.models import (
|
||||
Order, OrderPosition, RequiredAction, TaxRule, Voucher,
|
||||
)
|
||||
from pretix.base.models.event import EventMetaValue
|
||||
from pretix.base.models.orders import OrderFee
|
||||
from pretix.base.services import tickets
|
||||
from pretix.base.services.invoices import build_preview_invoice_pdf
|
||||
from pretix.base.signals import event_live_issues, register_ticket_outputs
|
||||
@@ -957,7 +958,7 @@ class TaxDelete(EventPermissionRequiredMixin, DeleteView):
|
||||
def is_allowed(self) -> bool:
|
||||
o = self.object
|
||||
return (
|
||||
not self.request.event.orders.filter(payment_fee_tax_rule=o).exists()
|
||||
not OrderFee.objects.filter(tax_rule=o, order__event=self.request.event).exists()
|
||||
and not OrderPosition.objects.filter(tax_rule=o, order__event=self.request.event).exists()
|
||||
and not self.request.event.items.filter(tax_rule=o).exists()
|
||||
and self.request.event.settings.tax_rate_default != o
|
||||
|
||||
@@ -27,6 +27,7 @@ from pretix.base.models import (
|
||||
generate_position_secret, generate_secret,
|
||||
)
|
||||
from pretix.base.models.event import SubEvent
|
||||
from pretix.base.models.orders import OrderFee
|
||||
from pretix.base.models.tax import EU_COUNTRIES
|
||||
from pretix.base.services.export import export
|
||||
from pretix.base.services.invoices import (
|
||||
@@ -183,7 +184,7 @@ class OrderDetail(OrderView):
|
||||
'positions': positions,
|
||||
'raw': cartpos,
|
||||
'total': self.object.total,
|
||||
'payment_fee': self.object.payment_fee,
|
||||
'fees': self.object.fees.all(),
|
||||
'net_total': self.object.net_total,
|
||||
'tax_total': self.object.tax_total,
|
||||
}
|
||||
@@ -860,7 +861,7 @@ class OverView(EventPermissionRequiredMixin, TemplateView):
|
||||
|
||||
ctx['items_by_category'], ctx['total'] = order_overview(self.request.event, subevent=subevent)
|
||||
ctx['subevent_warning'] = self.request.event.has_subevents and subevent and (
|
||||
self.request.event.orders.filter(payment_fee__gt=0).exists()
|
||||
OrderFee.objects.filter(order__event=self.request.event).exclude(value=0).exists()
|
||||
)
|
||||
return ctx
|
||||
|
||||
|
||||
Reference in New Issue
Block a user