Ejemplo n.º 1
0
 def test_PayPalPaymentsUpdateForm_renders_buy_it_now_button(self):
     booking = mommy.make_recipe('flex_bookings.booking')
     pptrans = helpers.create_booking_paypal_transaction(
         booking.user, booking
     )
     form = PayPalPaymentsUpdateForm(
         initial=get_paypal_dict(
                     'http://example.com',
                     booking.event.cost,
                     booking.event,
                     pptrans.invoice_id,
                     '{} {}'.format('booking', booking.id)
                 )
     )
     self.assertIn('Buy it Now', form.render())
Ejemplo n.º 2
0
def payments_pending(request):
    unpaid_bookings = Booking.objects.filter(
        user=request.user, status='OPEN', paid=False
    )
    unpaid_booked_events = [booking.event for booking in unpaid_bookings]

    blocks = []
    unpaid_single_bookings = []

    for booking in unpaid_bookings:
        if booking.event in unpaid_booked_events and booking.block:
            blocks.append(booking.block)
        else:
            invoice_id = create_booking_paypal_transaction(
            request.user, booking).invoice_id
            host = 'http://{}'.format(request.META.get('HTTP_HOST'))
            paypal_form = PayPalPaymentsListForm(
                initial=context_helpers.get_paypal_dict(
                    host,
                    booking.cost,
                    booking.event,
                    invoice_id,
                    'userid {} {} {}'.format(
                        request.user.id, 'booking', booking.id
                    )
                )
            )
            unpaid_booking = {
                'booking': booking,
                'paypalform': paypal_form
                }
            unpaid_single_bookings.append(unpaid_booking)

    unpaid_blocks = []
    for block in set(blocks):
        invoice_id = create_block_paypal_transaction(
            request.user, block).invoice_id
        host = 'http://{}'.format(request.META.get('HTTP_HOST'))
        paypal_form = PayPalPaymentsListForm(
            initial=context_helpers.get_paypal_dict(
                host,
                block.item_cost * block.events.count(),
                block.name,
                invoice_id,
                'userid {} {} {}'.format(request.user.id, 'block', block.id)
            )
        )
        unpaid_block = {
            'block': block,
            'paypalform': paypal_form
            }
        unpaid_blocks.append(unpaid_block)


    context = {
        'unpaid_blocks': unpaid_blocks,
        'unpaid_bookings': unpaid_single_bookings
    }

    return TemplateResponse(
        request, 'flex_bookings/payments_pending.html', context
    )