def post(self, request): feedback_form = FeedBackForm(request.POST) sended = 0 if feedback_form.is_valid(): if request.recaptcha_is_valid: current_site = get_current_site(request) mail_subject = 'Новое сообщение на сайте: ' + current_site.domain message = render_to_string( 'feedback/feedback_message.html', { 'domain': current_site.domain, 'email': request.POST.get('email'), 'name': request.POST.get('name'), 'text': request.POST.get('text'), }) to_email = MailToString.objects.first().email email = EmailMessage(mail_subject, message, to=[to_email]) email.send() feedback_form.save() sended = 1 else: sended = None context = { 'sended': sended, } return JsonResponse(context)
def get(self, request): index = Index.objects.first() first_slide = index.slides.first() products = Product.objects.filter(is_active=True)[:3] order_form = OrderForm() feedback_form = FeedBackForm() news = News.objects.filter(is_active=True)[:4] addresses = Address.objects.all() phones = Phone.objects.all() emails = Email.objects.all() map_code = MapCode.objects.first() context = { 'index': index, 'first_slide': first_slide, 'products': products, 'order_form': order_form, 'feedback_form': feedback_form, 'news': news, 'addresses': addresses, 'phones': phones, 'emails': emails, 'map_code': map_code, } return render(request, 'core/index.html', context)
def get(self, request, product_slug): product = get_object_or_404(Product, slug=product_slug, is_active=True) s_products = Product.objects.filter(is_active=True).exclude( id=product.id) similar_products = s_products.filter( Q(category__icontains=product.category) | Q(title__icontains=product.title)).distinct()[:4] if not similar_products: similar_products = s_products[:4] feedback_form = FeedBackForm() images = product.images.all() slider_elems = [(nmb, val) for nmb, val in enumerate(images)] context = { 'product': product, 'similar_products': similar_products, 'feedback_form': feedback_form, 'slider_elems': slider_elems, } return render(request, 'products/product.html', context)
def feedback_views(request, template, extra_context=None, context_processors=None, template_loader=loader): if request.method == 'POST': i = FeedBackItem(date=datetime.datetime.now()) form = FeedBackForm(request.POST, instance=i) if form.is_valid(): form.save() current_site = Site.objects.get_current() domain = current_site.domain users = User.objects.filter(is_staff=True, is_active=True) emails = [u.email for u in users] letter_send_mail( 'mail/feedback.txt', _('New message in %s.') % domain, emails, {'obj':i, 'domain':domain} ) messages.add_message(request, messages.INFO, _("Thanks letter send.")) return HttpResponseRedirect(request.META['HTTP_REFERER']) else: form = FeedBackForm() c = RequestContext(request, {'form':form}, context_processors) if extra_context: for key, value in extra_context.items(): if callable(value): c[key] = value() else: c[key] = value t = template_loader.get_template(template) return HttpResponse(t.render(c)) ################################################################################################################ ################################################################################################################
def feedback_views(request, template, extra_context={'active': 9}, context_processors=None, template_loader=loader): if request.method == 'POST': i = FeedBackItem() form = FeedBackForm(request.POST, instance=i) if form.is_valid(): form.save() current_site = Site.objects.get_current() domain = current_site.domain users = User.objects.filter(is_staff=True, is_active=True) emails = [u.email for u in users] threading_send_mail('mail/feedback/create_msg_admin.html', u'Новое сообщение на сайте %s' % domain, emails, { 'obj': i, 'domain': domain }) if i.email: threading_send_mail( 'mail/feedback/create_msg.html', u'Спасибо за сообщение на сайте %s' % domain, [ i.email, ], { 'obj': i, 'domain': domain }) messages.add_message(request, messages.INFO, u'Спасибо, Ваше сообщение отправлено!') return HttpResponseRedirect(request.META['HTTP_REFERER']) else: form = FeedBackForm() c = RequestContext(request, { 'form': form, 'active': 4, }, context_processors) if extra_context: for key, value in extra_context.items(): if callable(value): c[key] = value() else: c[key] = value t = template_loader.get_template(template) return HttpResponse(t.render(c)) ################################################################################################################ ################################################################################################################
def send(request): user = request.user if request.method == "POST": form = FeedBackForm(request.POST) if form.is_valid(): cleaned_data = form.cleaned_data if cleaned_data["problem_type"] == "T": recipients = ["*****@*****.**", "*****@*****.**", "*****@*****.**"] else: recipients = ["*****@*****.**"] text = ( cleaned_data["text"] + "\n\n\n" + "From: " + user.UserData.__unicode__() + "\n" + "E-mail: " + user.email ) template = get_template_from_string(text) status = "success" try: send_templated_email( subject=cleaned_data["subject"], email_context={}, recipients=recipients, template_file=template, fail_silently=False, ) except Exception as e: print(str(e)) status = "Error sending mail" return HttpResponse(status) else: form = FeedBackForm() return render(request, "feedback_form.html", {"form": form})
def get(self, request): addresses = Address.objects.all() phones = Phone.objects.all() emails = Email.objects.all() map_code = MapCode.objects.first() feedback_form = FeedBackForm() context = { 'addresses': addresses, 'phones': phones, 'emails': emails, 'map_code': map_code, 'feedback_form': feedback_form, } return render(request, 'contacts/contacts.html', context)
def feedback(Request): form = FeedBackForm() # An unbound form msg = '' if Request.method == 'POST': form = FeedBackForm(Request.POST) if form.is_valid(): message = form.cleaned_data['message'] sender = form.cleaned_data['sender'] msg = '<h1>Thanks!</h1>' try: send_mail(message[:15], message, sender, ['*****@*****.**'], fail_silently=False) except BadHeaderError: return HttpResponse('Something\'s fishy. Please try again.') form = FeedBackForm() return render_to_response('feedback/feedback_base.html', { 'form': form, 'message': msg })
def get(self, request): map_code = MapCode.objects.first() shedule = Schedule.objects.all() phones = Phone.objects.all() addresses = Address.objects.all() emails = Email.objects.all() feedback_form = FeedBackForm() contacts_page = Page.objects.filter(is_active=True, action='contacts').first() context = { 'map_code': map_code, 'shedule': shedule, 'phones': phones, 'addresses': addresses, 'emails': emails, 'feedback_form': feedback_form, 'contacts_page': contacts_page, } lo = 'lo/' if request.session.get('is_lo') else '' return render(request, lo + 'contacts/contacts.html', context)
def feedback_form(request): return {'feedback_form': FeedBackForm()}
def category(request): context = {} context["categories"] = Category.objects.filter(parent_category=None).order_by("name") context["feedback_form"] = FeedBackForm() return context
def contacts(request): phones = Phone.objects.all() messengers = Messenger.objects.all() social_links = SocialLink.objects.all() schedule = Schedule.objects.all() emails = Email.objects.all() addresses = Address.objects.all() alert_success = 1 # по умолчанию alert_success2 = 1 # по умолчанию if request.method == "POST": form = FeedBackForm(request.POST) form2 = RepairForm(request.POST) if form2.is_valid(): if request.recaptcha_is_valid: name = form2.cleaned_data['name'] phone = form2.cleaned_data['phone'] repair_date = form2.cleaned_data['repair_date'] repair_time = form2.cleaned_data['repair_time'] car = form2.cleaned_data['car'] description = form2.cleaned_data['description'] repair = Repair.objects.create( phone=phone, name=name, repair_date=repair_date, repair_time=repair_time, car=car, description=description, ) try: current_site = get_current_site(request) mail_subject = 'Новая заявка на сайте: ' + current_site.domain message = render_to_string('repairs/repair_message.html', { 'domain': current_site.domain, 'repair': repair, }) to_email = MailToString.objects.first().email email = EmailMessage(mail_subject, message, to=[to_email]) email.send() alert_success2 = 2 # письмо не отправлено alert_success = 1 except: alert_success2 = 3 # письмо отправлено alert_success = 1 else: alert_success2 = 0 # неправильная рекапча alert_success = 1 if form.is_valid(): if request.recaptcha_is_valid: phone_or_email = form.cleaned_data['phone_or_email'] name = form.cleaned_data['name'] message = form.cleaned_data['message'] feedback = FeedBack.objects.create( phone_or_email=phone_or_email, name=name, message=message) try: current_site = get_current_site(request) mail_subject = 'Новая заявка на сайте: ' + current_site.domain message = render_to_string( 'feedback/feedback_message.html', { 'domain': current_site.domain, 'feedback': feedback, }) to_email = MailToString.objects.first().email email = EmailMessage(mail_subject, message, to=[to_email]) email.send() alert_success = 2 # письмо не отправлено alert_success2 = 1 except: alert_success = 3 alert_success2 = 1 else: alert_success = 0 # неправильная рекапча alert_success2 = 1 else: form = FeedBackForm() form2 = RepairForm() context = { 'phones': phones, 'messengers': messengers, 'social_links': social_links, 'schedule': schedule, 'emails': emails, 'addresses': addresses, 'form': form, 'form2': form2, 'alert_success2': alert_success2, 'alert_success': alert_success, } return render(request, 'contacts/contacts.html', context)