Esempio n. 1
0
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)
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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)
Esempio n. 5
0
def error(request, team_id):
    team = get_team(team_id)
    recipient = get_or_create_recipient(team, request.user)
    status_message = AmazonActionStatus.get_status_message(recipient.status_code)

    return render(request, 'old/dashboard/recipients/error.html', {
        'spudder_url': '%s/dashboard/teams/%s/offers' % (settings.SPUDDER_BASE_URL, team_id),
        'status': status_message
    })
Esempio n. 6
0
def error(request, venue_id):
    venue = Venue.objects.get(pk = venue_id)
    recipient = VenueRecipient.objects.get_or_create(groundskeeper = venue.student)
    status_message = AmazonActionStatus.get_status_message(recipient.status_code)

    return render(request, 'spuddercern/pages/recipient_error.html', {
        'spudder_url': '%s/venues/view/%s' % (settings.SPUDMART_BASE_URL, venue_id),
        'status': status_message
    })
Esempio n. 7
0
def rent_error(request, venue_id):
    venue = get_object_or_404(Venue, pk=venue_id)
    rent_venue = RentVenue.objects.get(venue=venue)
    status_message = AmazonActionStatus.get_status_message(rent_venue.status_code)

    return render(request, 'spuddercern/pages/rent_venue_error.html', {
        'spudder_url': '%s/venues/view/%s' % (settings.SPUDMART_BASE_URL, venue.id),
        'status': status_message,
        'error_message': rent_venue.error_message
    })
Esempio n. 8
0
def error(request, donation_id):
    donation = get_object_or_404(Donation, pk=donation_id)
    status_message = AmazonActionStatus.get_status_message(donation.status_code)
    offer_id = donation.offer.spudder_id
    team_id = donation.offer.team.spudder_id

    return render(request, 'old/dashboard/donations/error.html', {
        'spudder_url': '%s/teams/%s/offers/%s' % (settings.SPUDDER_BASE_URL, team_id, offer_id),
        'status': status_message,
        'error_message': donation.error_message
    })
Esempio n. 9
0
def error(request, venue_id):
    venue = Venue.objects.get(pk=venue_id)
    recipient = VenueRecipient.objects.get_or_create(
        groundskeeper=venue.student)
    status_message = AmazonActionStatus.get_status_message(
        recipient.status_code)

    return render(
        request, 'spuddercern/pages/recipient_error.html', {
            'spudder_url':
            '%s/venues/view/%s' % (settings.SPUDMART_BASE_URL, venue_id),
            'status':
            status_message
        })
Esempio n. 10
0
def error(request, team_id):
    team = get_team(team_id)
    recipient = get_or_create_recipient(team, request.user)
    status_message = AmazonActionStatus.get_status_message(
        recipient.status_code)

    return render(
        request, 'old/dashboard/recipients/error.html', {
            'spudder_url':
            '%s/dashboard/teams/%s/offers' %
            (settings.SPUDDER_BASE_URL, team_id),
            'status':
            status_message
        })
Esempio n. 11
0
def rent_error(request, venue_id):
    venue = get_object_or_404(Venue, pk=venue_id)
    rent_venue = RentVenue.objects.get(venue=venue)
    status_message = AmazonActionStatus.get_status_message(
        rent_venue.status_code)

    return render(
        request, 'spuddercern/pages/rent_venue_error.html', {
            'spudder_url':
            '%s/venues/view/%s' % (settings.SPUDMART_BASE_URL, venue.id),
            'status':
            status_message,
            'error_message':
            rent_venue.error_message
        })
Esempio n. 12
0
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
Esempio n. 13
0
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
Esempio n. 14
0
def error(request, donation_id):
    donation = get_object_or_404(Donation, pk=donation_id)
    status_message = AmazonActionStatus.get_status_message(
        donation.status_code)
    offer_id = donation.offer.spudder_id
    team_id = donation.offer.team.spudder_id

    return render(
        request, 'old/dashboard/donations/error.html', {
            'spudder_url':
            '%s/teams/%s/offers/%s' %
            (settings.SPUDDER_BASE_URL, team_id, offer_id),
            'status':
            status_message,
            'error_message':
            donation.error_message
        })
Esempio n. 15
0
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)
Esempio n. 16
0
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)