Merge remote-tracking branch 'origin/main'

This commit is contained in:
2023-08-29 17:27:27 +03:00
7 changed files with 167 additions and 26 deletions

View File

@@ -39,6 +39,8 @@ def get_routes_Dict(user=None, data=None):
to_el = int(val)
routes = Route.objects.filter(**kwargs).order_by('-modifiedDT')
routes_count = routes.count()
if from_el and to_el:
routes = routes[from_el:to_el]
elif from_el:
@@ -48,6 +50,10 @@ def get_routes_Dict(user=None, data=None):
else:
routes = routes[:25]
last_block_routes = False
if to_el and to_el >= routes_count:
last_block_routes = True
res_Dict = {}
try:
@@ -72,7 +78,8 @@ def get_routes_Dict(user=None, data=None):
print(msg)
res_Dict = {
'routes': routes
'routes': routes,
'last_block_routes': last_block_routes
}
return res_Dict

View File

@@ -169,6 +169,7 @@ def find_routes_ajax(request):
res_Dict = {
'html': html,
'last_block_routes': routes_Dict['last_block_routes']
# 'form': RouteForm(initial=data)
}

View File

@@ -1,3 +1,89 @@
from sets.admin import *
from .models import *
from django.contrib import admin
# Register your models here.
class Admin_Subscribe(Admin_Trans_BaseModel):
fieldsets = (
(None, {
'classes': ['wide'],
'fields': ('name',
('price'),
'options',
'period_name', 'period',
'order'
)
}),
)
list_display = [
'id',
'name', 'price',
'period_name', 'period',
'order', 'modifiedDT', 'createDT'
]
list_display_links = ['id']
list_filter = ['modifiedDT', 'createDT']
search_fields = ['name', 'period_name']
filter_horizontal = ['options']
admin.site.register(Subscribe,Admin_Subscribe)
class Admin_SubscribeOption(Admin_Trans_BaseModel):
fieldsets = (
(None, {
'classes': ['wide'],
'fields': ('name',
'order'
)
}),
)
list_display = [
'id',
'name',
'order', 'modifiedDT', 'createDT'
]
list_display_links = ['id']
list_filter = ['modifiedDT', 'createDT']
search_fields = ['name']
admin.site.register(SubscribeOption,Admin_SubscribeOption)
class Admin_SubscribeForUser(Admin_Trans_BaseModel):
fieldsets = (
(None, {
'classes': ['wide'],
'fields': ('name',
'user', 'subscribe',
'last_paid_DT',
'paid_period_from_DT', 'paid_period_to_DT',
'auto_continue', 'receive_finish_subscribe_msg',
'order'
)
}),
)
list_display = [
'id',
'name', 'user', 'subscribe',
'last_paid_DT', 'paid_period_from_DT', 'paid_period_to_DT',
'auto_continue', 'receive_finish_subscribe_msg',
'order', 'modifiedDT', 'createDT'
]
list_display_links = ['id']
list_filter = [
'subscribe', 'last_paid_DT', 'paid_period_from_DT', 'paid_period_to_DT',
'auto_continue', 'receive_finish_subscribe_msg',
'modifiedDT', 'createDT'
]
search_fields = ['name']
admin.site.register(SubscribeForUser,Admin_SubscribeForUser)

View File

@@ -1475,4 +1475,11 @@
}
.loader_f_loading_routes.show{
display: block;
}
.line_separator_page_w_el{
width: 100%;
border-bottom: 1px solid #919BA5;
margin-top: 30px;
margin-bottom: 30px;
}

View File

