|
|
|
@ -1,5 +1,5 @@ |
|
|
|
from crispy_forms.helper import FormHelper |
|
|
|
from crispy_forms.helper import FormHelper |
|
|
|
from crispy_forms.layout import Layout, Div, HTML, Field, Submit |
|
|
|
from crispy_forms.layout import Layout, Div, HTML, Field, Submit, Hidden |
|
|
|
from django import forms |
|
|
|
from django import forms |
|
|
|
from django.conf import settings |
|
|
|
from django.conf import settings |
|
|
|
from django.urls import reverse_lazy |
|
|
|
from django.urls import reverse_lazy |
|
|
|
@ -20,9 +20,11 @@ from .models import ( |
|
|
|
|
|
|
|
|
|
|
|
class ContactUsForm(RequestNotifiable, forms.ModelForm): |
|
|
|
class ContactUsForm(RequestNotifiable, forms.ModelForm): |
|
|
|
|
|
|
|
|
|
|
|
field_template = 'bootstrap/forms/product_search.html' |
|
|
|
field_template = 'bootstrap/forms/contact_us.html' |
|
|
|
|
|
|
|
|
|
|
|
def __init__(self, *args, **kwargs): |
|
|
|
def __init__(self, *args, **kwargs): |
|
|
|
|
|
|
|
self.next = kwargs.pop('next') |
|
|
|
|
|
|
|
|
|
|
|
self.helper = FormHelper() |
|
|
|
self.helper = FormHelper() |
|
|
|
self.helper.form_action = reverse_lazy('contact_us:send') |
|
|
|
self.helper.form_action = reverse_lazy('contact_us:send') |
|
|
|
self.helper.form_method = 'post' |
|
|
|
self.helper.form_method = 'post' |
|
|
|
@ -32,6 +34,7 @@ class ContactUsForm(RequestNotifiable, forms.ModelForm): |
|
|
|
Не нашли нужную программу или разработчика? |
|
|
|
Не нашли нужную программу или разработчика? |
|
|
|
Заполните форму и с Вами свяжется наш специалист. |
|
|
|
Заполните форму и с Вами свяжется наш специалист. |
|
|
|
</div>"""), |
|
|
|
</div>"""), |
|
|
|
|
|
|
|
Hidden('next', reverse_lazy(self.next)), |
|
|
|
Field('name', css_class="left-menu__text", placeholder=_("Имя"), template=self.field_template), |
|
|
|
Field('name', css_class="left-menu__text", placeholder=_("Имя"), template=self.field_template), |
|
|
|
Field('email', css_class="left-menu__text", placeholder=_("Email"), template=self.field_template), |
|
|
|
Field('email', css_class="left-menu__text", placeholder=_("Email"), template=self.field_template), |
|
|
|
Field('subject', css_class="left-menu__text", placeholder=_("Название продукта"), template=self.field_template), |
|
|
|
Field('subject', css_class="left-menu__text", placeholder=_("Название продукта"), template=self.field_template), |
|
|
|
@ -45,11 +48,14 @@ class ContactUsForm(RequestNotifiable, forms.ModelForm): |
|
|
|
for field_name in fields: |
|
|
|
for field_name in fields: |
|
|
|
fields[field_name].required = True |
|
|
|
fields[field_name].required = True |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def is_valid(self): |
|
|
|
|
|
|
|
return super().is_valid() |
|
|
|
|
|
|
|
|
|
|
|
def save(self, commit=True): |
|
|
|
def save(self, commit=True): |
|
|
|
self.instance.status = STATUS_NEW |
|
|
|
self.instance.status = STATUS_NEW |
|
|
|
return super().save(commit) |
|
|
|
return super().save(commit) |
|
|
|
|
|
|
|
|
|
|
|
def send_email(self, request, files=()): |
|
|
|
def send_email(self, request): |
|
|
|
context = { |
|
|
|
context = { |
|
|
|
'from_email': self.instance.email, |
|
|
|
'from_email': self.instance.email, |
|
|
|
'bcc': self.get_def_email(settings) if self.get_def_email(settings) is not None else (), |
|
|
|
'bcc': self.get_def_email(settings) if self.get_def_email(settings) is not None else (), |
|
|
|
@ -67,10 +73,7 @@ class ContactUsForm(RequestNotifiable, forms.ModelForm): |
|
|
|
context, |
|
|
|
context, |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
@property |
|
|
|
|
|
|
|
def is_request_sent(self): |
|
|
|
|
|
|
|
return self.notification_sent |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
class Meta: |
|
|
|
model = Request |
|
|
|
model = Request |
|
|
|
fields = ('name', 'email', 'subject', 'phone') |
|
|
|
fields = ('name', 'email', 'subject', 'phone',) |
|
|
|
|