def finish_order(request, buying_item_id): ORDER_LIMIT = settings.ORDER_LIMIT ORDER_UNIT = settings.ORDER_UNIT member = getMemberByUser(request.user) if member is None: return HttpResponseRedirect('/') buying_items = BuyingItem.objects.filter(id=buying_item_id) if len(buying_items) == 0: return HttpResponseRedirect('/') buying_item = buying_items[0] if buying_item.to_member.id != member.id: return HttpResponseRedirect('/') else: buying_item.item.count = int(buying_item.item.count) - int(buying_item.count) if (buying_item.item.count < 0): variables = RequestContext(request, { 'finish_order_error': True }) return render_to_response('finish_order_error.html', variables) buying_item.item_state = "finish" buying_item.save() if (member.member_type == "wholesaler" or member.member_type == "factory"): child_item = get_object_or_404(Item, parent_item=buying_item.item) if member.member_type == "factory": child_item.count = child_item.count + settings.FACTORY_ORDER_UNIT else: child_item.count = child_item.count + settings.ORDER_UNIT child_item.save() if (buying_item.item.count <= ORDER_LIMIT) : if len(BuyingItem.objects.filter(item=buying_item.item).filter(item_state="accept")) == 0: retailer_buying_item = BuyingItem(from_member = member, to_member = buying_item.item.parent_item.member, count = ORDER_UNIT, item_state = "accept", account = getVirtualAccount(), item = buying_item.item.parent_item) retailer_buying_item.save() buying_item.item.save() return HttpResponseRedirect(request.META.get('HTTP_REFERER','/'))
def request_factory_item(request, item_id): member = getMemberByUser(request.user) item = get_object_or_404(Item, id=item_id) existing_items = BuyingItem.objects.filter(item=item.parent_item).filter(from_member=member).filter(item_state="accept") if len(existing_items) != 0: return HttpResponseRedirect(request.META.get('HTTP_REFERER','/')) buying_item = BuyingItem(count = settings.FACTORY_ORDER_UNIT, account = getVirtualAccount(), item_state = "accept", from_member = member, to_member = item.parent_item.member, item = item.parent_item) buying_item.save() return HttpResponseRedirect(request.META.get('HTTP_REFERER','/'))
def order(request): member = None user = request.user item = None if request.method == 'POST': form = OrderForm(request.POST) item_id = request.POST['item_id'] items = SellingItem.objects.filter(id=item_id) user = request.user if not user.is_anonymous(): members = Member.objects.filter(user=user) if (len(members) != 0): member = members[0] else : return HttpResponseRedirect('/') else : return HttpResponseRedirect('/') if (len(items) == 0): return HttpResponseRedirect('/') else: item = items[0] if form.is_valid(): error = None count = form.cleaned_data['count'] if int(count) > int(item.count): error = '요청 수량이 제품 보유량보다 큽니다.' if int(count) <= 0: error = '제품 요청은 0보다 큰 수량으로 하셔야 합니다' if error is not None: variables = RequestContext(request, { 'form': form, 'error': error, 'item': item, 'member': member, }) return render_to_response('itemview.html', variables, context_instance=RequestContext(request) ) # 정상일때 저장 item.count = str(int(item.count) - int(count)) item.save() buying_item = BuyingItem(count = int(count), account = getVirtualAccount(), item_state = "accept", from_member = member, to_member = item.member, item = item.item) buying_item.save() return HttpResponseRedirect('/') variables = RequestContext(request, { 'form': form, 'item': item, 'member': member, }) return render_to_response('itemview.html', variables, context_instance=RequestContext(request) ) else: return HttpResponseRedirect('/')