def try_take_seat_by_class(self, class_of_service): order = Order.objects.create(unique_flight=self.unique_flight, class_of_service=class_of_service) free_seats = Order.get_free_seats(self.unique_flight.id, self.unique_flight.flight.aircraft, class_of_service) self.assertEqual(len(free_seats), 10) taken_seat = free_seats[0] order.try_take_seat(taken_seat) free_seats = Order.get_free_seats(self.unique_flight.id, self.unique_flight.flight.aircraft, class_of_service) self.assertEqual(len(free_seats), 9) self.assertNotIn(taken_seat, free_seats) order.delete()
def show_order(request, order_id, order_hash): try: order = Order.objects.get(pk=order_id, order_hash=order_hash) except Order.DoesNotExist: raise Http404 diff = int((order.unique_flight.departure_datetime - datetime.datetime.now()).total_seconds() / 60) if 30 < diff < 360: aircraft = order.unique_flight.flight.aircraft free_seats = Order.get_free_seats(order.unique_flight.id, aircraft, order.class_of_service) return render_to_response('show_order.html', {'order': order, 'price': order.unique_flight.get_price(order.class_of_service), 'free_seats': free_seats, 'order_id': order_id}, context_instance=RequestContext(request)) else: return render_to_response('status.html', {'status': 'It is not time for registration yet'}, context_instance=RequestContext(request))