From ffd039ee8424ee1aabe4d84932730f8ea0f8caa4 Mon Sep 17 00:00:00 2001 From: AHIDev Date: Thu, 25 Jul 2024 19:21:15 +0400 Subject: [PATCH 1/2] [SOLVED] time zone issue --- .../static/src/js/web_hijri_date.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/odex25_base/web_hijri_datepicker/static/src/js/web_hijri_date.js b/odex25_base/web_hijri_datepicker/static/src/js/web_hijri_date.js index cb574fbcc..2335cf797 100644 --- a/odex25_base/web_hijri_datepicker/static/src/js/web_hijri_date.js +++ b/odex25_base/web_hijri_datepicker/static/src/js/web_hijri_date.js @@ -2,9 +2,9 @@ odoo.define('web_hijri_datepicker.datepicker', function (require) { var core = require('web.core'); var datepicker = require('web.datepicker'); + var field_utils = require('web.field_utils'); var time = require('web.time'); var FieldDate = require('web.basic_fields').FieldDate; - var _t = core._t; var hijriMonths = { @@ -83,7 +83,7 @@ odoo.define('web_hijri_datepicker.datepicker', function (require) { }); var jd = $.calendars.instance('islamic').toJD(parseInt(date[0].year()), parseInt(date[0].month()), parseInt(date[0].day())); var formatted_date = $.calendars.instance('gregorian').fromJD(jd); - var date_value = moment(time.str_to_date(formatted_date)).add(1, 'days'); + var date_value = moment(time.str_to_date(formatted_date)).tz(Intl.DateTimeFormat().resolvedOptions().timeZone).add(1, 'days'); this.setValue(this._parseClient(date_value)); this.trigger("datetime_changed"); @@ -109,16 +109,20 @@ odoo.define('web_hijri_datepicker.datepicker', function (require) { return this._super(); } }, + _formatClients: function (v) { + return field_utils.format[this.type_of_date](v, null, {timezone: true}); + }, }); + FieldDate.include({ _renderReadonly: function () { var self = this; this._super.apply(this, arguments); if (this.value) { - console.log('thiiiis', this) + window.dv = this.value; this.datewidget = this._makeDatePicker(); var $div = $('
'); - var value = this.value ? this.datewidget._formatClient(this.value) : ''; + var value = this.value ? this.datewidget._formatClients(this.value) : ''; var parsed_date = this.value ? this.datewidget._parseDate(this.value) : ''; var hijri_value = parsed_date ? this.datewidget._convertGregorianToHijri(parsed_date) : ''; $('
', { From fa3a6a7349d0206961d69dc464be77ff2411f7d6 Mon Sep 17 00:00:00 2001 From: AHIDev Date: Thu, 25 Jul 2024 19:24:42 +0400 Subject: [PATCH 2/2] [UPD] remove unnecessary code --- .../web_hijri_datepicker/static/src/js/web_hijri_date.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/odex25_base/web_hijri_datepicker/static/src/js/web_hijri_date.js b/odex25_base/web_hijri_datepicker/static/src/js/web_hijri_date.js index 2335cf797..da186b520 100644 --- a/odex25_base/web_hijri_datepicker/static/src/js/web_hijri_date.js +++ b/odex25_base/web_hijri_datepicker/static/src/js/web_hijri_date.js @@ -83,7 +83,7 @@ odoo.define('web_hijri_datepicker.datepicker', function (require) { }); var jd = $.calendars.instance('islamic').toJD(parseInt(date[0].year()), parseInt(date[0].month()), parseInt(date[0].day())); var formatted_date = $.calendars.instance('gregorian').fromJD(jd); - var date_value = moment(time.str_to_date(formatted_date)).tz(Intl.DateTimeFormat().resolvedOptions().timeZone).add(1, 'days'); + var date_value = moment(time.str_to_date(formatted_date)).add(1, 'days'); this.setValue(this._parseClient(date_value)); this.trigger("datetime_changed"); @@ -113,7 +113,7 @@ odoo.define('web_hijri_datepicker.datepicker', function (require) { return field_utils.format[this.type_of_date](v, null, {timezone: true}); }, }); - + FieldDate.include({ _renderReadonly: function () { var self = this;