У меня есть пользовательская модель для Leave Module, и я использую наследование, устанавливающее даты по умолчанию в этой форме:
class HolidaysUpdated(models.Model):
_inherit = 'hr.holidays'
def _default_zero(self):
today = datetime.now()
user_time_zone = pytz.timezone(self.env.user.partner_id.tz)
hour_zero_for_user = user_time_zone.localize(datetime(today.year, today.month, today.day, 0, 0, 0))
hour_zero_utc = hour_zero_for_user.astimezone(utc_time_zone)
return datetime(year=hour_zero_utc.year, month=hour_zero_utc.month, day=hour_zero_utc.day, hour=hour_zero_utc.hour, minute=hour_zero_utc.minute, second=hour_zero_utc.second)
def _default_final(self):
today = datetime.now()
user_time_zone = pytz.timezone(self.env.user.partner_id.tz)
hour_final_for_user = user_time_zone.localize(datetime(today.year, today.month, today.day, 23, 59, 59))
hour_final_utc = hour_final_for_user.astimezone(utc_time_zone)
return datetime(year=hour_final_utc.year, month=hour_final_utc.month, day=hour_final_utc.day, hour=hour_final_utc.hour, minute=hour_final_utc.minute, second=hour_final_utc.second)
date_from = fields.Datetime('Start Date', readonly=True, index=True, copy=False,
states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]},
default=_default_zero)
date_to = fields.Datetime('End Date', readonly=True, copy=False,
states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]},
default=_default_final)
Это работает для представления форм (т.е. в «Сводке листьев» вкнопка «Создать»), потому что покажите, т. е. с 12/02/2019 00:00:00 до 02/02/2019 23:59:59, но когда я пытаюсь использовать представление календаря в «Личном кабинете» или «Запросе листьев», я нажимаю день и«модальное представление» показать другой час 12.02.2009 с 07:00:00 до 12/02/2019 19: 00: 00.
Просмотр моей формы:
Просмотр моего календаря:
Я не понимаю проблему, поскольку считаю, что наследование должно влиятьвсе просмотры.