Ejemplo n.º 1
0
Archivo: views.py Proyecto: 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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
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))
	
################################################################################################################
################################################################################################################
Ejemplo n.º 5
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))


################################################################################################################
################################################################################################################
Ejemplo n.º 6
0
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})
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
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
    })
Ejemplo n.º 9
0
Archivo: views.py Proyecto: gurgenXD/mp
    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)
Ejemplo n.º 10
0
def feedback_form(request):
    return {'feedback_form': FeedBackForm()}
Ejemplo n.º 11
0
def category(request):
    context = {}
    context["categories"] = Category.objects.filter(parent_category=None).order_by("name")
    context["feedback_form"] = FeedBackForm()
    return context
Ejemplo n.º 12
0
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)