From 3d6fb389379d69ba3650244e12fbe0d250a474f5 Mon Sep 17 00:00:00 2001 From: SDE Date: Fri, 12 Jul 2024 21:07:07 +0300 Subject: [PATCH] 1.6.2 parsing timezones --- ReferenceDataApp/admin.py | 10 +++++++++- ReferenceDataApp/models.py | 5 +++++ RoutesApp/js_views.py | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ReferenceDataApp/admin.py b/ReferenceDataApp/admin.py index 147ff45..b696571 100644 --- a/ReferenceDataApp/admin.py +++ b/ReferenceDataApp/admin.py @@ -32,6 +32,14 @@ class Admin_Country(Admin_Trans_BaseModel): admin.site.register(Country, Admin_Country) class Admin_City(Admin_Trans_BaseModel): + + def cur_dt(self, obj): + if obj.timezone: + return obj.get_current_datetime() + else: + return '-' + cur_dt.short_description = 'текущее время' + fieldsets = [ [None, { 'classes': ['wide'], @@ -52,7 +60,7 @@ class Admin_City(Admin_Trans_BaseModel): list_display = [ 'id', 'name', 'name_en', 'name_ru', 'country', - 'timezone', + 'timezone', 'cur_dt', 'enable', 'area_id', 'parsing_finished_DT', 'order', 'modifiedDT', 'createDT'] search_fields = ['id', 'name_en', 'name_ru', 'country__name'] diff --git a/ReferenceDataApp/models.py b/ReferenceDataApp/models.py index dc7aa7f..50944f4 100644 --- a/ReferenceDataApp/models.py +++ b/ReferenceDataApp/models.py @@ -1,6 +1,8 @@ +import pytz from django.db import models from BaseModels.base_models import BaseModel from django.utils.translation import gettext_lazy as _ +from datetime import datetime class Country(BaseModel): international_name = models.CharField(max_length=250, verbose_name=_('Международное название'), blank=True, null=True) @@ -58,6 +60,9 @@ class City(BaseModel): else: return f'{self.id}' + def get_current_datetime(self): + return datetime.now(tz=pytz.timezone(self.timezone)) + def get_country_n_city_str(self): country = _('Неизвестно') city = self.name diff --git a/RoutesApp/js_views.py b/RoutesApp/js_views.py index e3d3fbc..60125e4 100644 --- a/RoutesApp/js_views.py +++ b/RoutesApp/js_views.py @@ -258,6 +258,7 @@ def find_routes_ajax(request): if 'errors' in routes_Dict: return JsonResponse(routes_Dict, status=400) + if routes_Dict['routes']: html = render_to_string('blocks/b_search_routes.html', routes_Dict, request=request) else: