Exemple #1
0
def changeOrderItemStatus(request):
    data = request.POST
    pk = data['pk'];
    instock = int(data['instock']);
    orderitem = OrderItem.objects.get(pk = pk);
    order = orderitem.order
    orderitem.status = 'I'

    if instock < orderitem.quantity:
        new_order_item = OrderItem()
        new_order_item.quantity = orderitem.quantity - instock
        new_order_item.category = orderitem.category
        new_order_item.description = orderitem.description
        new_order_item.status = 'P'
        new_order_item.order = orderitem.order
        new_order_item.save()
        inform_purchase_agent(subject='سفارش نیازمند خرید است',message=render_to_string('mail/buy_orderitem.html',{'orderitem' : new_order_item}))

    if instock == 0:
        orderitem.delete()
    else:
        orderitem.quantity = instock
        orderitem.save()
        inner_q = Good.objects.filter(category=orderitem.category,user=None)[:instock]
        Good.objects.filter(pk__in = inner_q).update(user=order.user)
        inform_user(user=order.user, message=render_to_string('mail/orderitem_available.html', {'orderitem': orderitem}),
                    subject='سفارش شما در انبار موجود است')
    #check and change the status of the order
    if OrderItem.objects.filter(order= order,status='N').count() == 0:
        return HttpResponse('order_changed')
    return HttpResponse("success")
Exemple #2
0
def addGood(request):
    buy_agent = MyBackend().authenticate(request.POST['username'], request.POST['password'])
    if buy_agent == None or (buy_agent.groups.all()[0].name != 'B' and not buy_agent.is_superuser) :
        return HttpResponse('borooo')
    today = jDateField()
    today = today.to_python(datetime.datetime.now())

    order = Order.objects.filter(pk=int(request.POST['order']))[0]
    orderitem = OrderItem.objects.filter(pk=int(request.POST['orderitem']))[0]
    orderitem.status = 'I'
    orderitem.save()
    if not order.user == None:
        inform_user(user=order.user, message=render_to_string('mail/orderitem_available.html', {'orderitem': orderitem}),
                    subject='سفارش شما در انبار موجود است')

    if not OrderItem.objects.filter(order=order).exclude(status='I'):
        order.status = 'D'
        order.save()

    for i in range(0, orderitem.quantity):
        good = Good(submitDate=today, category=orderitem.category, user=order.user, orderitem=orderitem, status='W')
        good.save()

    c = {'rlink': '../../allgoods/', 'success': "کالاها با موفقیت ثبت شدند"}
    return render_to_response("success.html", c)
Exemple #3
0
def deleteDamaged(request):
    damaged = Damaged.objects.get(pk=request.POST['pk'])
    inform_user(user=damaged.good.user, message=render_to_string("mail/damaged_deleted.html", {'good': damaged.good}),
                subject='کالای معیوب شما مرجوعی است')
    deleteFromQuerySet(request, Damaged.objects)
    damaged.good.delete()
    return HttpResponse('success')
Exemple #4
0
def returnDamaged(request):
    columns = ['status']
    damaged = Damaged.objects.get(pk=request.POST['pk'])
    inform_user(user=damaged.good.user, message=render_to_string("mail/damaged_repaired.html", {'good': damaged.good}),
                subject='کالای شما تعمیر شد')
    changeQuerySet(request, columns=columns, queryset=Damaged.objects)
    return HttpResponse('success')
Exemple #5
0
def acceptOrder(request):
    order=Order.objects.get(pk=int(request.POST['pk']))
    if order.user != None:
        inform_user(user=order.user, message=render_to_string('mail/order_accepted.html', {'order': order}),
                subject='سفارش شما تایید شد')
    inform_warehouse_manager( message=render_to_string('mail/order_warehouse_manager.html', {'order': order}),
                              subject='سفارش نیازمند بررسی است')
    columns = ["status"]

    return changeQuerySet(request,columns,Order.objects)
Exemple #6
0
def deleteOrder(request):
    order=Order.objects.get(pk=int(request.POST['pk']))
    if order.user != None:
         inform_user(user=order.user, message=render_to_string('mail/order_rejected.html', {'order': order}),
                subject='سفارش شما رد شد')
    return deleteFromQuerySet(request,Order.objects)