def add_to_cart(request): try: id = request.POST.get('good_id') cart = Order.get_order(request) cart.add_good(id) res = {'res': True, 'count': cart.goods_count()} except: res = {'res': False} return HttpResponse(json.dumps(res), content_type='application/json')
def login(request): order_anon = Order.get_order(request) email = request.POST.get('email') password = request.POST.get('password') user = auth.authenticate(username=email, password=password) if user is not None and user.is_active: auth.login(request, user) order = Order.get_order(request) if order.goods_count() == 0: order.delete() order_anon.user = user order_anon.save() else: order_anon.delete() del request.session['order'] return HttpResponse(json.dumps({'res': True}), content_type="application/json") else: return HttpResponse(json.dumps({'res': False}), content_type="application/json")
def post(self, request, **kwargs): if request.user.is_anonymous(): return redirect('register') self.object_list = self.get_queryset() context = self.get_context_data() order = Order.get_order(request) order.close() context['closed']=True return render(request, self.template_name, context)
def change_count(request): order_good = OrderGood.objects.get(id=int(request.POST.get('id'))) price = 0 try: count = int(request.POST.get('count', 1)) order_good.count = count order_good.save() price = order_good.good.price * count except: return HttpResponse(json.dumps({'res': False}), content_type='application/json') order = Order.get_order(request) total = order.get_total() return HttpResponse(json.dumps({'res': True, 'total': total, 'price': price}), content_type='application/json')
def get_queryset(self, queryset=None): order = Order.get_order(self.request) return OrderGood.objects.filter(order=order).distinct()
def render_user_menu(context): user = context.request.user order = Order.get_order(context.request) return {"auth": user.is_authenticated(), "user": user, "order": order}