Self-service refund form (#1135)

* Auto-refund

* Add missing template

* Notification for requested refund

* Model-level tests

* Add front-end tests

* Default to notify
This commit is contained in:
Raphael Michel
2019-01-18 17:24:42 +01:00
committed by GitHub
parent 80b5750756
commit 06eddb2c6d
24 changed files with 857 additions and 95 deletions

View File

@@ -2,6 +2,7 @@ import logging
from django.http import HttpRequest
from pretix.base.models import OrderPayment, OrderRefund
from pretix.base.payment import BasePaymentProvider
logger = logging.getLogger('tests.testdummy.ticketoutput')
@@ -17,3 +18,42 @@ class DummyPaymentProvider(BasePaymentProvider):
def checkout_confirm_render(self, request) -> str:
pass
class DummyFullRefundablePaymentProvider(BasePaymentProvider):
identifier = 'testdummy_fullrefund'
verbose_name = 'Test dummy'
abort_pending_allowed = False
def execute_refund(self, refund: OrderRefund):
refund.done()
def payment_is_valid_session(self, request: HttpRequest) -> bool:
pass
def checkout_confirm_render(self, request) -> str:
pass
def payment_refund_supported(self, payment: OrderPayment) -> bool:
return True
class DummyPartialRefundablePaymentProvider(BasePaymentProvider):
identifier = 'testdummy_partialrefund'
verbose_name = 'Test dummy'
abort_pending_allowed = False
def execute_refund(self, refund: OrderRefund):
refund.done()
def payment_is_valid_session(self, request: HttpRequest) -> bool:
pass
def checkout_confirm_render(self, request) -> str:
pass
def payment_refund_supported(self, payment: OrderPayment) -> bool:
return True
def payment_partial_refund_supported(self, payment: OrderPayment) -> bool:
return True

View File

@@ -13,5 +13,5 @@ def register_ticket_outputs(sender, **kwargs):
@receiver(register_payment_providers, dispatch_uid="payment_dummy")
def register_payment_provider(sender, **kwargs):
from .payment import DummyPaymentProvider
return DummyPaymentProvider
from .payment import DummyPaymentProvider, DummyFullRefundablePaymentProvider, DummyPartialRefundablePaymentProvider
return [DummyPaymentProvider, DummyFullRefundablePaymentProvider, DummyPartialRefundablePaymentProvider]