From 0b03bdc81afdc75aea65dd8fe9630e129db2dcc9 Mon Sep 17 00:00:00 2001 From: SDE Date: Mon, 13 Jan 2025 01:58:47 +0300 Subject: [PATCH] 2.1.10 split mover and customer forms --- RoutesApp/funcs.py | 25 ++++++++++--------------- RoutesApp/js_views.py | 27 +++++++++++++++++++-------- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/RoutesApp/funcs.py b/RoutesApp/funcs.py index 424b9b9..195bdd7 100644 --- a/RoutesApp/funcs.py +++ b/RoutesApp/funcs.py @@ -22,6 +22,7 @@ def get_profile_new_route_page_html(request, data): 'form': form } + tpl = None try: @@ -75,22 +76,18 @@ def get_profile_new_route_page_html(request, data): if 'type_transport' in data: form = routeForm_assign_choices_by_type_transport(form, data['type_transport']) - # form.fields['from_place'].choices = transfer_location_choices - # form.fields['to_place'].choices = transfer_location_choices - # form.fields['cargo_type'].choices = cargo_type_choices - # - # form.base_fields['from_place'].choices = transfer_location_choices - # form.base_fields['to_place'].choices = transfer_location_choices - # form.base_fields['cargo_type'].choices = cargo_type_choices - - # form = CreateRouteForm(initial=data) - - # if not form.is_valid(): - # pass if 'owner_type' in data: form.initial['owner_type'] = data['owner_type'] + if data['owner_type'] == 'mover': + tpl = 'v2/blocks/b_make_mover_order.html' + else: + tpl = 'v2/blocks/b_make_poster_order.html' + + Dict.update({'owner_type': data['owner_type']}) + + if request.user and request.user.is_authenticated and request.user.user_profile and request.user.user_profile.phone: form.initial.update({'phone': request.user.user_profile.phone}) @@ -99,15 +96,13 @@ def get_profile_new_route_page_html(request, data): 'errors_off': errors_off } - if 'owner_type' in data: - Dict.update({'owner_type': data['owner_type']}) # print(form) except Exception as e: # form.errors.append({'__all__': f'Ошибка: {str(e)}'}) print(str(e)) - html = render_to_string('v2/blocks/b_make_poster_order.html', Dict, request=request) + html = render_to_string(tpl, Dict, request=request) return html diff --git a/RoutesApp/js_views.py b/RoutesApp/js_views.py index 1dc2ad6..7435cf6 100644 --- a/RoutesApp/js_views.py +++ b/RoutesApp/js_views.py @@ -1,6 +1,7 @@ import json from copy import deepcopy +from django.conf import settings from django.shortcuts import render from uuid import uuid1 @@ -345,7 +346,6 @@ def get_my_routes_ajax(request): def create_or_change_route_ajax(request, route_id=None): - from ReferenceDataApp.models import Airport, City if request.method != 'POST': raise Http404 @@ -358,12 +358,24 @@ def create_or_change_route_ajax(request, route_id=None): Dict = {} route_old_Dict = None + owner_type = None + tpl_form_by_owner_type = 'v2/forms/f_make_poster_order.html' + tpl_block_by_owner_type = 'v2/blocks/b_make_poster_order.html' + try: data = request.POST if not data: data = json.loads(request.body) + + if 'owner_type' in data and data['owner_type']: + owner_type = data['owner_type'] + + if owner_type == 'mover': + tpl_form_by_owner_type = 'v2/forms/f_make_mover_order.html' + tpl_block_by_owner_type = 'v2/blocks/b_make_mover_order.html' + route = None if route_id: route = Route.objects.get(id=route_id) @@ -379,15 +391,15 @@ def create_or_change_route_ajax(request, route_id=None): form.initial = form.cleaned_data Dict.update({ 'form': form, - 'owner_type': data['owner_type'], + 'owner_type': owner_type, }) - html = render_to_string('v2/forms/f_make_poster_order.html', Dict, request=request) + html = render_to_string(tpl_form_by_owner_type, Dict, request=request) return JsonResponse({'html': html}, status=400) obj = form.save(commit=False) - if 'owner_type' in data and data['owner_type']: - obj.owner_type = data['owner_type'] + if owner_type: + obj.owner_type = owner_type # if obj.from_address_point: # obj.from_city = get_city_by_type_transport_and_address_point(obj.type_transport, obj.from_address_point) @@ -420,8 +432,7 @@ def create_or_change_route_ajax(request, route_id=None): if 'errors' in routes_Dict: form.errors.update(routes_Dict['errors']) Dict.update({'form': form}) - html = render_to_string( - 'v2/forms/f_make_poster_order.html', Dict, request=request) + html = render_to_string(tpl_form_by_owner_type, Dict, request=request) return JsonResponse({'html': html}, status=400) html = render_to_string('blocks/profile/b_my_routes.html', routes_Dict, request=request) @@ -444,5 +455,5 @@ def create_or_change_route_ajax(request, route_id=None): } # Dict = {'form': errors_Dict} Dict.update({'form': errors_Dict}) - html = render_to_string('v2/blocks/b_make_poster_order.html', Dict, request=request) + html = render_to_string(tpl_block_by_owner_type, Dict, request=request) return JsonResponse({'html': html}, status=400) \ No newline at end of file