def form_valid(self, form): code = form.cleaned_data["code"] if not self.request.basket.id: return redirect_to_referrer(self.request, "basket:summary") if self.request.basket.contains_voucher(code): messages.error( self.request, _("You have already added the '%(code)s' voucher to " "your basket") % {"code": code} ) else: try: voucher = self.voucher_model._default_manager.get(code=code) except self.voucher_model.DoesNotExist: messages.error(self.request, _("No voucher found with code '%(code)s'") % {"code": code}) else: self.apply_voucher_to_basket(voucher) return redirect_to_referrer(self.request, "basket:summary")
def formset_invalid(self, formset): messages.error( self.request, '\n'.join( error for ed in formset.errors for el in ed.values() for error in el)) return redirect_to_referrer(self.request, 'basket:summary')
def form_invalid(self, form): msgs = [] for error in form.errors.values(): msgs.append(error.as_text()) clean_msgs = [m.replace('* ', '') for m in msgs if m.startswith('* ')] messages.error(self.request, ",".join(clean_msgs)) return redirect_to_referrer(self.request, 'basket:summary')
def post(self, request, *args, **kwargs): product = get_object_or_404(Product, pk=kwargs["product_pk"]) wishlists = request.user.wishlists.all() if len(wishlists) == 0: wishlist = request.user.wishlists.create() else: # This shouldn't really happen but we default to using the first # wishlist for a user if one already exists when they make this # request. wishlist = wishlists[0] wishlist.add(product) messages.success(request, _("%(title)s has been added to your wishlist") % {"title": product.get_title()}) return redirect_to_referrer(request, wishlist.get_absolute_url())
def get(self, request, *args, **kwargs): to_wishlist = get_object_or_404( WishList, owner=request.user, key=kwargs['to_key']) self.line.wishlist = to_wishlist self.line.save() msg = _("'%(title)s' moved to '%(name)s' wishlist") % { 'title': self.product.get_title(), 'name': to_wishlist.name} messages.success(self.request, msg) default_url = reverse( 'customer:wishlists-detail', kwargs={'key': self.wishlist.key}) return redirect_to_referrer(self.request, default_url)
def post(self, request, *args, **kwargs): product = get_object_or_404(Product, pk=self.kwargs['product_pk']) review = get_object_or_404(ProductReview, pk=self.kwargs['pk']) form = VoteForm(review, request.user, request.POST) if form.is_valid(): if form.is_up_vote: review.vote_up(request.user) elif form.is_down_vote: review.vote_down(request.user) messages.success(request, _("Thanks for voting!")) else: for error_list in form.errors.values(): for msg in error_list: messages.error(request, msg) return redirect_to_referrer(request, product.get_absolute_url())
def post(self, request, *args, **kwargs): product = get_object_or_404(Product, pk=kwargs['product_pk']) wishlists = request.user.wishlists.all() if len(wishlists) == 0: wishlist = request.user.wishlists.create() else: # This shouldn't really happen but we default to using the first # wishlist for a user if one already exists when they make this # request. wishlist = wishlists[0] wishlist.add(product) messages.success( request, _("%(title)s has been added to your wishlist") % {'title': product.get_title()}) return redirect_to_referrer(request, wishlist.get_absolute_url())
def form_valid(self, form): super(VoucherAddMessagesView, self).form_valid(form) code = form.cleaned_data['code'] for msg in list(messages.get_messages(self.request)): if msg.message == _("No voucher found with code '{code}'").format(code=code): messages.error( self.request, _("Coupon code '{code}' does not exist.").format(code=code) ) elif msg.message == _("You have already added the '{code}' voucher to your basket").format(code=code): messages.error( self.request, _("You have already added coupon code '{code}' to your basket.").format(code=code) ) elif msg.message == _("The '{code}' voucher has expired").format(code=code): messages.error( self.request, _("Coupon code '{code}' has expired.").format(code=code) ) elif msg.message == _("Voucher '{code}' added to basket").format(code=code): messages.info( self.request, _("Coupon code '{code}' added to basket.").format(code=code) ) elif msg.message == _("Your basket does not qualify for a voucher discount"): messages.warning( self.request, _("Your basket does not qualify for a coupon code discount.") ) elif msg.message == _("This voucher has already been used"): messages.error( self.request, _("Coupon code '{code}' has already been redeemed.").format(code=code) ) else: messages.error( self.request, _("Coupon code '{code}' is invalid.").format(code=code) ) return redirect_to_referrer(self.request, 'basket:summary')
def get(self, request, *args, **kwargs): to_wishlist = get_object_or_404(WishList, owner=request.user, key=kwargs["to_key"]) if to_wishlist.lines.filter(product=self.line.product).count() > 0: msg = _("Wish list '%(name)s' already containing '%(title)s'") % { "title": self.product.get_title(), "name": to_wishlist.name, } messages.error(self.request, msg) else: self.line.wishlist = to_wishlist self.line.save() msg = _("'%(title)s' moved to '%(name)s' wishlist") % { "title": self.product.get_title(), "name": to_wishlist.name, } messages.success(self.request, msg) default_url = reverse("customer:wishlists-detail", kwargs={"key": self.wishlist.key}) return redirect_to_referrer(self.request, default_url)
def get(self, request, *args, **kwargs): to_wishlist = get_object_or_404( WishList, owner=request.user, key=kwargs['to_key']) if to_wishlist.lines.filter(product=self.line.product).count() > 0: msg = _("Wish list '%(name)s' already containing '%(title)s'") % { 'title': self.product.get_title(), 'name': to_wishlist.name} messages.error(self.request, msg) else: self.line.wishlist = to_wishlist self.line.save() msg = _("'%(title)s' moved to '%(name)s' wishlist") % { 'title': self.product.get_title(), 'name': to_wishlist.name} messages.success(self.request, msg) default_url = reverse( 'customer:wishlists-detail', kwargs={'key': self.wishlist.key}) return redirect_to_referrer(self.request, default_url)
def post(self, request, *args, **kwargs): reply_answer = None review = None product = get_object_or_404(Product, pk=self.kwargs['product_pk']) review_pk = request.POST.get('review_id', None) if review_pk: review = get_object_or_404(ProductReview, pk=review_pk) else: reply_answer = get_object_or_404(ReviewAnswer, pk=request.POST.get( 'answer_id', None)) form = self.form_class(request.POST) if form.is_valid(): answer = form.save(commit=False) answer.review = review answer.reply_to = reply_answer answer.save() return redirect_to_referrer(request, product.get_absolute_url()) else: for error_list in form.errors.values(): for msg in error_list: messages.error(request, msg) return HttpResponseBadRequest()
def add_product(self): self.wishlist.add(self.product) msg = _("'%s' was added to your wish list.") % self.product.get_title() messages.success(self.request, msg) return redirect_to_referrer(self.request, self.product.get_absolute_url())
def get_success_response(self): return redirect_to_referrer(self.request.META, 'customer:notifications-inbox')
def add_product(self): self.wishlist.add(self.product) # msg = _("'%s' was added to your wish list.") % self.product.get_title() # messages.success(self.request, msg) return redirect_to_referrer( self.request, self.product.get_absolute_url())
def get_success_response(self): return redirect_to_referrer( self.request, 'customer:notifications-inbox')
def formset_invalid(self, formset): messages.error( self.request, '\n'.join(error for ed in formset.errors for el in ed.values() for error in el)) return redirect_to_referrer(self.request, 'basket:summary')
def get_success_response(self): return redirect_to_referrer(self.request, 'communication:notifications-inbox')
def addVoucher(request): if request.method == 'POST': code = request.POST.get('code') user = request.user userProfile, created = UserProfile.objects.get_or_create(user=user) if created: userProfile.name = user.first_name + " " + user.last_name userProfile.save() basket = request.basket print 'code : ', code print 'user : '******'userProfile : ', userProfile print 'request.basket : ', request.basket print 'request.session : ', request.session.items() if not request.basket.id: return redirect_to_referrer(request, 'basket:summary') else: total_incl_tax_excl_discounts = basket._get_total('line_price_incl_tax') print 'total : ', total_incl_tax_excl_discounts try: # Referral if code[0] == 'R': if userProfile.referral_taken == False: voucher = Voucher.objects.get(code=code) print voucher referral_model = ReferralCode.objects.get(code=code) referee = referral_model.user if referee == user: messages.error(request, "Chasing your own tail!") return redirect_to_referrer(request, 'basket:summary') print 'its a referral' discount_to_be_applied = 0.10 * float(total_incl_tax_excl_discounts) referral = { "user_id" : request.user.id, "referee_id" : referee.id , "discount_to_be_applied" : discount_to_be_applied } referral = json.dumps(referral) request.session['referral'] = referral print request.session['referral'] else: messages.error(request, 'You have already used a General Referral Code') return redirect_to_referrer(request, 'basket:summary') # Vet elif code[0] == 'V': if userProfile.vet == '' or userProfile.vet != code: voucher = Voucher.objects.get(code=code) print voucher # vet = Vet.objects.get(code=code) discount_to_be_applied = 0.10 * float(total_incl_tax_excl_discounts) vetReferral = { 'user_id' : request.user.id, 'code' : code, } vetReferral = json.dumps(vetReferral) request.session['vetReferral'] = vetReferral print request.session['vetReferral'] else: if userProfile.vet != '': messages.error(request, ("You have already used a Referral Code! You are referred to '%(vet)s'") % { 'vet' : userProfile.vet}) return redirect_to_referrer(request, 'basket:summary') else: messages.error(request, ("No voucher found with code '%(code)s'") % {'code': code}) return redirect_to_referrer(request, 'basket:summary') # Coupon else: voucher = Voucher.objects.get(code=code) except Exception as e: print '******' print e print '******' messages.error(request, ("No voucher found with code '%(code)s'") % {'code': code}) return redirect_to_referrer(request, 'basket:summary') # Coupon request.session['CODE'] = code request.session['DISCOUNT'] = discount_to_be_applied apply_voucher_to_basket(request, voucher) elif request.method == 'GET': # CREDIT if request.user.is_authenticated(): # code = request.GET.get('code') user = request.user userProfile, created = UserProfile.objects.get_or_create(user=user) if created: userProfile.name = user.first_name + " " + user.last_name userProfile.save() basket = request.basket if not request.basket.id: return redirect_to_referrer(request, 'basket:summary') else: total_incl_tax_excl_discounts = basket._get_total('line_price_incl_tax') # CREDIT userCredit = userProfile.user_credit if userCredit == 0: messages.error(request, "Sorry but you don't have any Petzo Credit!\nRefer to other users using your Referral Code to obtain credit") return redirect_to_referrer(request, 'basket:summary') discountable = 0.10 * float(total_incl_tax_excl_discounts) benefit = Benefit.objects.all()[0] print 'userCredit : ', userCredit print 'discountable : ', discountable if userCredit <= discountable: discount_to_be_applied = float(userCredit) benefit.value = userCredit else: discount_to_be_applied = discountable benefit.value = Decimal(discountable) print 'benefit.value : ', benefit.value benefit.save() credit = { "user_id" : request.user.id, "credit_used" : discount_to_be_applied } credit = json.dumps(credit) request.session['credit'] = credit request.session['DISCOUNT'] = discount_to_be_applied voucher = Voucher.objects.get(name='CREDIT') print 'voucher : ', voucher apply_voucher_to_basket(request, voucher) return redirect_to_referrer(request, 'basket:summary')