|
|
|
|
@ -1,18 +1,14 @@ |
|
|
|
|
from crispy_forms.helper import FormHelper |
|
|
|
|
from crispy_forms.layout import Layout, Div, HTML, Field, Submit, Hidden |
|
|
|
|
from crispy_forms.layout import Layout, HTML, Field, Submit, Hidden |
|
|
|
|
|
|
|
|
|
from django import forms |
|
|
|
|
from django.conf import settings |
|
|
|
|
from django.urls import reverse_lazy |
|
|
|
|
from django.utils.translation import ugettext_lazy as _ |
|
|
|
|
|
|
|
|
|
from ckeditor.widgets import CKEditorWidget |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from .mixins import RequestNotifiable |
|
|
|
|
from .models import ( |
|
|
|
|
Request, |
|
|
|
|
STATUS_NEW, STATUS_REJECTED, |
|
|
|
|
STATUS_PROCESSED, STATUS_IN_PROCESSING |
|
|
|
|
Request, STATUS_NEW |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
# -------------------------------- Client-side forms -----------------------------------# |
|
|
|
|
@ -29,16 +25,11 @@ class ContactUsForm(RequestNotifiable, forms.ModelForm): |
|
|
|
|
self.helper.form_action = reverse_lazy('contact_us:send') |
|
|
|
|
self.helper.form_method = 'post' |
|
|
|
|
self.helper.layout = Layout( |
|
|
|
|
HTML(""" |
|
|
|
|
<div class="left-menu__title"> |
|
|
|
|
Не нашли нужную программу или разработчика? |
|
|
|
|
Заполните форму и с Вами свяжется наш специалист. |
|
|
|
|
</div>"""), |
|
|
|
|
Hidden('next', reverse_lazy(self.next)), |
|
|
|
|
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('subject', css_class="left-menu__text", placeholder=_("Название продукта"), template=self.field_template), |
|
|
|
|
Field('phone', css_class="left-menu__text", placeholder=_("Номер телефона"), template=self.field_template), |
|
|
|
|
Field('phone', css_class="left-menu__text", placeholder=_("+79781234567"), template=self.field_template), |
|
|
|
|
Submit('send', _("Отправить"), css_class="left-menu__btn") |
|
|
|
|
) |
|
|
|
|
super(ContactUsForm, self).__init__(*args, **kwargs) |
|
|
|
|
@ -46,7 +37,8 @@ class ContactUsForm(RequestNotifiable, forms.ModelForm): |
|
|
|
|
|
|
|
|
|
def init_fields(self, fields): |
|
|
|
|
for field_name in fields: |
|
|
|
|
fields[field_name].required = True |
|
|
|
|
if field_name != "phone": |
|
|
|
|
fields[field_name].required = True |
|
|
|
|
|
|
|
|
|
def is_valid(self): |
|
|
|
|
return super().is_valid() |
|
|
|
|
@ -57,14 +49,13 @@ class ContactUsForm(RequestNotifiable, forms.ModelForm): |
|
|
|
|
|
|
|
|
|
def send_email(self, request): |
|
|
|
|
context = { |
|
|
|
|
'from_email': self.instance.email, |
|
|
|
|
'bcc': self.get_def_email(settings) if self.get_def_email(settings) is not None else (), |
|
|
|
|
'recipients': self.get_def_email(settings) if self.get_def_email(settings) is not None else (), |
|
|
|
|
'context': { |
|
|
|
|
'from_email': settings.DEFAULT_FROM_EMAIL, |
|
|
|
|
'recipients': (settings.DEFAULT_FROM_EMAIL,), |
|
|
|
|
'email': { |
|
|
|
|
'name': self.instance.name, |
|
|
|
|
'email': self.instance.email, |
|
|
|
|
'subject': self.instance.subject, |
|
|
|
|
'phone': self.instance.message, |
|
|
|
|
'phone': self.instance.phone or None, |
|
|
|
|
}, |
|
|
|
|
'send_at_date': self.instance.create_at, |
|
|
|
|
|
|
|
|
|
|