Skip to content
Snippets Groups Projects

Resolve "Add payment processing UI"

Merged Tom Teichler requested to merge 3-add-payment-processing-ui-2 into payment-backends
2 files
+ 15
6
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -33,6 +33,13 @@ class InvoiceGroup(ExtensibleModel):
@@ -33,6 +33,13 @@ class InvoiceGroup(ExtensibleModel):
class Invoice(BasePayment, PureDjangoModel):
class Invoice(BasePayment, PureDjangoModel):
 
VARIANT_DISPLAY = {
 
"paypal": (_("PayPal"), "logos:paypal"),
 
"sofort": (_("Klarna / Sofort"), "simple-icons:klarna"),
 
"pledge": (_("Payment pledge / manual payment"), "mdi:hand-coin"),
 
"sdd": (_("SEPA Direct Debit"), "mdi:bank-transfer"),
 
}
 
group = models.ForeignKey(
group = models.ForeignKey(
InvoiceGroup, verbose_name=_("Invoice group"), related_name="invoices", on_delete=models.SET_NULL, null=True
InvoiceGroup, verbose_name=_("Invoice group"), related_name="invoices", on_delete=models.SET_NULL, null=True
)
)
@@ -43,6 +50,12 @@ class Invoice(BasePayment, PureDjangoModel):
@@ -43,6 +50,12 @@ class Invoice(BasePayment, PureDjangoModel):
for_object_id = models.PositiveIntegerField()
for_object_id = models.PositiveIntegerField()
for_object = GenericForeignKey("for_content_type", "for_object_id")
for_object = GenericForeignKey("for_content_type", "for_object_id")
 
def get_variant_name(self):
 
return self.__class__.VARIANT_DISPLAY[self.variant][0]
 
 
def get_variant_icon(self):
 
return self.__class__.VARIANT_DISPLAY[self.variant][1]
 
def get_purchased_items(self):
def get_purchased_items(self):
return self.for_object.get_purchased_items()
return self.for_object.get_purchased_items()
@@ -88,7 +101,7 @@ class Invoice(BasePayment, PureDjangoModel):
@@ -88,7 +101,7 @@ class Invoice(BasePayment, PureDjangoModel):
return TotalsTable(values)
return TotalsTable(values)
def get_success_url(self):
def get_success_url(self):
return reverse("invoice_by_pk", kwargs={"pk": self.pk})
return reverse("invoice_by_token", kwargs={"slug": self.token})
def get_failure_url(self):
def get_failure_url(self):
return reverse("invoice_by_pk", kwargs={"pk": self.pk})
return reverse("invoice_by_token", kwargs={"slug": self.token})
Loading