diff --git a/AuthApp/js_views.py b/AuthApp/js_views.py
index cfefbad..835ef48 100644
--- a/AuthApp/js_views.py
+++ b/AuthApp/js_views.py
@@ -16,6 +16,7 @@ from django.core.exceptions import ValidationError
import json
from django.core.files import File
import base64
+from django.core.validators import validate_email
# @login_required(login_url='/profile/login/')
@@ -71,18 +72,54 @@ def send_message_ajax(request):
phone_str = ''
email_str = ''
msg_str = ''
- if request_type:
- request_type_str = f'{_("Тип запроса")}: {request_type}
'
- if 'name' in data:
- name_str = f'{_("Имя")}: {data["name"]}
'
- if 'phone' in data:
- phone_str = f'{_("Телефон")}: {data["phone"]}
'
- if 'email' in data:
- email_str = f'{_("email")}: {data["email"]}
'
- if 'text_msg' in data:
- msg_str = (f'{_("Сообщение")}:
'
- f'
{data["text_msg"]}
')
+ form_type = 'one_field'
+ errors = {}
+ for name, val in data.items():
+ if not val:
+ errors.update({name: _('Обязательное поле')})
+
+ if name == 'form_name':
+ request_type_str = f'{_("Тип запроса")}: {request_type}
'
+
+ if name == 'name':
+ name_str = f'{_("Имя")}: {data["name"]}
'
+ if form_type == 'one_field':
+ form_type = 'two_fields'
+
+ if name =='phone':
+ phone_str = f'{_("Телефон")}: {data["phone"]}
'
+
+ if name =='email':
+ try:
+ error = validate_email(data["email"])
+ except ValidationError as e:
+ error = e.message
+ if error:
+ errors.update({name: _(error)})
+ email_str = f'{_("email")}: {data["email"]}
'
+
+ if name =='text_msg':
+ msg_str = (f'{_("Сообщение")}:
'
+ f'{data["text_msg"]}
')
+ form_type = 'full'
+
+ if errors:
+ Dict = {
+ 'form': data.dict()
+ }
+ Dict['form'].update({
+ 'errors': errors
+ })
+
+ tpl = 'forms/f_one_field_form.html'
+ if form_type == 'full':
+ tpl = 'forms/f_feedback_form.html'
+ elif form_type == 'two_fields':
+ tpl = 'forms/f_commercial_offer.html'
+
+ html = render_to_string(tpl, Dict, request)
+ return JsonResponse({'html': html}, status=400)
Dict = {
'logo': f'{request.scheme}://{sets["domain"]}/static/img/svg/LogoMobile.svg',
@@ -118,7 +155,7 @@ def send_message_ajax(request):
except Exception as e:
return JsonResponse({
'status': 'error',
- 'error': str(e)
+ 'html': str(e)
}, status=400)