diff options
author | Michal Ociepka <michal@ociepka.info> | 2013-04-25 17:35:52 +0200 |
---|---|---|
committer | Michal Ociepka <michal@ociepka.info> | 2013-04-25 17:36:23 +0200 |
commit | 3d9be786756c981d07d1d9d32358f3986143a9cc (patch) | |
tree | b8ceae7db045523a724804136681c6462ceb1e00 /payments/__init__.py | |
parent | 577e1f847a346d1c5204ee644096f05ff3bff49f (diff) | |
download | django-payments-taler-3d9be786756c981d07d1d9d32358f3986143a9cc.tar.gz django-payments-taler-3d9be786756c981d07d1d9d32358f3986143a9cc.tar.bz2 django-payments-taler-3d9be786756c981d07d1d9d32358f3986143a9cc.zip |
Prices init refactoring
Diffstat (limited to 'payments/__init__.py')
-rw-r--r-- | payments/__init__.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/payments/__init__.py b/payments/__init__.py index f03495b..f69278d 100644 --- a/payments/__init__.py +++ b/payments/__init__.py @@ -1,8 +1,10 @@ from collections import namedtuple +from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.core.urlresolvers import reverse -from django.conf import settings from django.db.models import get_model +from functools import wraps +from urlparse import urljoin PAYMENT_VARIANTS = { 'default': ('payments.dummy.DummyProvider', { @@ -52,22 +54,25 @@ class BasicProvider(object): When implementing a new payment provider, overload this method to transfer provider-specific data. ''' - raise NotImplementedError + raise NotImplementedError() def get_form(self, data=None): ''' Converts *payment* into a form suitable for Django templates. ''' from forms import PaymentForm - return PaymentForm(self.get_hidden_fields(self.payment), self._action, + return PaymentForm(self.get_hidden_fields(), self._action, self._method) def process_data(self, request): ''' Process callback request from a payment provider. ''' - raise NotImplementedError + raise NotImplementedError() + def get_return_url(self): + payment_link = self.payment.get_process_url() + return urljoin(settings.PAYMENT_BASE_URL, payment_link) def factory(payment, variant='default', order_items=None): ''' |