def _get_basket(request): if request.user.is_authenticated(): Basket.objects.filter( session_key=get_session_from_request(request)).update( user=request.user) return Basket.objects.filter(user=request.user) else: return Basket.objects.filter( session_key=get_session_from_request(request))
def delete_basket(request, object_id): # Link used when User delete the item from basket # noinspection PyBroadException try: Basket.objects.get(pk=int(object_id)).delete() if request.user.is_authenticated(): basket_user = Basket.objects.filter(user=request.user) else: basket_user = Basket.objects.filter( session_key=get_session_from_request(request)) basket_count = basket_user.count() all_sum = 0 for item in basket_user: all_sum += item.sum payload = { 'success': True, 'basket_count': basket_count, 'basket_sum': "%0.2f" % (all_sum, ), 'id': int(object_id) } except AccessError as aerr: payload = {'success': False} except: payload = {'success': False} return ajax_answer_lazy(payload)
def process_request(self, request): if request.is_ajax(): return if request.path.startswith(settings.ADMIN_SYSTEM_PREFIX): return # see if the user agent is not supposed to be tracked user_agent = request.META.get('HTTP_USER_AGENT', '')[:255] for ua in UNTRACKED_USER_AGENT: # if the keyword is found in the user agent, stop tracking if user_agent.find(ua) != -1: return from nnmware.core.models import VisitorHit v = VisitorHit() if request.user.is_authenticated(): v.user = request.user v.user_agent = user_agent v.ip = request.META.get('REMOTE_ADDR', '') v.session_key = get_session_from_request(request) v.secure = request.is_secure() v.referer = request.META.get('HTTP_REFERER', '') v.hostname = request.META.get('REMOTE_HOST', '')[:100] v.url = request.get_full_path() v.date = now() v.save()
def dispatch(self, request, *args, **kwargs): obj = get_object_or_404(Order, pk=kwargs['pk']) if not request.user.is_authenticated(): if obj.session_key != get_session_from_request(request): raise Http404 else: if not request.user == obj.user and not request.user.is_superuser: raise Http404 return super(CurrentUserOrderAccess, self).dispatch(request, *args, **kwargs)
def add_basket(request, object_id): # Link used when User add to basket # noinspection PyBroadException try: p = Product.objects.get(pk=int(object_id)) if not p.avail or p.quantity < 1 or p.amount <= 0: raise AccessError # noinspection PyBroadException try: color_id = request.POST['color'] color = ProductColor.objects.get(pk=int(color_id)) addon_text = color.name except: addon_text = '' if not request.user.is_authenticated(): session_key = get_session_from_request(request) if Basket.objects.filter(session_key=session_key, product=p, addon=addon_text).count() > 0: b = Basket.objects.get(session_key=session_key, product=p, addon=addon_text) b.quantity += 1 else: b = Basket(session_key=session_key, product=p, addon=addon_text) b.quantity = 1 b.save() basket_user = Basket.objects.filter(session_key=session_key) else: if Basket.objects.filter(user=request.user, product=p, addon=addon_text).count() > 0: b = Basket.objects.get(user=request.user, product=p, addon=addon_text) b.quantity += 1 else: b = Basket(user=request.user, product=p, addon=addon_text) b.quantity = 1 b.save() basket_user = Basket.objects.filter(user=request.user) basket_count = basket_user.count() all_sum = 0 for item in basket_user: all_sum += item.sum payload = { 'success': True, 'basket_count': basket_count, 'basket_sum': "%0.2f" % (all_sum, ) } except AccessError as aerr: payload = {'success': False} except: payload = {'success': False} return ajax_answer_lazy(payload)
def add_basket(request, object_id): # Link used when User add to basket # noinspection PyBroadException try: p = Product.objects.get(pk=int(object_id)) if not p.avail or p.quantity < 1 or p.amount <= 0: raise AccessError # noinspection PyBroadException try: color_id = request.POST['color'] color = ProductColor.objects.get(pk=int(color_id)) addon_text = color.name except: addon_text = '' if not request.user.is_authenticated(): session_key = get_session_from_request(request) if Basket.objects.filter(session_key=session_key, product=p, addon=addon_text).count() > 0: b = Basket.objects.get(session_key=session_key, product=p, addon=addon_text) b.quantity += 1 else: b = Basket(session_key=session_key, product=p, addon=addon_text) b.quantity = 1 b.save() basket_user = Basket.objects.filter(session_key=session_key) else: if Basket.objects.filter(user=request.user, product=p, addon=addon_text).count() > 0: b = Basket.objects.get(user=request.user, product=p, addon=addon_text) b.quantity += 1 else: b = Basket(user=request.user, product=p, addon=addon_text) b.quantity = 1 b.save() basket_user = Basket.objects.filter(user=request.user) basket_count = basket_user.count() all_sum = 0 for item in basket_user: all_sum += item.sum payload = {'success': True, 'basket_count': basket_count, 'basket_sum': "%0.2f" % (all_sum,)} except AccessError as aerr: payload = {'success': False} except: payload = {'success': False} return ajax_answer_lazy(payload)
def delete_basket(request, object_id): # Link used when User delete the item from basket try: Basket.objects.get(pk=int(object_id)).delete() if request.user.is_authenticated(): basket_user = Basket.objects.filter(user=request.user) else: basket_user = Basket.objects.filter(session_key=get_session_from_request(request)) basket_count = basket_user.count() all_sum = 0 for item in basket_user: all_sum += item.sum payload = {'success': True, 'basket_count':basket_count, 'basket_sum':"%0.2f" % (all_sum,),'id':int(object_id)} except AccessError: payload = {'success': False} except: payload = {'success': False} return AjaxLazyAnswer(payload)
def form_valid(self, form): if not self.request.user.is_authenticated() and not settings.MARKET_ANONYMOUS_ORDERS: return super(AnonymousUserAddOrderView, self).form_invalid(form) basket = get_basket(self.request) if basket.count() < 1: return super(AnonymousUserAddOrderView, self).form_invalid(form) self.object = form.save(commit=False) self.object.ip = self.request.META['REMOTE_ADDR'] self.object.user_agent = self.request.META['HTTP_USER_AGENT'] self.object.status = STATUS_WAIT self.object.lite = True self.object.session_key = get_session_from_request(self.request) self.object.save() success_add_items = make_order_from_basket(self.object, basket) if success_add_items is not True: self.object.delete() return super(AnonymousUserAddOrderView, self).form_invalid(form) send_new_order_seller(self.object) send_new_order_buyer(self.object, [self.object.email]) return super(AnonymousUserAddOrderView, self).form_valid(form)
def form_valid(self, form): if not self.request.user.is_authenticated and not settings.MARKET_ANONYMOUS_ORDERS: return super(AnonymousUserAddOrderView, self).form_invalid(form) basket = get_basket(self.request) if basket.count() < 1: return super(AnonymousUserAddOrderView, self).form_invalid(form) self.object = form.save(commit=False) self.object.ip = self.request.META['REMOTE_ADDR'] self.object.user_agent = self.request.META['HTTP_USER_AGENT'] self.object.status = STATUS_WAIT self.object.lite = True self.object.session_key = get_session_from_request(self.request) self.object.save() success_add_items = make_order_from_basket(self.object, basket) if success_add_items is not True: self.object.delete() return super(AnonymousUserAddOrderView, self).form_invalid(form) send_new_order_seller(self.object) send_new_order_buyer(self.object, [self.object.email]) return super(AnonymousUserAddOrderView, self).form_valid(form)
def add_basket(request, object_id): # Link used when User add to basket try: p = Product.objects.get(pk=int(object_id)) if not p.avail or p.quantity < 1 or p.amount <= 0: raise AccessError try: color_id = request.POST["color"] color = ProductColor.objects.get(pk=int(color_id)) addon_text = color.name except: addon_text = "" if not request.user.is_authenticated(): session_key = get_session_from_request(request) if Basket.objects.filter(session_key=session_key, product=p, addon=addon_text).count() > 0: b = Basket.objects.get(session_key=session_key, product=p, addon=addon_text) b.quantity += 1 else: b = Basket(session_key=session_key, product=p, addon=addon_text) b.quantity = 1 b.save() basket_user = Basket.objects.filter(session_key=session_key) else: if Basket.objects.filter(user=request.user, product=p, addon=addon_text).count() > 0: b = Basket.objects.get(user=request.user, product=p, addon=addon_text) b.quantity += 1 else: b = Basket(user=request.user, product=p, addon=addon_text) b.quantity = 1 b.save() basket_user = Basket.objects.filter(user=request.user) basket_count = basket_user.count() all_sum = 0 for item in basket_user: all_sum += item.sum payload = {"success": True, "basket_count": basket_count, "basket_sum": "%0.2f" % (all_sum,)} except AccessError: payload = {"success": False} except: payload = {"success": False} return AjaxLazyAnswer(payload)
def add_basket(request, object_id): # Link used when User add to basket try: p = Product.objects.get(pk=int(object_id)) if not p.avail or p.quantity < 1 or p.amount <= 0 : raise AccessError if not request.user.is_authenticated(): session_key = get_session_from_request(request) if Basket.objects.filter(session_key=session_key, product=p).count() >0 : b = Basket.objects.get(session_key=session_key, product=p) b.quantity += 1 else: b = Basket(session_key=session_key,product=p) b.quantity = 1 b.save() basket_user = Basket.objects.filter(session_key=session_key) else: if Basket.objects.filter(user=request.user, product=p).count() >0 : b = Basket.objects.get(user=request.user, product=p) b.quantity += 1 else: b = Basket(user=request.user,product=p) b.quantity = 1 b.save() basket_user = Basket.objects.filter(user=request.user) basket_count = basket_user.count() all_sum = 0 for item in basket_user: all_sum += item.sum payload = {'success': True, 'basket_count':basket_count, 'basket_sum':"%0.2f" % (all_sum,)} except AccessError: payload = {'success': False} except: payload = {'success': False} return AjaxLazyAnswer(payload)
def _get_basket(request): if request.user.is_authenticated(): Basket.objects.filter(session_key=get_session_from_request(request)).update(user=request.user) return Basket.objects.filter(user=request.user) else: return Basket.objects.filter(session_key=get_session_from_request(request))
def get_basket(request): if not request.user.is_authenticated(): session_key = get_session_from_request(request) return Basket.objects.filter(session_key=session_key) return Basket.objects.filter(user=request.user)