@@ -1,7 +1,42 @@
let page_iterator = 2
let separator_iterator = 1
function load_routes (el) {
let number_last_route = el.id
let data = {
'from_el':parseInt(number_last_route) + 1,
'to_el':parseInt(number_last_route) + 11
}
let list_of_elements_form = document.querySelectorAll(".el_form_find_route");
for (let i = 0;i < list_of_elements_form.length;i++) {
// let id_el = list_of_elements_form[i].id
// if (id_el){
// if (id_el === "")
// }
let name_attr = list_of_elements_form[i].attributes["name"]
let value_el = list_of_elements_form[i].value
if (name_attr) {
if (list_of_elements_form[i].tagName === "INPUT" && list_of_elements_form[i].type === "checkbox"){
let name_el = name_attr.value
data[name_el] = ""
if (list_of_elements_form[i].checked){
if (name_el === "type_transport"){
let old_val = data["type_transport"]
if (old_val){
data["type_transport"] = `${data["type_transport"]},${value_el}`
}
}
data[name_el] = value_el
}
} else {
let name_el = name_attr.value
data[name_el] = value_el
}
}
}
let loader = document.querySelector(".loader_f_loading_routes")
loader.classList.toggle("show")
el.classList.toggle("hide")
@@ -12,11 +47,8 @@ function load_routes (el) {
// if (new_el_dataset){
// let number_last_route = new_el_dataset['numberOfRoute']
// let number_last_route = el.dataset['lastRoute']
let number_last_route = el.id
let data = {
'from_el':parseInt(number_last_route) + 1,
'to_el':parseInt(number_last_route) + 11
}
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: '/ru/routes/find_routes/',
@@ -36,18 +68,24 @@ function load_routes (el) {
let old_page_iterator = page_iterator
page_iterator++
loader.classList.toggle("show")
el.classList.toggle("hide")
let el_scroll = place_ins.firstElementChild
el_scroll.scrollIntoView(
{
behavior:"smooth"
}
)
if (!data.last_block_routes){
el.classList.toggle("hide")
}
// let el_scroll = place_ins.firstElementChild
// el_scroll.scrollIntoView(
// {
// behavior:"smooth"
// }
// )
let new_page_routes = document.createElement("div")
new_page_routes.classList.add("page_routes_" + page_iterator)
$(new_page_routes).insertAfter(".page_routes_" + old_page_iterator);
let line_separator = document.createElement("div")
line_separator.classList.add("line_separator_page_w_el")
$(line_separator).insertAfter(".page_routes_" + separator_iterator);
// document.querySelector(".info_profile").innerHTML = data.html;
el.setAttribute("id",parseInt(number_last_route) + 11)
separator_iterator++
// number_last_route = parseInt(number_last_route) + "11"
},
error: function (data){

View File

@@ -18,8 +18,8 @@ function inital_slider (){
type: "double",
min: min,
max: max,
from: 100,
to: 900,
from: 0,
to: 1000,
onStart: updateInputs,
onChange: updateInputs
});

View File

@@ -39,6 +39,7 @@
type="number"
name="from_address_point"
id="id_from_address_point"
class="el_form_find_route"
hidden
class="disp-none"
{% if form.initial.from_address_point %}value="{{ form.initial.from_address_point }}"{% endif %}
@@ -77,6 +78,7 @@
type="number"
name="to_address_point"
id="id_to_address_point"
class="el_form_find_route"
hidden
class="disp-none"
{% if form.initial.to_address_point %}value="{{ form.initial.to_address_point}}"{% endif %}/>
@@ -101,15 +103,15 @@
</div>
<div class="cont-el-form-search-carrier">
<label for="id_departure_DT">Дата отправки</label>
<input name="departure_DT" id="id_departure_DT" type="date" {% if form.fields.departure_DT.required %} {% endif %}>
<input class="el_form_find_route" name="departure_DT" id="id_departure_DT" type="date" {% if form.fields.departure_DT.required %} {% endif %}>
</div>
<div class="cont-el-form-search-carrier">
<label for="id_arrival_DT">Дата прибытия</label>
<input name="arrival_DT" id="id_arrival_DT" type="date" {% if form.fields.arrival_DT.required %} {% endif %}>
<input class="el_form_find_route" name="arrival_DT" id="id_arrival_DT" type="date" {% if form.fields.arrival_DT.required %} {% endif %}>
</div>
<div class="cont-el-form-search-carrier last">
<label>test</label>
<select name="cargo_type" id="id_cargo_type" {% if form.fields.cargo_type.required %} {% endif %}>
<select class="el_form_find_route" name="cargo_type" id="id_cargo_type" {% if form.fields.cargo_type.required %} {% endif %}>
<option value="" selected="selected">--не имеет значения--</option>
{% for item in form.fields.cargo_type.choices %}
<option value="{{ item.0 }}">{{ item.1 }}</option>
@@ -118,7 +120,7 @@
</select>
</div>
<div class="cont-el-form-search-carrier">
<div class="cont-el-form-search-carrier el_form_find_route">
<label style="opacity: 0">test</label>
<button onclick="filters_func_find_route_main(this)">Найти</button>
</div>
@@ -142,7 +144,7 @@
{% if forloop.counter0 > 0 %}
<div>
<input
class="custom-checkbox"
class="custom-checkbox el_form_find_route"
type="checkbox"
name="type_transport"
id="id_cargo_type_car_{{ forloop.counter }}"
@@ -171,7 +173,7 @@
</div>
<div class="methods_transportation_form_filters">
<div class="title_el_methods_transportation">Откуда забрать посылку</div>
<select class="select_form_filters_find_route" name="from_place">
<select class="select_form_filters_find_route el_form_find_route" name="from_place">
<option value="" selected="selected">--не имеет значения--</option>
{% for item in form.fields.from_place.choices %}
<option value="{{ item.0 }}">{{ item.1 }}</option>
@@ -183,7 +185,7 @@
</div>
<div class="methods_transportation_form_filters">
<div class="title_el_methods_transportation">Куда доставить посылку</div>
<select class="select_form_filters_find_route" name="to_place">
<select class="select_form_filters_find_route el_form_find_route" name="to_place">
<option value="" selected="selected">--не имеет значения--</option>
{% for item in form.fields.to_place.choices %}
<option value="{{ item.0 }}">{{ item.1 }}</option>
@@ -193,7 +195,7 @@
<div class="methods_transportation_form_filters">
<label for="weight">Вес посылки (кг)</label>
<div class="range-slider">
<input type="text" class="range_slider_form_filters" name="weight" value="{{ form.fields.weight.initial }}" />
<input type="text" class="range_slider_form_filters el_form_find_route" name="weight" value="{{ form.fields.weight.initial }}" />
</div>
<div class="inputs_for_slider_cont">
<input type="text" class="input_f_slider_start" value="100" />
@@ -204,7 +206,7 @@
</div>
<div class="methods_transportation_form_filters">
<div class="title_el_methods_transportation">Сортировать по:</div>
<select name="sort" class="select_form_filters_find_route">
<select name="sort" class="select_form_filters_find_route el_form_find_route">
<option value="last">По последним</option>
</select>
</div>