Exemple #1
0
def delete(request, id: cmod.OrderItem = None):
    id.status = "deleted"
    id.save()

    context = {}

    return HttpResponseRedirect('/catalog/cart/')
Exemple #2
0
def process_request(request, item: cmod.OrderItem = None):

    item.status = 'deleted'
    item.order.recalculate()
    item.save()

    return HttpResponseRedirect('/catalog/cart/')
Exemple #3
0
def remove(request, item: cmod.OrderItem = None):
    if item is not None:
        item.status = 'deleted'
        item.quantity = 0
        item.save()
        order = item.order
        order.recalculate()
    return HttpResponseRedirect('/catalog/cart/')
Exemple #4
0
def process_request(request, orderItem: cmod.OrderItem, order: cmod.Order):
    orderItem.status = 'deleted'
    orderItem.save()
    order.recalculate()

    if order.num_items() < 1:
        return HttpResponseRedirect('/catalog/')
    else:
        return HttpResponseRedirect('/catalog/cart/' + str(order.id))
Exemple #5
0
def BasketResidentConvert(request, pk):
    product = Product.objects.all()
    instance = get_object_or_404(Resident, pk=pk)
    order_list = BasketResident.objects.filter(user_basket=instance)
    verifpoint = request.POST.get('verifpoint')
    date = datetime.date.today()
    start_week = date - datetime.timedelta(date.weekday())
    end_week = start_week + datetime.timedelta(7)
    family = Resident.objects.filter(badge=instance.badge)
    pklist = []
    for f in family:
        pklist.append(f.id)
    entries = Order.objects.filter(date__range=[start_week, end_week],
                                   order_user__in=pklist)
    point = 0

    for p in entries:
        point += p.points
    pts = 0
    can_save = True
    error = []
    if not BasketResident.objects.filter(user_basket=instance).exists():
        error.append("panier vide")
        can_save = False
    else:
        for p in order_list:
            pts += p.product.prod_limit * p.qty
            if p.qty > p.product.prod_stock:
                error.append("Stock insuffisant de : " + p.product.prod_name +
                             " - Stock restant :" + str(p.product.prod_stock))
                p.save()
                can_save = False

        if verifpoint:
            instance = get_object_or_404(Resident, pk=pk)
            family = Resident.objects.filter(badge=instance.badge)
            familynumber = family.count()
            user_points = get_object_or_404(
                LimitFamily, compo_family=str(familynumber)).point_by_week
            restant = user_points - point
            if pts > restant:
                error.append("limite de point dépassé, point restant :" +
                             str(restant))
                can_save = False
        else:
            pts = 0

    if can_save:

        #for p in order_list :

        id = Order.objects.latest('id')
        title = "AMC_Shop_" + datetime.datetime.now().strftime(
            "%d%m%Y") + "_" + str((id.id + 1))
        instance_order = Order(order_user=instance, title=title, points=pts)
        instance_order.save()
        for p in order_list:
            instance_item = OrderItem(product=p.product,
                                      order=instance_order,
                                      qty=p.qty)
            instance_item.save()
            p.delete()
    responseData = {
        'error': error,
        'verifpoint': verifpoint,
        #'entries':list(entries.values()),
        'point': point,
    }
    return JsonResponse(responseData)
Exemple #6
0
def process_request(request, line_item: cmod.OrderItem):

    line_item.status = 'deleted'
    line_item.save()

    return HttpResponseRedirect('/catalog/cart/')
Exemple #7
0
def process_request(request, product: cmod.OrderItem):

    product.status = 'deleted'
    product.save()

    return HttpResponseRedirect("/catalog/cart/")
Exemple #8
0
def delete(request, orderItem: cmod.OrderItem):
    orderItem.status = 'deleted'
    orderItem.save()
    cart = request.user.get_shopping_cart()
    cart.recalculate()
    return HttpResponseRedirect('/catalog/cart/')