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 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)) ################################################################################################################ ################################################################################################################