def complete(request, donation_id): donation = get_object_or_404(Donation, pk=donation_id) donation.status_code = AmazonActionStatus.get_from_code(request.GET.get('status')) if donation.status_code is AmazonActionStatus.SUCCESS: team = donation.offer.team recipients = Recipient.objects.filter(team=team) recipientTokenId = recipients[0].recipient_token_id try: connection = get_fps_connection() transactionAmount = donation.offer.donation connection.pay(RecipientTokenId=recipientTokenId, TransactionAmount=transactionAmount, SenderTokenId=request.GET.get('tokenID'), ChargeFeeTo='Caller', MarketplaceVariableFee='5') donation.sender_token_id = request.GET.get('tokenID') state = DonationState.FINISHED trigger_backend_task('/spudder/synchronise_sponsorship_data_from_donation/%s' % donation.id) redirect_to = '/dashboard/donation/%s/thanks' % donation_id except Exception, e: state = DonationState.TERMINATED donation.status_code = AmazonActionStatus.SE donation.error_message = e redirect_to = '/dashboard/donation/%s/error' % donation_id
def complete(request, donation_id): donation = get_object_or_404(Donation, pk=donation_id) donation.status_code = AmazonActionStatus.get_from_code( request.GET.get('status')) if donation.status_code is AmazonActionStatus.SUCCESS: team = donation.offer.team recipients = Recipient.objects.filter(team=team) recipientTokenId = recipients[0].recipient_token_id try: connection = get_fps_connection() transactionAmount = donation.offer.donation connection.pay(RecipientTokenId=recipientTokenId, TransactionAmount=transactionAmount, SenderTokenId=request.GET.get('tokenID'), ChargeFeeTo='Caller', MarketplaceVariableFee='5') donation.sender_token_id = request.GET.get('tokenID') state = DonationState.FINISHED trigger_backend_task( '/spudder/synchronise_sponsorship_data_from_donation/%s' % donation.id) redirect_to = '/dashboard/donation/%s/thanks' % donation_id except Exception, e: state = DonationState.TERMINATED donation.status_code = AmazonActionStatus.SE donation.error_message = e redirect_to = '/dashboard/donation/%s/error' % donation_id
def complete(request, team_id): team = get_team(team_id) recipient = get_or_create_recipient(team, request.user) recipient.status_code = AmazonActionStatus.get_from_code( request.GET.get('status')) recipient.max_fee = 10 if recipient.status_code is AmazonActionStatus.SUCCESS: result = save_team_is_recipient(team_id) if not result: state = RecipientRegistrationState.TERMINATED recipient.status_code = AmazonActionStatus.SPUDDER_SAVE_FAILED redirect_to = '/dashboard/recipient/%s/error' % team_id else: state = RecipientRegistrationState.FINISHED recipient.recipient_token_id = request.GET.get('tokenID') recipient.refund_token_id = request.GET.get('refundTokenID') redirect_to = '/dashboard/recipient/%s/thanks' % team_id else: state = RecipientRegistrationState.TERMINATED redirect_to = '/dashboard/recipient/%s/error' % team_id recipient.state = state recipient.save() return HttpResponseRedirect(redirect_to)
def complete(request, team_id): team = get_team(team_id) recipient = get_or_create_recipient(team, request.user) recipient.status_code = AmazonActionStatus.get_from_code(request.GET.get('status')) recipient.max_fee = 10 if recipient.status_code is AmazonActionStatus.SUCCESS: result = save_team_is_recipient(team_id) if not result: state = RecipientRegistrationState.TERMINATED recipient.status_code = AmazonActionStatus.SPUDDER_SAVE_FAILED redirect_to = '/dashboard/recipient/%s/error' % team_id else: state = RecipientRegistrationState.FINISHED recipient.recipient_token_id=request.GET.get('tokenID') recipient.refund_token_id=request.GET.get('refundTokenID') redirect_to = '/dashboard/recipient/%s/thanks' % team_id else: state = RecipientRegistrationState.TERMINATED redirect_to = '/dashboard/recipient/%s/error' % team_id recipient.state = state recipient.save() return HttpResponseRedirect(redirect_to)
def rent_complete(request, venue_id): venue = get_object_or_404(Venue, pk=venue_id) rent_venue, _ = RentVenue.objects.get_or_create(venue=venue) rent_venue.status_code = AmazonActionStatus.get_from_code( request.GET.get('status')) if rent_venue.status_code is AmazonActionStatus.SUCCESS: recipients = VenueRecipient.objects.filter(groundskeeper=venue.student) recipient_token_id = recipients[0].recipient_token_id try: connection = get_fps_connection() transaction_amount = venue.price venue_ipn_url = get_rent_venue_ipn_url(venue, request.user) connection.pay(RecipientTokenId=recipient_token_id, TransactionAmount=transaction_amount, SenderTokenId=request.GET.get('tokenID'), ChargeFeeTo='Caller', MarketplaceVariableFee='50', OverrideIPNURL=venue_ipn_url) rent_venue.sender_token_id = request.GET.get('tokenID') if not request.user.is_authenticated(): redirect_to, state = _pending_rental_logic(request, venue) elif request.current_role.entity_type is not RoleController.ENTITY_SPONSOR: # We need to check if currently used role is a Sponsor, because users can rent Venues with different # roles but already have the Sposnor role assigned, but not activated redirect_to, state = _pending_rental_logic(request, venue) else: try: state = DonationState.FINISHED sponsor_page = SponsorPage.objects.get( sponsor=request.user) venue.renter = sponsor_page venue.save() redirect_to = '/venues/rent_venue/%s/thanks' % venue.pk except SponsorPage.DoesNotExist: # Missing Sponsor page means that in the past something went wrong while finalizing transaction # and Sponsor profile wasn't created. In that case the only way is to create Sponsor profile again. redirect_to, state = _pending_rental_logic(request, venue) except Exception, e: state = DonationState.TERMINATED rent_venue.status_code = AmazonActionStatus.SE rent_venue.error_message = e redirect_to = '/venues/rent_venue/%s/error' % venue.pk
def rent_complete(request, venue_id): venue = get_object_or_404(Venue, pk = venue_id) rent_venue, _ = RentVenue.objects.get_or_create(venue=venue) rent_venue.status_code = AmazonActionStatus.get_from_code(request.GET.get('status')) if rent_venue.status_code is AmazonActionStatus.SUCCESS: recipients = VenueRecipient.objects.filter(groundskeeper=venue.student) recipient_token_id = recipients[0].recipient_token_id try: connection = get_fps_connection() transaction_amount = venue.price venue_ipn_url = get_rent_venue_ipn_url(venue, request.user) connection.pay( RecipientTokenId=recipient_token_id, TransactionAmount=transaction_amount, SenderTokenId=request.GET.get('tokenID'), ChargeFeeTo='Caller', MarketplaceVariableFee='50', OverrideIPNURL=venue_ipn_url ) rent_venue.sender_token_id = request.GET.get('tokenID') if not request.user.is_authenticated(): redirect_to, state = _pending_rental_logic(request, venue) elif request.current_role.entity_type is not RoleController.ENTITY_SPONSOR: # We need to check if currently used role is a Sponsor, because users can rent Venues with different # roles but already have the Sposnor role assigned, but not activated redirect_to, state = _pending_rental_logic(request, venue) else: try: state = DonationState.FINISHED sponsor_page = SponsorPage.objects.get(sponsor=request.user) venue.renter = sponsor_page venue.save() redirect_to = '/venues/rent_venue/%s/thanks' % venue.pk except SponsorPage.DoesNotExist: # Missing Sponsor page means that in the past something went wrong while finalizing transaction # and Sponsor profile wasn't created. In that case the only way is to create Sponsor profile again. redirect_to, state = _pending_rental_logic(request, venue) except Exception, e: state = DonationState.TERMINATED rent_venue.status_code = AmazonActionStatus.SE rent_venue.error_message = e redirect_to = '/venues/rent_venue/%s/error' % venue.pk
def complete(request, venue_id): venue = Venue.objects.get(pk=venue_id) venue_recipient, _ = VenueRecipient.objects.get_or_create(groundskeeper = venue.student) venue_recipient.status_code = AmazonActionStatus.get_from_code(request.GET.get('status')) venue_recipient.max_fee = 50 if venue_recipient.status_code is AmazonActionStatus.SUCCESS: state = RecipientRegistrationState.FINISHED venue_recipient.recipient_token_id=request.GET.get('tokenID') venue_recipient.refund_token_id=request.GET.get('refundTokenID') redirect_to = '/venues/recipient/%s/thanks' % venue_id else: state = RecipientRegistrationState.TERMINATED redirect_to = '/venues/recipient/%s/error' % venue_id venue_recipient.state = state venue_recipient.save() return HttpResponseRedirect(redirect_to)
def complete(request, venue_id): venue = Venue.objects.get(pk=venue_id) venue_recipient, _ = VenueRecipient.objects.get_or_create( groundskeeper=venue.student) venue_recipient.status_code = AmazonActionStatus.get_from_code( request.GET.get('status')) venue_recipient.max_fee = 50 if venue_recipient.status_code is AmazonActionStatus.SUCCESS: state = RecipientRegistrationState.FINISHED venue_recipient.recipient_token_id = request.GET.get('tokenID') venue_recipient.refund_token_id = request.GET.get('refundTokenID') redirect_to = '/venues/recipient/%s/thanks' % venue_id else: state = RecipientRegistrationState.TERMINATED redirect_to = '/venues/recipient/%s/error' % venue_id venue_recipient.state = state venue_recipient.save() return HttpResponseRedirect(redirect_to)