Skip to content
Browse files

Added encrypted PayPal button tag.

  • Loading branch information...
1 parent 87960ac commit ab76bd9fd2232b0013b50a82eb09fbd0324040d7 @mikery mikery committed with theju Mar 17, 2012
Showing with 18 additions and 3 deletions.
  1. +18 −3 billing/templatetags/paypal_tags.py
View
21 billing/templatetags/paypal_tags.py
@@ -1,27 +1,42 @@
'''
Template tags for paypal offsite payments
'''
-from paypal.standard.forms import PayPalPaymentsForm
+from paypal.standard.forms import PayPalPaymentsForm, PayPalEncryptedPaymentsForm
from django import template
from django.template.loader import render_to_string
register = template.Library()
class PayPalNode(template.Node):
- def __init__(self, integration):
+ def __init__(self, integration, encrypted=False):
self.integration = template.Variable(integration)
+ self.encrypted = encrypted
def render(self, context):
int_obj = self.integration.resolve(context)
+ if self.encrypted:
+ form_class = PayPalEncryptedPaymentsForm
+ else:
+ form_class = PayPalPaymentsForm
form_str = render_to_string("billing/paypal.html",
- {"form": PayPalPaymentsForm(initial=int_obj.fields),
+ {"form": form_class(initial=int_obj.fields),
"integration": int_obj}, context)
return form_str
+
@register.tag
def paypal(parser, token):
try:
tag, int_obj = token.split_contents()
except ValueError:
raise template.TemplateSyntaxError("%r was expecting a single argument" %token.split_contents()[0])
return PayPalNode(int_obj)
+
+
+@register.tag
+def paypal_encrypted(parser, token):
+ try:
+ tag, int_obj = token.split_contents()
+ except ValueError:
+ raise template.TemplateSyntaxError("%r was expecting a single argument" %token.split_contents()[0])
+ return PayPalNode(int_obj, encrypted=True)

0 comments on commit ab76bd9

Please sign in to comment.
Something went wrong with that request. Please try again.