From c7049129558726694b142ab4ee95b667d978131e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Gonz=C3=A1lez?= Date: Mon, 28 May 2018 01:52:27 +0000 Subject: [PATCH] [FIX] web_widget_datepicker_options: Apply fixes after migration to v11 This applies some changes to the module after migration, to conform new guidelines and conventions for version 11.0. In addition, this applies the following fixes: - The widged didn't work when the field was a `datetime` due to a typo in a JS conditional - Replaced `Object.assign()` -> `_.assign()` to improve browser-compatibility --- web_widget_datepicker_options/README.rst | 22 ++++++----- web_widget_datepicker_options/__init__.py | 22 +---------- web_widget_datepicker_options/__manifest__.py | 38 +++++-------------- .../static/src/js/datepicker.js | 35 +++++++---------- web_widget_datepicker_options/view/qweb.xml | 10 ----- .../views/assets.xml | 12 ++++++ 6 files changed, 49 insertions(+), 90 deletions(-) delete mode 100644 web_widget_datepicker_options/view/qweb.xml create mode 100644 web_widget_datepicker_options/views/assets.xml diff --git a/web_widget_datepicker_options/README.rst b/web_widget_datepicker_options/README.rst index aae7b04f..ff79a340 100644 --- a/web_widget_datepicker_options/README.rst +++ b/web_widget_datepicker_options/README.rst @@ -1,11 +1,11 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :alt: License: AGPL-3 Datepicker Widget Options ========================= This module allows passing options to the jquery datepicker for fields that use -the datepicker widget. The option are passed as-is and are not validated. +the datepicker widget. Options are passed as they are, without any validation. To see all supported options, see the `API documentation `_. @@ -17,7 +17,7 @@ Usage You must pass all options through the "datepicker" field in the options:: ... - + ... Known issues / Roadmap @@ -32,7 +32,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback -`here `_. +`here `_. Credits @@ -43,17 +43,21 @@ Contributors * Vincent Vinet * Yanina Aular +* Luis González + +Do not contact contributors directly about support or help with technical issues. Maintainer ---------- -.. image:: http://odoo-community.org/logo.png +.. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association - :target: http://odoo-community.org + :target: https://odoo-community.org This module is maintained by the OCA. -OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. - -To contribute to this module, please visit http://odoo-community.org. +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. +To contribute to this module, please visit https://odoo-community.org. diff --git a/web_widget_datepicker_options/__init__.py b/web_widget_datepicker_options/__init__.py index 5daf7468..d9d1f13d 100644 --- a/web_widget_datepicker_options/__init__.py +++ b/web_widget_datepicker_options/__init__.py @@ -1,21 +1 @@ -# -*- encoding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2015 Savoir-faire Linux -# (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/web_widget_datepicker_options/__manifest__.py b/web_widget_datepicker_options/__manifest__.py index 40522db8..6cec5651 100644 --- a/web_widget_datepicker_options/__manifest__.py +++ b/web_widget_datepicker_options/__manifest__.py @@ -1,37 +1,19 @@ -# -*- encoding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2015 Savoir-faire Linux -# (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - "name": 'web_widget_datepicker_options', + "name": "Web widget datepicker options", + "summary": "Enhance customization for datepicker widgets", "version": "11.0.1.0.0", + "category": "Web", + "author": "Vincent Vinet, " + "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/web", "license": "AGPL-3", "depends": [ - 'base', - 'web', + "web", ], "data": [ - 'view/qweb.xml', + "views/assets.xml", ], - "author": "Vincent Vinet, " - "Odoo Community Association (OCA)", - 'installable': True, + "installable": True, } diff --git a/web_widget_datepicker_options/static/src/js/datepicker.js b/web_widget_datepicker_options/static/src/js/datepicker.js index ecd585ab..6e714a16 100644 --- a/web_widget_datepicker_options/static/src/js/datepicker.js +++ b/web_widget_datepicker_options/static/src/js/datepicker.js @@ -1,20 +1,5 @@ /* - OpenERP, Open Source Management Solution - This module copyright (C) 2015 Savoir-faire Linux - (). - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . +License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */ odoo.define('web_widget_datepicker_options.datepicker', function(require) { @@ -24,9 +9,12 @@ odoo.define('web_widget_datepicker_options.datepicker', function(require) { Widget.DateWidget.include({ init: function() { this._super.apply(this, arguments); - if(typeof this.__parentedParent !== 'undefined' && this.__parentedParent.field.type === 'date' && this.__parentedParent.nodeOptions){ - var datepicker = this.__parentedParent.nodeOptions.datepicker; - Object.assign(this.options, datepicker); + var parent = this.getParent(); + if(typeof parent !== 'undefined' + && parent.field.type === 'date' + && parent.nodeOptions){ + var datepicker = parent.nodeOptions.datepicker; + _.assign(this.options, datepicker); } }, }); @@ -34,9 +22,12 @@ odoo.define('web_widget_datepicker_options.datepicker', function(require) { Widget.DateTimeWidget.include({ init: function() { this._super.apply(this, arguments); - if(typeof this.__parentedParent !== 'undefined' && this.__parentedParent.field.type === 'date' && this.__parentedParent.nodeOptions){ - var datepicker = this.__parentedParent.nodeOptions.datepicker; - Object.assign(this.options, datepicker); + var parent = this.getParent(); + if(typeof parent !== 'undefined' + && parent.field.type === 'datetime' + && parent.nodeOptions){ + var datepicker = parent.nodeOptions.datepicker; + _.assign(this.options, datepicker); } }, }); diff --git a/web_widget_datepicker_options/view/qweb.xml b/web_widget_datepicker_options/view/qweb.xml deleted file mode 100644 index 9921348d..00000000 --- a/web_widget_datepicker_options/view/qweb.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/web_widget_datepicker_options/views/assets.xml b/web_widget_datepicker_options/views/assets.xml new file mode 100644 index 00000000..1959b9b5 --- /dev/null +++ b/web_widget_datepicker_options/views/assets.xml @@ -0,0 +1,12 @@ + + + + +