Пример #1
0
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()
Пример #2
0
 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())
Пример #3
0
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()
Пример #4
0
 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())
Пример #5
0
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()}
Пример #6
0
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 {}
Пример #7
0
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()
Пример #8
0
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()