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())
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 )