2.1.17 route form
This commit is contained in:
@@ -247,10 +247,12 @@ def MainPage(request):
|
||||
from ArticlesApp.models import ArticleModel
|
||||
arts = ArticleModel.objects.filter(enable=True).order_by('-createDT')[:3]
|
||||
|
||||
owner_type = 'mover'
|
||||
|
||||
Dict = {
|
||||
'page': page,
|
||||
'FAQ': page.FAQ_items.filter(enable=True),
|
||||
'route_form': RouteForm(),
|
||||
'route_form': RouteForm(owner_type=owner_type),
|
||||
'articles': arts,
|
||||
'owner_type': 'mover'
|
||||
}
|
||||
@@ -273,18 +275,19 @@ def StaticPageView(request, url):
|
||||
|
||||
Dict = {}
|
||||
|
||||
owner_type = None
|
||||
if url == '':
|
||||
return MainPage(request)
|
||||
elif url == 'for_movers':
|
||||
Dict.update({
|
||||
'route_form': RouteForm(),
|
||||
'owner_type': 'customer',
|
||||
})
|
||||
owner_type = 'customer'
|
||||
elif url == 'for_customers':
|
||||
owner_type = 'mover'
|
||||
if owner_type:
|
||||
Dict.update({
|
||||
'route_form': RouteForm(),
|
||||
'owner_type': 'mover'
|
||||
'route_form': RouteForm(owner_type=owner_type),
|
||||
'owner_type': owner_type,
|
||||
})
|
||||
|
||||
# elif url == 'works':
|
||||
# return WorksPage(request)
|
||||
elif url in ['main']:
|
||||
|
||||
@@ -3,6 +3,8 @@ from django import forms
|
||||
from django.contrib.auth.forms import AuthenticationForm
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.core.exceptions import ValidationError
|
||||
|
||||
from .funcs import get_cargo_types_by_type_transport
|
||||
from .models import *
|
||||
import copy
|
||||
|
||||
@@ -26,10 +28,18 @@ class RouteForm(forms.ModelForm):
|
||||
'from_place', 'to_place', 'receive_msg_by_sms'
|
||||
]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
def __init__(self, owner_type, *args, **kwargs):
|
||||
super(RouteForm, self).__init__(*args, **kwargs)
|
||||
|
||||
self.fields['from_city'].required = True
|
||||
self.fields['to_city'].required = True
|
||||
self.fields['type_transport'].required = True
|
||||
|
||||
if owner_type == 'mover':
|
||||
self.fields['departure_DT'].required = True
|
||||
self.fields['type_transport'].choices = type_transport_choices[:-1]
|
||||
else:
|
||||
self.fields['type_transport'].choices = type_transport_choices
|
||||
|
||||
def clean(self):
|
||||
# print('check')
|
||||
|
||||
@@ -6,6 +6,7 @@ from django.utils.translation import gettext as _
|
||||
from django.template.loader import render_to_string
|
||||
from datetime import datetime, timedelta
|
||||
from django.db.models import F, Q
|
||||
import copy
|
||||
|
||||
elements_on_page = 25
|
||||
|
||||
@@ -28,37 +29,41 @@ def get_cargo_types_by_type_transport(type_transport, form=None):
|
||||
|
||||
def get_profile_new_route_page_html(request, data):
|
||||
|
||||
form = RouteForm()
|
||||
if not 'owner_type' in data:
|
||||
msg = 'не достаточно данных'
|
||||
return JsonResponse({'error': msg}, status=400)
|
||||
|
||||
|
||||
owner_type = data['owner_type']
|
||||
|
||||
if data['owner_type'] == 'mover':
|
||||
tpl = 'v2/blocks/b_create_mover_route.html'
|
||||
# form.fields['type_transport'].choices = type_transport_choices[:-1]
|
||||
else:
|
||||
tpl = 'v2/blocks/b_create_customer_route.html'
|
||||
# form.fields['type_transport'].choices = type_transport_choices
|
||||
|
||||
from .forms import RouteForm
|
||||
form = RouteForm(owner_type=owner_type)
|
||||
form.initial['owner_type'] = owner_type
|
||||
|
||||
Dict = {
|
||||
'form': form
|
||||
}
|
||||
|
||||
tpl = None
|
||||
|
||||
try:
|
||||
|
||||
errors_off = True
|
||||
|
||||
form = RouteForm(data)
|
||||
form = RouteForm(data=data, owner_type=owner_type)
|
||||
if not form.is_valid():
|
||||
pass
|
||||
form = RouteForm(initial=form.cleaned_data)
|
||||
form = RouteForm(initial=form.cleaned_data, owner_type=owner_type)
|
||||
|
||||
if 'type_transport' in data:
|
||||
form = get_cargo_types_by_type_transport(data['type_transport'], form)
|
||||
# if 'type_transport' in data:
|
||||
# form = get_cargo_types_by_type_transport(data['type_transport'], form)
|
||||
|
||||
|
||||
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'
|
||||
form.fields['type_transport'].choices = type_transport_choices[:-1]
|
||||
else:
|
||||
tpl = 'v2/blocks/b_make_customer_route.html'
|
||||
form.fields['type_transport'].choices = type_transport_choices
|
||||
|
||||
Dict.update({'owner_type': data['owner_type']})
|
||||
Dict.update({'owner_type': owner_type})
|
||||
|
||||
|
||||
if request.user and request.user.is_authenticated and request.user.user_profile and request.user.user_profile.phone:
|
||||
|
||||
@@ -173,7 +173,7 @@ def edit_route_ajax(request):
|
||||
|
||||
route = Route.objects.get(id=data['route_id'])
|
||||
|
||||
form = RouteForm(instance=route)
|
||||
form = RouteForm(instance=route, owner_type=route.owner_type)
|
||||
form = get_cargo_types_by_type_transport(route.type_transport, form)
|
||||
# routeForm_assign_choices_by_type_transport(form, route.type_transport)
|
||||
|
||||
@@ -381,8 +381,8 @@ def create_or_change_route_ajax(request, route_id=None):
|
||||
route_old_Dict = None
|
||||
|
||||
owner_type = None
|
||||
tpl_form_by_owner_type = 'v2/forms/f_make_customer_route.html'
|
||||
tpl_block_by_owner_type = 'v2/blocks/b_make_customer_route.html'
|
||||
tpl_form_by_owner_type = 'v2/forms/f_create_customer_route.html'
|
||||
tpl_block_by_owner_type = 'v2/blocks/b_create_customer_route.html'
|
||||
|
||||
try:
|
||||
|
||||
@@ -395,19 +395,19 @@ def create_or_change_route_ajax(request, route_id=None):
|
||||
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'
|
||||
tpl_form_by_owner_type = 'v2/forms/f_create_mover_route.html'
|
||||
tpl_block_by_owner_type = 'v2/blocks/b_create_mover_route.html'
|
||||
|
||||
route = None
|
||||
if route_id:
|
||||
route = Route.objects.get(id=route_id)
|
||||
|
||||
if route:
|
||||
form = RouteForm(data, instance=route)
|
||||
form = RouteForm(data=data, instance=route, owner_type=owner_type)
|
||||
Dict.update({'route': route})
|
||||
route_old_Dict = deepcopy(route.__dict__)
|
||||
else:
|
||||
form = RouteForm(data)
|
||||
form = RouteForm(data=data, owner_type=owner_type)
|
||||
|
||||
if not form.is_valid():
|
||||
form.initial = form.cleaned_data
|
||||
|
||||
@@ -26,13 +26,15 @@ def route_search_results_View(request):
|
||||
if request.GET:
|
||||
data = request.GET.dict()
|
||||
|
||||
owner_type = data['owner_type']
|
||||
|
||||
routes_Dict = get_routes_Dict(data=data)
|
||||
if routes_Dict:
|
||||
Dict = {
|
||||
'routes': routes_Dict['routes'],
|
||||
'last_block': routes_Dict['last_block'],
|
||||
'show_filter_and_results': True,
|
||||
'owner_type': data['owner_type'],
|
||||
'owner_type': owner_type,
|
||||
'last_el': routes_Dict['last_el'],
|
||||
'page_type': 'routes',
|
||||
'next_page_els_count': routes_Dict['next_page_els_count'],
|
||||
@@ -41,7 +43,7 @@ def route_search_results_View(request):
|
||||
data.update({'from_address_point_txt': routes_Dict['from_address_point_txt']})
|
||||
if 'to_address_point_txt' in routes_Dict:
|
||||
data.update({'to_address_point_txt': routes_Dict['to_address_point_txt']})
|
||||
Dict.update({'route_form': RouteForm(initial=data)})
|
||||
Dict.update({'route_form': RouteForm(initial=data, owner_type=owner_type)})
|
||||
|
||||
title = _('Результат поиска маршрутов')
|
||||
if 'from_address_point_txt' in data:
|
||||
|
||||
@@ -12,5 +12,5 @@
|
||||
|
||||
<div class="b_make_poster_order">
|
||||
<div class="make_poster_order_title">{% trans "Заполните форму, чтобы отправить посылку" %}</div>
|
||||
{% include 'v2/forms/f_make_customer_route.html' %}
|
||||
{% include 'v2/forms/f_create_customer_route.html' %}
|
||||
</div>
|
||||
@@ -12,5 +12,5 @@
|
||||
|
||||
<div class="b_make_poster_order">
|
||||
<div class="make_poster_order_title">{% trans "Заполните форму, чтобы перевезти посылку" %}</div>
|
||||
{% include 'v2/forms/f_make_mover_order.html' %}
|
||||
{% include 'v2/forms/f_create_mover_route.html' %}
|
||||
</div>
|
||||
Reference in New Issue
Block a user