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: for item in objs_wo_tz:
item.get_n_save_timezone() item.get_n_save_timezone()
res_data = City.objects.filter(id__in=ids).values( 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) return list(res_data)

View File

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

View File

@@ -27,15 +27,15 @@ def get_profile_new_route_page_html(request, data):
errors_off = True errors_off = True
if 'from_address_point' in data: # if 'from_address_point' in data:
del data['from_address_point'] # del data['from_address_point']
if 'from_address_point_txt' in data: # if 'from_address_point_txt' in data:
del data['from_address_point_txt'] # del data['from_address_point_txt']
#
if 'to_address_point' in data: # if 'to_address_point' in data:
del data['to_address_point'] # del data['to_address_point']
if 'to_address_point_txt' in data: # if 'to_address_point_txt' in data:
del data['to_address_point_txt'] # del data['to_address_point_txt']
# if data['type_transport'] == 'avia': # 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 }}"> <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 %} {# {% if airport_fullname %}<div>{{ airport_fullname|safe }}</div>{% endif %}#}
<div class="autocomplete-location">{{ city_name }} / {{ country_name }}</div> <div class="autocomplete-location">{{ name }} / {{ country__name }}</div>
<img src="{{ MEDIA_URL }}{{ country__flag }}" alt="{{ country__name }}" />
</div> </div>