def order(request): message = "" d = date.today() # datetime.combine(d, datetime.min.time()) if request.method == 'POST': form = OrderForm(request.POST) if form.is_valid(): form.save() send_mail('Subject', 'message.', '*****@*****.**', ['*****@*****.**'], fail_silently=False) #email_subject = "I need test it" #email_body = render_to_string("email/invite.html", {}) #from_email = "*****@*****.**" #to = "*****@*****.**" #msg = EmailMultiAlternatives(subject,message,from_email, [to]) #msg.content_subtype = "html" #msg.send() message = "Ваша заявка принята! Ждите когда мы с вами свяжемся!" form = OrderForm() else: form = OrderForm() return render(request, 'order.html', { 'form': form, 'message': message, 'time': d, })
def product_page(request, product_name): categories = Product.objects.values_list('category_name', flat = True ).distinct() if request.method == "POST": postdata = request.POST.copy() form = OrderForm(postdata) if form.is_valid(): add_to_cart(request) return redirect('show_cart_page') else: product = Product.objects.get(product_name = product_name) form = OrderForm() return render(request, "frontend/productpage.html", locals() )
def product_list_by_category(request, category): categories = Product.objects.values_list('category_name', flat = True ).distinct() products = Product.objects.filter(category_name = category) if request.method == "POST": postdata = request.POST.copy() form = OrderForm(postdata) if form.is_valid(): add_to_cart(request) return render(request, "frontend/products_by_category.html", locals()) else: return render(request, "frontend/products_by_category.html", locals())
def buyproduct(request, product_id): product = Product.objects.get(id=product_id) if request.method == "POST": form = OrderForm(request.POST) if form.is_valid(): order = form.save(commit=False) order.product = product order.save() product.number -= 1 product.save() return HttpResponseRedirect("/thanks/"+str(product.id)+"/") else: form = OrderForm() return render_to_response("form.html", {"form": form, "product": product, }, context_instance=RequestContext(request))
def my_cards(request, cards_hash): order = request.GET.get('order', False) order = '?' if order != 'art' else '-art_number' author = False author_id = False my_cards_hash = cards_hash try: short_url = ShortLinkCardsUrl.objects.get(url_short=cards_hash) my_cards_attrs = sorted(f7(short_url.url_part.split(','))) attrs_str = ','.join(str(x) for x in my_cards_attrs) my_cards_count = len(my_cards_attrs) except: my_cards_attrs = {} short_url = '' attrs_str = '' my_cards_count = 0 count, price = 0, 0 my_cards_count_array = request.session.get('my_cards_count_array', {}) my_cards_attrs = request.session.get('my_cards_attrs', {}) count, price = get_mycards_price(my_cards_attrs, my_cards_count_array) if request.method == 'POST': form = OrderForm(request.POST) if form.is_valid(): order = Order(email=form.cleaned_data['email']) order.save() order.create_order(request) cards = Postcard.objects cards = cards.filter(art_number__in=[int(x) for x in attrs_str.split(',')]).all() context = { 'order_id':order.id, 'date':date.today(), 'email':form.cleaned_data['email'], 'price':price, 'cards': cards, } send_templated_mail( 'order', '*****@*****.**', [form.cleaned_data['email']], context, bcc=['*****@*****.**'], ) to_redirect = redirect('my_cards', cards_hash=cards_hash) to_redirect['Location'] += '?ok={0}'.format(order.id) return to_redirect else: form = OrderForm() return render( request, 'front/my_cards.html', { 'action':'my_cards', 'art_numbers': short_url.url_part if short_url else '' , 'mode': 'my_cards', 'order':order, 'author_id': author_id, 'author': author, 'my_cards_count': my_cards_count, 'my_cards_hash': my_cards_hash, 'my_cards_attrs':simplejson.dumps(attrs_str), 'my_cards_attrs_str': attrs_str if len(my_cards_attrs) else '0', 'my_cards_count_array': simplejson.dumps(my_cards_count_array), 'count': count, 'price': price, 'form': form, 'ok_id': request.GET.get('ok'), } )