0.0.50
fix form new route
This commit is contained in:
@@ -19,10 +19,19 @@ def new_route_view_ajax(request):
|
||||
if request.method != 'POST':
|
||||
raise Http404
|
||||
|
||||
data = request.POST
|
||||
|
||||
form = CreateRouteForm(data)
|
||||
|
||||
if not form.is_valid():
|
||||
pass
|
||||
|
||||
Dict = {
|
||||
'form': CreateRouteForm()
|
||||
'form': form
|
||||
}
|
||||
|
||||
# print(form)
|
||||
|
||||
html = render_to_string('blocks/profile/b_new_route.html', Dict, request=request)
|
||||
return JsonResponse({'html': html}, status=200)
|
||||
|
||||
|
||||
@@ -3,10 +3,11 @@ from django.utils.translation import gettext_lazy as _
|
||||
from BaseModels.base_models import BaseModel
|
||||
|
||||
|
||||
type_transport_choices = (
|
||||
type_transport_choices = [
|
||||
('', _('-- Выберите cпособ перевозки --')),
|
||||
('avia', _('Авиатранспорт')),
|
||||
('road', _('Наземный транспорт'))
|
||||
)
|
||||
]
|
||||
|
||||
transfer_location_choices = (
|
||||
('airport', _('В аэропорту')),
|
||||
@@ -35,7 +36,7 @@ class Route(BaseModel):
|
||||
choices=owner_type_choices, default='customer', verbose_name=_('Тип опреации'))
|
||||
|
||||
type_transport = models.CharField(
|
||||
choices=type_transport_choices, default='avia', verbose_name=_('Выберите способ перевозки'))
|
||||
choices=type_transport_choices, default='', verbose_name=_('Выберите способ перевозки'))
|
||||
departure_DT = models.DateTimeField(default=True, verbose_name=_('Дата и время выезда'))
|
||||
arrival_DT = models.DateTimeField(default=True, verbose_name=_('Дата и время прибытия'))
|
||||
from_address_point = models.IntegerField(verbose_name=_('Пункт выезда'))
|
||||
|
||||
@@ -42,10 +42,13 @@ function sendRoute(el){
|
||||
|
||||
//cleaning route inputs after selection changes
|
||||
function OnSelectionChange(el) {
|
||||
let form = el.form;
|
||||
let formData = new FormData(form);
|
||||
$.ajax({
|
||||
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
|
||||
event.preventDefault()
|
||||
|
||||
let form = el.form;
|
||||
let formData = new FormData(form);
|
||||
|
||||
$.ajax({
|
||||
headers: {"X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val()},
|
||||
url: '/ru/user_account/new_route_view/',
|
||||
type: "POST",
|
||||
// async: true,
|
||||
@@ -54,24 +57,22 @@ function OnSelectionChange(el) {
|
||||
contentType: false,
|
||||
// enctype: 'json',
|
||||
data: formData,
|
||||
success: function(data){
|
||||
// console.log('data received')
|
||||
success: function (data) {
|
||||
console.log('data.html');
|
||||
// location.href = '/profile'
|
||||
document.querySelector(".info_profile").innerHTML = data.html
|
||||
|
||||
$(document).ready(function (e){
|
||||
$('#id_weight').ionRangeSlider({
|
||||
skin: "round",
|
||||
type: "single",
|
||||
min: 0,
|
||||
max: 1000,
|
||||
from: 100,
|
||||
step: 1,
|
||||
grid: true,
|
||||
grid_num: 5,
|
||||
});
|
||||
|
||||
});
|
||||
//
|
||||
// $(document).ready(function (e){
|
||||
// $('#id_weight').ionRangeSlider({
|
||||
// skin: "round",
|
||||
// type: "single",
|
||||
// min: 0,
|
||||
// max: 1000,
|
||||
// from: 100,
|
||||
// step: 1,
|
||||
// grid: true,
|
||||
// grid_num: 5,
|
||||
// }
|
||||
|
||||
//get dynamic value
|
||||
// let fromCountry = document.getElementById('id_from_country');
|
||||
|
||||
@@ -9,14 +9,18 @@
|
||||
<label for="id_type_transport">{{ form.fields.type_transport.label }}</label>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<select
|
||||
onchange="OnSelectionChange(this)"
|
||||
name="type_transport"
|
||||
id="id_type_transport">
|
||||
{% for item in form.fields.type_transport.choices %}
|
||||
<option
|
||||
value="{{ item.0 }}"{% if form.cleaned_data.type_transport == item.0 %}
|
||||
selected="selected"{% endif %}>{{ item.1 }}
|
||||
value="{{ item.0 }}"
|
||||
{% if form.cleaned_data.type_transport == item.0 %}
|
||||
selected="selected"
|
||||
{% endif %}>
|
||||
{{ item.1 }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
@@ -25,19 +29,72 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<div class="departure_arrival">
|
||||
<div>
|
||||
<label for="id_departure_DT">{{ form.fields.departure_DT.label }}</label>
|
||||
{% if form.cleaned_data and form.cleaned_data.type_transport and form.cleaned_data.type_transport != '' %}
|
||||
<hr>
|
||||
<div class="departure_arrival">
|
||||
<div>
|
||||
<label for="id_departure_DT">{{ form.fields.departure_DT.label }}</label>
|
||||
|
||||
<input
|
||||
type="datetime-local"
|
||||
name="departure_DT"
|
||||
{% if form.fields.departure_DT.required %} required{% endif %}
|
||||
id="id_departure_DT"
|
||||
{% if form.data.departure_DT %}value="{{ form.data.departure_DT }}"{% endif %}
|
||||
/>
|
||||
<input
|
||||
type="datetime-local"
|
||||
name="departure_DT"
|
||||
{% if form.fields.departure_DT.required %} required{% endif %}
|
||||
id="id_departure_DT"
|
||||
{% if form.data.departure_DT %}value="{{ form.data.departure_DT }}"{% endif %}
|
||||
/>
|
||||
|
||||
{% if form.errors and form.errors.departure_DT %}
|
||||
<span>{{ form.errors.departure_DT }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div>
|
||||
<label for="id_arrival_DT">{{ form.fields.arrival_DT.label }}</label>
|
||||
<input
|
||||
type="datetime-local"
|
||||
name="arrival_DT"
|
||||
{% if form.fields.arrival_DT.required %} required{% endif %}
|
||||
id="id_arrival_DT"
|
||||
{% if form.data.arrival_DT %}value="{{ form.data.arrival_DT }}"{% endif %}
|
||||
{# |date: 'Y-m-d H:i' #}
|
||||
/>
|
||||
{% if form.errors and form.errors.arrival_DT %}
|
||||
<span>{{ form.errors.arrival_DT }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="from_to_country">
|
||||
<div class="from_country_container">
|
||||
<label for="id_from_address_point">{{ form.fields.from_address_point.label }}</label>
|
||||
<input type="number" name="from_address_point" id="id_from_address_point" hidden />
|
||||
<input
|
||||
oninput="searchTown(this)"
|
||||
onclick="searchTown(this)"
|
||||
onblur="onblurInputField(event, this)"
|
||||
type="text"
|
||||
name="from_address_point_txt"
|
||||
{% if form.fields.from_address_point.required %} required{% endif %}
|
||||
id="id_from_address_point_txt"
|
||||
{% if form.cleaned_data.from_address_point_txt %}value="{{ form.cleaned_data.from_address_point_txt }}"{% endif %}
|
||||
/>
|
||||
<div class="input_list" name="from_address_point_txt_list">
|
||||
</div>
|
||||
{% if form.errors and form.errors.from_address_point %}
|
||||
<span>{{ form.errors.from_address_point}}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div>
|
||||
<label for="id_to_address_point">{{ form.fields.to_address_point.label }}</label>
|
||||
<input type="number" name="to_address_point" id="id_to_address_point" hidden />
|
||||
<input
|
||||
oninput="searchTown(this)"
|
||||
onclick="searchTown(this)"
|
||||
onblur="onblurInputField(event, this)"
|
||||
type="text"
|
||||
name="to_address_point_txt"
|
||||
{% if form.fields.to_address_point.required %} required{% endif %}
|
||||
id="id_to_address_point_txt"
|
||||
{% if form.cleaned_data.to_address_point_txt %}value="{{ form.cleaned_data.to_address_point_txt}}"{% endif %}
|
||||
{% if form.errors and form.errors.departure_DT %}
|
||||
<span>{{ form.errors.departure_DT }}</span>
|
||||
{% endif %}
|
||||
@@ -91,83 +148,94 @@
|
||||
id="id_to_address_point_txt"
|
||||
{% if form.cleaned_data.to_address_point_txt %}value="{{ form.cleaned_data.to_address_point_txt}}"{% endif %}
|
||||
|
||||
/>
|
||||
<div class="input_list" name="to_address_point_txt_list">
|
||||
/>
|
||||
<div class="input_list" name="to_address_point_txt_list">
|
||||
|
||||
</div>
|
||||
{% if form.errors and form.errors.to_address_point %}
|
||||
<span>{{ form.errors.to_address_point }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{# <div>#}
|
||||
{# <label for="id_from_city">{{ form.fields.from_city.label }}</label>#}
|
||||
{# <input type="text" name="from_city"{% if form.fields.from_city.required %} required{% endif %} id="id_from_city">#}
|
||||
{# </div>#}
|
||||
{# <div>#}
|
||||
{# <label for="id_to_city">{{ form.fields.to_city.label }}</label>#}
|
||||
{# <input type="text" name="to_city"{% if form.fields.to_city.required %} required{% endif %} id="id_to_city">#}
|
||||
{# </div>#}
|
||||
<div class="from_to_place">
|
||||
<div>
|
||||
<label for="id_from_place">{{ form.fields.from_place.label }}</label>
|
||||
<select
|
||||
name="from_place"
|
||||
id="id_from_place"
|
||||
{% if form.fields.from_place.required %} required{% endif %}>
|
||||
{% for item in form.fields.from_place.choices %}
|
||||
<option
|
||||
value="{{ item.0 }}"{% if form.cleaned_data.from_place == item.0 %}
|
||||
selected="selected"{% endif %}>{{ item.1 }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% if form.errors and form.errors.from_place %}
|
||||
<span>{{ form.errors.from_place }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div>
|
||||
<label for="id_to_place">{{ form.fields.to_place.label }}</label>
|
||||
<select
|
||||
name="to_place"
|
||||
id="id_to_place"
|
||||
{% if form.fields.to_place.required %} required{% endif %}>
|
||||
{% for item in form.fields.to_place.choices %}
|
||||
<option
|
||||
value="{{ item.0 }}"{% if form.cleaned_data.to_place == item.0 %}
|
||||
selected="selected"{% endif %}>{{ item.1 }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% if form.errors and form.errors.to_place %}
|
||||
<span>{{ form.errors.to_place }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div>
|
||||
<label for="id_cargo_type">{{ form.fields.cargo_type.label }}</label>
|
||||
</div>
|
||||
{#<div>#}
|
||||
{# <select#}
|
||||
{# multiple#}
|
||||
{# size="5"#}
|
||||
{# name="cargo_type"#}
|
||||
{# id="id_cargo_type"#}
|
||||
{# {% if form.fields.cargo_type.required %} required{% endif %}>#}
|
||||
{# {% for item in form.fields.cargo_type.choices %}#}
|
||||
{# <option#}
|
||||
{# value="{{ item.0 }}"{% if form.fields.cargo_type == item.0 %}#}
|
||||
{# selected="selected"{% endif %}>{{ item.1 }}#}
|
||||
{# </option>#}
|
||||
{# {% endfor %}#}
|
||||
{##}
|
||||
{# </select>#}
|
||||
|
||||
{# </div>#}
|
||||
|
||||
</div>
|
||||
{% if form.errors and form.errors.to_address_point %}
|
||||
<span>{{ form.errors.to_address_point }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{# <div>#}
|
||||
{# <label for="id_from_city">{{ form.fields.from_city.label }}</label>#}
|
||||
{# <input type="text" name="from_city"{% if form.fields.from_city.required %} required{% endif %} id="id_from_city">#}
|
||||
{# </div>#}
|
||||
{# <div>#}
|
||||
{# <label for="id_to_city">{{ form.fields.to_city.label }}</label>#}
|
||||
{# <input type="text" name="to_city"{% if form.fields.to_city.required %} required{% endif %} id="id_to_city">#}
|
||||
{# </div>#}
|
||||
<div class="from_to_place">
|
||||
<div>
|
||||
<label for="id_from_place">{{ form.fields.from_place.label }}</label>
|
||||
<select
|
||||
name="from_place"
|
||||
id="id_from_place"
|
||||
{% if form.fields.from_place.required %} required{% endif %}>
|
||||
{% for item in form.fields.from_place.choices %}
|
||||
<option
|
||||
value="{{ item.0 }}"{% if form.cleaned_data.from_place == item.0 %}
|
||||
selected="selected"{% endif %}>{{ item.1 }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% if form.errors and form.errors.from_place %}
|
||||
<span>{{ form.errors.from_place }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div>
|
||||
<label for="id_to_place">{{ form.fields.to_place.label }}</label>
|
||||
<select
|
||||
name="to_place"
|
||||
id="id_to_place"
|
||||
{% if form.fields.to_place.required %} required{% endif %}>
|
||||
{% for item in form.fields.to_place.choices %}
|
||||
<option
|
||||
value="{{ item.0 }}"{% if form.cleaned_data.to_place == item.0 %}
|
||||
selected="selected"{% endif %}>{{ item.1 }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% if form.errors and form.errors.to_place %}
|
||||
<span>{{ form.errors.to_place }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div>
|
||||
<label for="id_cargo_type">{{ form.fields.cargo_type.label }}</label>
|
||||
</div>
|
||||
{#<div>#}
|
||||
{# <select#}
|
||||
{# multiple#}
|
||||
{# size="5"#}
|
||||
{# name="cargo_type"#}
|
||||
{# id="id_cargo_type"#}
|
||||
{# {% if form.fields.cargo_type.required %} required{% endif %}>#}
|
||||
{# {% for item in form.fields.cargo_type.choices %}#}
|
||||
{# <option#}
|
||||
{# value="{{ item.0 }}"{% if form.fields.cargo_type == item.0 %}#}
|
||||
{# selected="selected"{% endif %}>{{ item.1 }}#}
|
||||
{# </option>#}
|
||||
{# {% endfor %}#}
|
||||
{##}
|
||||
{# </select>#}
|
||||
|
||||
{# </div>#}
|
||||
|
||||
{% for item in form.fields.cargo_type.choices %}
|
||||
<input
|
||||
type="checkbox"
|
||||
name="cargo_type"
|
||||
id="id_cargo_type"
|
||||
{% if form.fields.cargo_type.required %} required{% endif %}
|
||||
value="{{ item.0 }}"
|
||||
{% if form.fields.cargo_type == item.0 %}
|
||||
{% endif %}/>{{ item.1 }}
|
||||
{% endfor %}
|
||||
<div class="checkbox_cargo_type">
|
||||
{% for item in form.fields.cargo_type.choices %}
|
||||
<input
|
||||
@@ -180,78 +248,81 @@
|
||||
{% endif %}/>{{ item.1 }}
|
||||
{% endfor %}
|
||||
|
||||
{# <lable for="">#}
|
||||
{##}
|
||||
{# </lable>#}
|
||||
{% if form.errors and form.errors.cargo_type %}
|
||||
<span>{{ form.errors.cargo_type }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{# <lable for="">#}
|
||||
{##}
|
||||
{# </lable>#}
|
||||
{% if form.errors and form.errors.cargo_type %}
|
||||
<span>{{ form.errors.cargo_type }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
<hr>
|
||||
<hr>
|
||||
|
||||
<div class="range-slider">
|
||||
<label for="id_weight">{{ form.fields.weight.label }}</label>
|
||||
<input
|
||||
type="text"
|
||||
id="id_weight"
|
||||
{% if form.fields.weight.required %} required{% endif %}
|
||||
name="weight"
|
||||
{# value=""#}
|
||||
{% if form.cleaned_data.weight %}value="{{ form.cleaned_data.weight}}"{% endif %}
|
||||
/>
|
||||
{% if form.errors and form.errors.weight %}
|
||||
<span>{{ form.errors.weight }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="phone">
|
||||
<div>
|
||||
<label for="id_phone">{{ form.fields.phone.label }}</label>
|
||||
<input
|
||||
type="text"
|
||||
name="phone"
|
||||
placeholder="{{ form.fields.phone.label }}"
|
||||
{% if form.fields.phone.required %} required{% endif %}
|
||||
id="id_phone"
|
||||
{% if form.cleaned_data.phone %}value="{{ form.cleaned_data.phone}}"{% endif %}
|
||||
|
||||
/>
|
||||
{% if form.errors and form.errors.phone %}
|
||||
<span>{{ form.errors.phone }}</span>
|
||||
<div class="range-slider">
|
||||
<label for="id_weight">{{ form.fields.weight.label }}</label>
|
||||
<input
|
||||
type="text"
|
||||
id="id_weight"
|
||||
{% if form.fields.weight.required %} required{% endif %}
|
||||
name="weight"
|
||||
{# value=""#}
|
||||
{% if form.cleaned_data.weight %}value="{{ form.cleaned_data.weight}}"{% endif %}
|
||||
/>
|
||||
{% if form.errors and form.errors.weight %}
|
||||
<span>{{ form.errors.weight }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<hr>
|
||||
|
||||
<label for="id_extra_phone">{{ form.fields.extra_phone.label }}</label>
|
||||
<input
|
||||
type="text"
|
||||
name="extra_phone"
|
||||
id="id_extra_phone"
|
||||
placeholder="{{ form.fields.extra_phone.label }}"
|
||||
{% if form.cleaned_data.extra_phone %}value="{{ form.cleaned_data.extra_phone}}"{% endif %}
|
||||
/>
|
||||
{% if form.errors and form.errors.extra_phone %}
|
||||
<span>{{ form.errors.extra_phone }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="phone">
|
||||
<div>
|
||||
<label for="id_phone">{{ form.fields.phone.label }}</label>
|
||||
<input
|
||||
type="text"
|
||||
name="phone"
|
||||
placeholder="{{ form.fields.phone.label }}"
|
||||
{% if form.fields.phone.required %} required{% endif %}
|
||||
id="id_phone"
|
||||
{% if form.cleaned_data.phone %}value="{{ form.cleaned_data.phone}}"{% endif %}
|
||||
|
||||
<hr>
|
||||
/>
|
||||
{% if form.errors and form.errors.phone %}
|
||||
<span>{{ form.errors.phone }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="id_receive_msg_by_email">{{ form.fields.receive_msg_by_email.label }}</label>
|
||||
<input type="checkbox" name="receive_msg_by_email" id="id_receive_msg_by_email">
|
||||
{% if form.errors and form.errors.receive_msg_by_email %}
|
||||
<span>{{ form.errors.receive_msg_by_email }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="button_register">
|
||||
<button id="registration" onclick="sendRoute(this)"> Разместить объявления </button>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<label for="id_extra_phone">{{ form.fields.extra_phone.label }}</label>
|
||||
<input
|
||||
type="text"
|
||||
name="extra_phone"
|
||||
id="id_extra_phone"
|
||||
placeholder="{{ form.fields.extra_phone.label }}"
|
||||
{% if form.cleaned_data.extra_phone %}value="{{ form.cleaned_data.extra_phone}}"{% endif %}
|
||||
/>
|
||||
{% if form.errors and form.errors.extra_phone %}
|
||||
<span>{{ form.errors.extra_phone }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div>
|
||||
<label for="id_receive_msg_by_email">{{ form.fields.receive_msg_by_email.label }}</label>
|
||||
<input type="checkbox" name="receive_msg_by_email" id="id_receive_msg_by_email">
|
||||
{% if form.errors and form.errors.receive_msg_by_email %}
|
||||
<span>{{ form.errors.receive_msg_by_email }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="button_register">
|
||||
<button id="registration" onclick="sendRoute(this)"> Разместить объявления </button>
|
||||
</div>
|
||||
|
||||
|
||||
{% endif %}
|
||||
|
||||
</form>
|
||||
Reference in New Issue
Block a user