From c9d6812d11ab8ec0c3992f81b5bae18b6cf885c3 Mon Sep 17 00:00:00 2001 From: SDE Date: Fri, 1 Dec 2023 11:32:52 +0300 Subject: [PATCH 1/2] 0.8.11 processing forms --- AuthApp/js_views.py | 61 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 12 deletions(-) diff --git a/AuthApp/js_views.py b/AuthApp/js_views.py index cfefbad..06ac2cb 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) + 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) From 61bea5639b4269d5eaef67967bdc2d66c8616797 Mon Sep 17 00:00:00 2001 From: SDE Date: Fri, 1 Dec 2023 11:36:11 +0300 Subject: [PATCH 2/2] 0.8.12 processing forms --- AuthApp/js_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AuthApp/js_views.py b/AuthApp/js_views.py index 06ac2cb..835ef48 100644 --- a/AuthApp/js_views.py +++ b/AuthApp/js_views.py @@ -119,7 +119,7 @@ def send_message_ajax(request): tpl = 'forms/f_commercial_offer.html' html = render_to_string(tpl, Dict, request) - JsonResponse({'html': html}, status=400) + return JsonResponse({'html': html}, status=400) Dict = { 'logo': f'{request.scheme}://{sets["domain"]}/static/img/svg/LogoMobile.svg',