def shopping_cart(request, unit_id): #del request.session['1:rif'] unit = get_object_or_404(Unit, pk=unit_id) oc = OrderCarts(request.session, unit_id) cn = '%s:%s' % (unit_id, request.user.username) total = oc.get_total_sum(cn) return locals()
def test_session_top(self): self.client.login(username='******', password='******') self.client.get(reverse('order:shop', args=[1, "rif", '1-0'])) r = self.client.get(reverse('order:shop', args=["1", "rif", '1-0_1'])) self.assertEqual(200, r.status_code) oc = OrderCarts(self.client.session, '1') self.assertEqual(13, oc.get_total_sum())
def item_detail(request, unit_id, item_id): if item_id.startswith('m'): item = get_object_or_404(MenuOfTheDay, pk=item_id[1:]) else: item = get_object_or_404(Item, pk=item_id) cn = '%s:%s' % (unit_id, request.user.username) oc = OrderCarts(request.session, unit_id) total = oc.get_total_sum(cn) return locals()
def test_decr(self): u = Unit.objects.get(id=1) u.minimum_ord_val = 100 u.save() self.client.login(username='******', password='******') oc = OrderCarts(self.client.session, '1') self.client.get(reverse('order:shop', args=[1, "rif", '1-0'])) r = self.client.get(reverse('order:decr-item', args=[1, "rif", '1-0'])) self.assertEqual(200, r.status_code) self.assertEqual(0, oc.get_total_sum())
def shop(request, unit_id, item_id): oc = OrderCarts(request.session, unit_id) cn = '%s:%s' % (unit_id, request.user.username) if cn not in oc.get_carts( ) and '_' in item_id: #first added item is a topping return {'error': '2e62'} # kriptic errors for hackers delight :) #if cn in oc.get_carts() and '_' in item_id and item_id.rsplit('_')[0] not in oc.get_carts(cn): # added topping without item # return {'error': '2e6z'} oc.add_item(cn, item_id) oc.update_session(request.session) oc.update_prices() return {'total': oc.get_total_sum()}
def send_order(request, unit_id): oc = OrderCarts(request.session, unit_id) if not oc.have_unit_cart(): return {'error': '2e45'} # kriptic errors for hackers delight :) unit = get_object_or_404(Unit, pk=unit_id) if not unit.is_open(): return {'error': '2e61'} if unit.minimum_ord_val > oc.get_total_sum(): return {'error': '2e65'} if 'dt' not in request.GET: return {'error': '2e77'} delivery_type = get_object_or_404(DeliveryType, pk=request.GET['dt']) if delivery_type.require_address and 'da' not in request.GET: return {'error': '2e78'} if 'da' in request.GET: address = get_object_or_404(DeliveryAddress, pk=request.GET['da']) order = Order(address=address, delivery_type=delivery_type) construct_order(request, oc, unit, order, False) return {}
def incr_item(request, unit_id, item_id): unit = get_object_or_404(Unit, pk=unit_id) oc = OrderCarts(request.session, unit_id) cn = '%s:%s' % (unit_id, request.user.username) oc.add_item(cn, item_id) oc.update_session(request.session) oc.update_prices() we_are_are_in_cart = True return locals()
def menu(request, unit_id): unit = get_object_or_404(Unit, pk=unit_id) oc = OrderCarts(request.session, unit_id) cn = '%s:%s' % (unit_id, request.user.username) total = oc.get_total_sum(cn) return locals()