Skip to content
This repository has been archived by the owner on Jan 25, 2018. It is now read-only.

fixup premium, filtering and the bango number #365

Merged
merged 2 commits into from
Apr 23, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 5 additions & 2 deletions lib/bango/views/billing.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@
log = getLogger('s.bango')


def prepare(form):
def prepare(form, bango):
data = form.bango_data
# Add in the Bango number from the serializer.
data['bango'] = bango

# Used to create the approprate data structure.
client = get_client()
Expand Down Expand Up @@ -123,9 +125,10 @@ def billing(request):
return exc.response

transaction_uuid = form.bango_data['externalTransactionId']
bango = serial.object['seller_product_bango'].bango_id

try:
data = prepare(form)
data = prepare(form, bango)
resp = view.client('CreateBillingConfiguration', data)
except BangoError:
log.error('Error on createBillingConfiguration, uuid: {0}'
Expand Down
4 changes: 3 additions & 1 deletion lib/bango/views/product.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@
class ProductViewSet(NonDeleteModelViewSet, BangoResource):
queryset = SellerProductBango.objects.filter()
serializer_class = SellerProductBangoSerializer
filter_fields = ('seller_product__seller', 'seller_product__external_id')
filter_fields = ('seller_product',
'seller_product__seller',
'seller_product__external_id')

def create(self, request, *args, **kw):
try:
Expand Down
2 changes: 1 addition & 1 deletion lib/bango/views/status.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def check_bango(self, obj):
raise ParseError

try:
data = prepare(form)
data = prepare(form, obj.seller_product_bango.bango_id)
view.client('CreateBillingConfiguration', data)
except BangoImmediateError:
log.info('Bango error in check status: {0}'.format(pk))
Expand Down
10 changes: 4 additions & 6 deletions lib/provider/bango.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from django.core.urlresolvers import reverse

from rest_framework.response import Response

from lib.bango.forms import (CreateBangoNumberForm, MakePremiumForm,
Expand Down Expand Up @@ -40,8 +38,7 @@ def post(self, request, *args, **kwargs):

# Make it premium.
data = request.DATA.copy()
data['seller_product_bango'] = reverse(
'bango:product-detail', kwargs={'pk': product.pk})
data['bango'] = resp.bango
data['price'] = '0.99'
data['currencyIso'] = 'USD'

Expand All @@ -50,8 +47,7 @@ def post(self, request, *args, **kwargs):
return self.form_errors(form)

data = form.cleaned_data
data['bango'] = serial.object.bango_id

data['bango'] = resp.bango
view.client('MakePremiumPerAccess', data)

for rating, scheme in (['UNIVERSAL', 'GLOBAL'],
Expand All @@ -62,6 +58,8 @@ def post(self, request, *args, **kwargs):
if not form.is_valid():
return self.form_errors(form)

data = form.cleaned_data
data['bango'] = resp.bango
view.client('UpdateRating', data)

return Response(SellerProductBangoSerializer(product).data)