forked from CGM_Public/pretix_original
Pluggable invoice transmission methods (#5020)
* Flexible invoice transmission
* UI work
* Add peppol and output
* API support
* Profile integration
* Simplify form for individuals
* Remove sent_to_customer usage
* more steps
* Revert "Bank transfer: Allow to send the invoice direclty to the accounting department (#2975)"
This reverts commit cea6c340be.
* minor fixes
* Fixes after rebase
* update stati
* Backend view
* Transmit and show status
* status, retransmission
* API retransmission
* More fields
* API docs
* Plugin docs
* Update migration
* Add missing license headers
* Remove dead code, fix current tests
* Run isort
* Update regex
* Rebase migration
* Fix migration
* Add tests, fix bugs
* Rebase migration
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io>
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io>
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io>
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io>
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io>
* Make migration reversible
* Add TransmissionType.enforce_transmission
* Fix registries API usage after rebase
* Remove code I forgot to delete
* Update transmission status display depending on type
* Add testmode_supported
* Update src/pretix/static/pretixbase/js/addressform.js
Co-authored-by: luelista <weller@rami.io>
* Update src/pretix/static/pretixbase/js/addressform.js
Co-authored-by: luelista <weller@rami.io>
* Update src/pretix/static/pretixbase/js/addressform.js
Co-authored-by: luelista <weller@rami.io>
* New mechanism for non-required invoice forms
* Update src/pretix/base/invoicing/transmission.py
Co-authored-by: luelista <weller@rami.io>
* Declare testmode_supported for email
* Make transmission_email_other an implementation detail
* Fix failing tests and add new ones
* Update src/pretix/base/services/invoices.py
Co-authored-by: luelista <weller@rami.io>
* Add emails to email history
* Fix comma error
* More generic default email text
* Cleanup
* Remove "email invoices" button and refine logic
* Rebase migration
* Fix edge case
---------
Co-authored-by: luelista <weller@rami.io>
This commit is contained in:
@@ -22,6 +22,10 @@
|
||||
from django.dispatch import receiver
|
||||
|
||||
from pretix.base.channels import SalesChannelType
|
||||
from pretix.base.invoicing.transmission import (
|
||||
TransmissionProvider, transmission_providers,
|
||||
)
|
||||
from pretix.base.models import Invoice
|
||||
from pretix.base.signals import (
|
||||
register_payment_providers, register_sales_channel_types,
|
||||
register_ticket_outputs,
|
||||
@@ -70,3 +74,37 @@ def html_head_presale(sender, request=None, **kwargs):
|
||||
# No tracking scripts on PCI DSS relevant payment pages
|
||||
return ""
|
||||
return "<script>alert('BAD TRACKING SCRIPT')</script>"
|
||||
|
||||
|
||||
@transmission_providers.new()
|
||||
class TestSdiTransmissionProvider(TransmissionProvider):
|
||||
identifier = "fatturapa_test"
|
||||
type = "it_sdi"
|
||||
verbose_name = "FatturaPA Test"
|
||||
|
||||
def is_ready(self, event) -> bool:
|
||||
return True
|
||||
|
||||
def is_available(self, event, country, is_business: bool) -> bool:
|
||||
return str(country) == "IT"
|
||||
|
||||
def transmit(self, invoice):
|
||||
invoice.transmission_status = Invoice.TRANSMISSION_STATUS_COMPLETED
|
||||
invoice.save()
|
||||
|
||||
|
||||
@transmission_providers.new()
|
||||
class TestPeppolTransmissionProvider(TransmissionProvider):
|
||||
identifier = "peppol_test"
|
||||
type = "peppol"
|
||||
verbose_name = "PEPPOL Test"
|
||||
|
||||
def is_ready(self, event) -> bool:
|
||||
return True
|
||||
|
||||
def is_available(self, event, country, is_business: bool) -> bool:
|
||||
return is_business
|
||||
|
||||
def transmit(self, invoice):
|
||||
invoice.transmission_status = Invoice.TRANSMISSION_STATUS_COMPLETED
|
||||
invoice.save()
|
||||
|
||||
Reference in New Issue
Block a user