Esempio n. 1
0
File: views.py Progetto: gurgenXD/mp
    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)
Esempio n. 2
0
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))
	
################################################################################################################
################################################################################################################
Esempio n. 3
0
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))


################################################################################################################
################################################################################################################