2.1.2 get_address_point_ajax change by ref v2

This commit is contained in:
SDE
2024-12-23 20:42:06 +03:00
parent b867ab7d02
commit 1e6c70122f
4 changed files with 41 additions and 37 deletions

View File

@@ -18,7 +18,7 @@ def search_cities_in_db(search_str):
for item in objs_wo_tz:
item.get_n_save_timezone()
res_data = City.objects.filter(id__in=ids).values(
'id', 'name', 'country__name', 'timezone'
'id', 'name', 'country__name', 'timezone', 'country__flag'
)
return list(res_data)

View File

@@ -29,7 +29,7 @@ def get_address_point_ajax(request):
data = json.loads(request.body)
if not 'search_str' in data or not 'type_transport' in data or not 'ctrl_name' in data:
if not 'search_str' in data:# or not 'type_transport' in data or not 'ctrl_name' in data:
errors_Dict = {
'errors': {
'all__': f'ошибка в запросе = недостаточно данных'
@@ -40,30 +40,33 @@ def get_address_point_ajax(request):
if len(data['search_str'].strip()) < 3:
res_data = []
else:
if data['type_transport'] == 'avia':
res_data = search_airports_in_db(data['search_str'])
else:
res_data = search_cities_in_db(data['search_str'])
# if data['type_transport'] == 'avia':
# res_data = search_airports_in_db(data['search_str'])
# else:
res_data = search_cities_in_db(data['search_str'])
res_data_str_list = []
i = 0
html = ''
for item in res_data:
item['index'] = i
item['ctrl_name'] = data['ctrl_name']
if 'iata_code' in item:
item['airport_fullname'] = f'<b>{item["iata_code"]}</b> - {item["name"]}'
item['fullname'] = f'{item["iata_code"]} - {item["name"]}'
item['city_name'] = item['city__name']
item['country_name'] = item['city__country__name']
item['city_DT'] = datetime.now(tz=pytz.timezone(item['city__timezone']))
else:
item['city_name'] = item['name']
item['country_name'] = item['country__name']
item['fullname'] = f'{item["city_name"]} / {item["country_name"]}'
item['city_DT'] = datetime.now(tz=pytz.timezone(item['timezone']))
html = f"{html}{render_to_string('widgets/w_ac_input_address_point.html', item)}"
i += 1
widgets_list = [render_to_string('widgets/w_ac_input_address_point.html', item, request) for item in res_data]
html = ''.join(widgets_list)
# res_data_str_list = []
# i = 0
# html = ''
# for item in res_data:
# item['index'] = i
# item['ctrl_name'] = data['ctrl_name']
# if 'iata_code' in item:
# item['airport_fullname'] = f'<b>{item["iata_code"]}</b> - {item["name"]}'
# item['fullname'] = f'{item["iata_code"]} - {item["name"]}'
# item['city_name'] = item['city__name']
# item['country_name'] = item['city__country__name']
# item['city_DT'] = datetime.now(tz=pytz.timezone(item['city__timezone']))
# else:
# item['city_name'] = item['name']
# item['country_name'] = item['country__name']
# item['fullname'] = f'{item["city_name"]} / {item["country_name"]}'
# item['city_DT'] = datetime.now(tz=pytz.timezone(item['timezone']))
# html = f"{html}{render_to_string('widgets/w_ac_input_address_point.html', item)}"
# i += 1
res_Dict = {

View File

@@ -27,15 +27,15 @@ def get_profile_new_route_page_html(request, data):
errors_off = True
if 'from_address_point' in data:
del data['from_address_point']
if 'from_address_point_txt' in data:
del data['from_address_point_txt']
if 'to_address_point' in data:
del data['to_address_point']
if 'to_address_point_txt' in data:
del data['to_address_point_txt']
# if 'from_address_point' in data:
# del data['from_address_point']
# if 'from_address_point_txt' in data:
# del data['from_address_point_txt']
#
# if 'to_address_point' in data:
# del data['to_address_point']
# if 'to_address_point_txt' in data:
# del data['to_address_point_txt']
# if data['type_transport'] == 'avia':

View File

@@ -1,4 +1,5 @@
<div onmousedown='selectItemAddrPoint({{ id }}, "{{ fullname }}", "{{ ctrl_name }}", "{{ city_DT }}")' class="autocomplete-result" data-index="{{ index }}">
{% if airport_fullname %}<div>{{ airport_fullname|safe }}</div>{% endif %}
<div class="autocomplete-location">{{ city_name }} / {{ country_name }}</div>
<div onmousedown='selectItemAddrPoint({{ id }}, "{{ name }} / {{ country__name }}", "{{ ctrl_name }}", "{{ timezone }}")' class="autocomplete-result" data-index="{{ index }}">
{# {% if airport_fullname %}<div>{{ airport_fullname|safe }}</div>{% endif %}#}
<div class="autocomplete-location">{{ name }} / {{ country__name }}</div>
<img src="{{ MEDIA_URL }}{{ country__flag }}" alt="{{ country__name }}" />
</div>