TRI-293: add custom and mover handler + mover page poster
This commit is contained in:
@@ -4,15 +4,30 @@
|
||||
|
||||
{% if owner_type == 'customer' %}
|
||||
{% trans "Заполните форму, чтобы отправить посылку" as p_title %}
|
||||
{% trans "Откуда забрать посылку" as l_from %}
|
||||
{% trans "Куда доставить посылку" as l_to %}
|
||||
{% trans "Каким способом Вы хотите отправить?" as l_transport %}
|
||||
{% trans "Выберите кого (что) вы можете перевезти:" as l_cargo %}
|
||||
{% trans "Дата отправления" as l_date_from %}
|
||||
{% trans "Дата доставки посылки" as l_date_to %}
|
||||
|
||||
|
||||
{% elif owner_type == 'mover' %}
|
||||
{% trans "Заполните форму, чтобы перевезти посылку" as p_title %}
|
||||
{% trans "Пункт отправления" as l_from %}
|
||||
{% trans "Пункт прибытия" as l_to %}
|
||||
{% trans "Укажите способ, которым вы можете перевезти" as l_transport %}
|
||||
{% trans "Выберите кого (что) вы можете перевезти:" as l_cargo %}
|
||||
{% trans "Дата отправления" as l_date_from %}
|
||||
{% trans "Дата прибытия" as l_date_to %}
|
||||
|
||||
|
||||
{% endif %}
|
||||
<link rel="stylesheet" href="{% static 'css/ion.rangeSlider.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'css/create_poster.css' %}">
|
||||
|
||||
<div hidden>
|
||||
csrfmiddlewaretoken: eoN2nLYYo46PpDIhi82dmTFASHH4ONiBdEQOz1jQNyUpsHJ4RrvcmFwfnM45TNtl
|
||||
type_transport: road
|
||||
from_address_point: 59613
|
||||
from_address_point: 59613 4267
|
||||
from_address_point_txt: Москаленки / Россия
|
||||
to_address_point: 2824
|
||||
to_address_point_txt: Берлар / Бельгия
|
||||
@@ -28,81 +43,56 @@
|
||||
owner_type: customer
|
||||
hiddenTime: 16 декабря 2024 г. 23:04
|
||||
</div>
|
||||
|
||||
<div class="poster">
|
||||
<div class="poster poster--{% if owner_type == 'customer' %}customer{% else %}mover{% endif %}">
|
||||
<h1 class="poster__title">{{ p_title }}</h1>
|
||||
|
||||
|
||||
<form class="poster__form"
|
||||
name="new_route"
|
||||
method="post"
|
||||
id="new_route"
|
||||
id="poster__form"
|
||||
>
|
||||
{% csrf_token %}
|
||||
{#from-to#}
|
||||
<div class="poster__row poster__row--from-to">
|
||||
<div class="poster__col">
|
||||
<label for="from" class="poster__label " required>
|
||||
{% translate "Откуда забрать посылку" %}
|
||||
</label>
|
||||
<input type="text" name="from" id="from" class="locate" placeholder="{% translate "Укажите город" %}">
|
||||
</div>
|
||||
<div class="poster__col">
|
||||
<label for="to" class="poster__label " required>
|
||||
{% translate "Куда доставить посылку" %}
|
||||
</label>
|
||||
<input type="text" name="to" id="to" class="locate" placeholder="{% translate "Укажите город" %}">
|
||||
</div>
|
||||
</div>
|
||||
{#cargo-type#}
|
||||
<div class="poster__row poster__row--cargo">
|
||||
<div class="poster__col col-12">
|
||||
<label class="poster__label col-12" required>
|
||||
{% translate "Выберите кого (что) вы можете перевезти:" %}
|
||||
</label>
|
||||
<div class="poster__grid">
|
||||
|
||||
{% for item in form.fields.cargo_type.choices %}
|
||||
<div class="cargo">
|
||||
<input
|
||||
class="cargo__inp"
|
||||
type="radio"
|
||||
name="cargo_type"
|
||||
|
||||
id="cargo_type_{{ forloop.counter }}"
|
||||
required
|
||||
value="{{ item.0 }}"
|
||||
{% if item.checked %}
|
||||
checked="checked"
|
||||
{% endif %}
|
||||
/>
|
||||
|
||||
<label class="cargo__label"
|
||||
for="cargo_type_{{ forloop.counter }}">
|
||||
<span>{{ item.1 }}</span>
|
||||
</label>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{#date-poster#}
|
||||
<div class="poster__row poster__row--date">
|
||||
<div class="poster__col">
|
||||
|
||||
<label from="date-to" required class="poster__label col-12 ">
|
||||
{% translate "Дата доставки посылки" %}
|
||||
</label>
|
||||
<input type="text" name="date-to" class="poster__date date">
|
||||
</div>
|
||||
<div class="poster__col"></div>
|
||||
</div>
|
||||
<input
|
||||
type="number"
|
||||
name="from_address_point"
|
||||
id="from_address_point"
|
||||
hidden
|
||||
{% if form.initial.from_address_point %}value="{{ form.initial.from_address_point }}"{% endif %}
|
||||
/>
|
||||
<input
|
||||
type="number"
|
||||
name="to_address_point"
|
||||
id="to_address_point"
|
||||
hidden
|
||||
{% if form.initial.to_address_point %}value="{{ form.initial.to_address_point }}"{% endif %}
|
||||
/>
|
||||
<input
|
||||
id="hide_owner_type"
|
||||
name="owner_type"
|
||||
hidden
|
||||
{% if form.initial.owner_type %}
|
||||
value="{{ form.initial.owner_type }}"
|
||||
{% elif form.data.owner_type %}
|
||||
value="{{ form.data.owner_type }}"
|
||||
{% endif %}
|
||||
>
|
||||
<input
|
||||
id="hiddenTime"
|
||||
type="text"
|
||||
name="hiddenTime"
|
||||
hidden
|
||||
{% if route.departure_DT %}
|
||||
value="{{ route.from_city.get_current_datetime }}"
|
||||
{% elif form.initial.departure_DT %}
|
||||
value="{{ form.initial.departure_DT }}"
|
||||
{% endif %}
|
||||
>
|
||||
{#type-transport#}
|
||||
<div class="poster__row poster__row--transport">
|
||||
<div class="poster__col col-12">
|
||||
|
||||
<label for="type_transport" class="poster__label col-12" required>
|
||||
{% translate "Каким способом Вы хотите отправить?" %}
|
||||
{{ l_transport }}
|
||||
</label>
|
||||
{% for item in form.fields.type_transport.choices %}
|
||||
<div class="cargo cargo--inline">
|
||||
@@ -122,14 +112,158 @@
|
||||
</label>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="poster__errors">
|
||||
|
||||
</div>
|
||||
{% if not errors_off and form.errors and form.errors.type_transport %}
|
||||
<span>{{ form.errors.type_transport }}</span>
|
||||
{% endif %}
|
||||
<div class="poster__info">
|
||||
{% translate "Обязательно учитывайте Правила и особенности перевозки выбранным Вами видом транспорта" %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{#from-to#}
|
||||
<div class="poster__row poster__row--from-to">
|
||||
<div class="poster__col">
|
||||
<label for="from" class="poster__label " required>
|
||||
{{ l_from }}
|
||||
</label>
|
||||
<input type="text" autocomplete="off" name="from_address_point_txt" id="from" class="poster__locate locate"
|
||||
placeholder="{% translate "Укажите город" %}" required>
|
||||
<div class="poster__towns-list"></div>
|
||||
{% if not errors_off and form.errors and form.errors.from_address_point %}
|
||||
<span id="error_from_address_point">{{ form.errors.from_address_point }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="poster__col">
|
||||
<label for="to" class="poster__label " required>
|
||||
{{ l_to }}
|
||||
</label>
|
||||
<input type="text" autocomplete="off" name="to_address_point_txt" id="to" class="poster__locate locate"
|
||||
placeholder="{% translate "Укажите город" %}" required>
|
||||
<div class="poster__towns-list"></div>
|
||||
{% if not errors_off and form.errors and form.errors.from_address_point %}
|
||||
<span id="error_to_address_point">{{ form.errors.from_address_point }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if owner_type == 'mover' %}
|
||||
<div class="poster__col poster__col--inner">
|
||||
{#date-from#}
|
||||
<div class="poster__col">
|
||||
<label for="departure_DT" required class="poster__label col-12 ">
|
||||
{{ l_date_from }}
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
class="poster__date date"
|
||||
id="departure_DT"
|
||||
name="departure_DT"
|
||||
readonly
|
||||
value="{% if route.departure_DT %}
|
||||
{{ route.from_city.get_current_datetime }}{% elif form.initial.departure_DT %}{{ form.initial.departure_DT }}{% endif %}"
|
||||
/>
|
||||
{% if not errors_off and form.errors and form.errors.departure_DT %}
|
||||
<span id="error_arrival_DT">{{ form.errors.departure_DT }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{#date-to#}
|
||||
<div class="poster__col">
|
||||
<label for="arrival_DT" required class="poster__label col-12 ">
|
||||
{{ l_date_to }}
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
class="poster__date date"
|
||||
id="arrival_DT"
|
||||
name="arrival_DT"
|
||||
readonly
|
||||
value="{% if route.departure_DT %}
|
||||
{{ route.from_city.get_current_datetime }}
|
||||
{% elif form.initial.arrival_DT %}
|
||||
{{ form.initial.arrival_DT }}
|
||||
{% endif %}"
|
||||
/>
|
||||
{% if not errors_off and form.errors and form.errors.arrival_DT %}
|
||||
<span id="error_arrival_DT">{{ form.errors.arrival_DT }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
{#cargo-type#}
|
||||
<div class="poster__row poster__row--cargo">
|
||||
<div class="poster__col col-12">
|
||||
<label class="poster__label col-12" required>
|
||||
{{ l_cargo }}
|
||||
</label>
|
||||
<div class="poster__grid">
|
||||
|
||||
{% for item in form.fields.cargo_type.choices %}
|
||||
<div class="cargo">
|
||||
<input
|
||||
class="cargo__inp"
|
||||
type="radio"
|
||||
name="cargo_type"
|
||||
|
||||
id="cargo_type_{{ forloop.counter }}"
|
||||
required
|
||||
value="{{ item.0 }}"
|
||||
{% if forloop.first %}
|
||||
checked
|
||||
{% endif %}
|
||||
/>
|
||||
<label class="cargo__label"
|
||||
for="cargo_type_{{ forloop.counter }}">
|
||||
<span>{{ item.1 }}</span>
|
||||
</label>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% if not errors_off and form.errors and form.errors.cargo_type %}
|
||||
<span id="error_cargo_type">{{ form.errors.cargo_type }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{#date-poster#}
|
||||
{% if owner_type == 'customer' %}
|
||||
<div class="poster__row poster__row--date">
|
||||
{#date-to#}
|
||||
<div class="poster__col">
|
||||
<label for="arrival_DT" required class="poster__label col-12 ">
|
||||
{{ l_date_to }}
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
class="poster__date date"
|
||||
id="arrival_DT"
|
||||
name="arrival_DT"
|
||||
readonly
|
||||
value="{% if route.arrival_DT %}
|
||||
{{ route.from_city.get_current_datetime }}
|
||||
{% elif form.initial.arrival_DT %}
|
||||
{{ form.initial.arrival_DT }}
|
||||
{% endif %}"
|
||||
/>
|
||||
{% if not errors_off and form.errors and form.errors.arrival_DT %}
|
||||
<span id="error_arrival_DT">{{ form.errors.arrival_DT }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="poster__col">
|
||||
<input
|
||||
type="text"
|
||||
id="departure_DT"
|
||||
name="departure_DT"
|
||||
hidden
|
||||
value="
|
||||
{% if route.departure_DT %}
|
||||
{{ route.from_city.get_current_datetime }}
|
||||
{% elif form.initial.departure_DT %}
|
||||
{{ form.initial.departure_DT }}
|
||||
{% endif %}"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{#phone#}
|
||||
<div class="poster__row poster__row--phone">
|
||||
<div class="poster__col col-12">
|
||||
@@ -137,10 +271,14 @@
|
||||
<label for="phone" class="col-12">
|
||||
{% translate "Контактный номер телефона, по которому с Вами могут связаться перевозчики" %}
|
||||
</label>
|
||||
<input class="col-12 col-xl-6" type="tel" placeholder="{% translate "Укажите телефон" %}">
|
||||
<input class="col-12 col-xl-6" type="text" pattern="[0-9\-+]{5,}" maxlength="30"
|
||||
placeholder="{% translate "Укажите телефон" %}" title="{% translate "Только цифры или - или +" %}">
|
||||
<div class="poster__info">
|
||||
{% translate "Если вы оставите это поле пустым - перевозчики смогут только написать вам в личные сообщения на нашем сайте TripWB.com" %}
|
||||
</div>
|
||||
{% if not errors_off and form.errors and form.errors.phone %}
|
||||
<span id="error_id_phone">{{ form.errors.phone|safe }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{#description#}
|
||||
@@ -174,15 +312,12 @@
|
||||
{% if form.initial.receive_msg_by_email == True %}
|
||||
checked="checked"
|
||||
{% endif %}
|
||||
id="id_receive_msg_by_email">
|
||||
id="receive_msg_by_email">
|
||||
|
||||
<label class="cargo__label" for="id_receive_msg_by_email">
|
||||
<label class="cargo__label" for="receive_msg_by_email">
|
||||
{% translate "Хочу получать уведомления на E-mail о появлении перевозчика по моим критериям" %}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{% if not errors_off and form.errors and form.errors.receive_msg_by_email %}
|
||||
{{ form.errors.receive_msg_by_email }}
|
||||
{% endif %}
|
||||
@@ -190,11 +325,15 @@
|
||||
|
||||
<button type="submit"
|
||||
class="btn btn--primary col-12"
|
||||
onclick="sendRoute(this,
|
||||
{% if route.id %}{{ route.id }}{% endif %})"
|
||||
data-routeId="{% if route.id %}{{ route.id }}{% endif %}"
|
||||
>
|
||||
{% translate "Разместить объявление" %}
|
||||
</button>
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script src="{% static 'js/form-poster.js' %}">
|
||||
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user