Browse Source

[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
pull/924/head
Luis González 6 years ago
parent
commit
c704912955
  1. 22
      web_widget_datepicker_options/README.rst
  2. 22
      web_widget_datepicker_options/__init__.py
  3. 38
      web_widget_datepicker_options/__manifest__.py
  4. 35
      web_widget_datepicker_options/static/src/js/datepicker.js
  5. 10
      web_widget_datepicker_options/view/qweb.xml
  6. 12
      web_widget_datepicker_options/views/assets.xml

22
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
<http://api.jqueryui.com/datepicker/>`_.
@ -17,7 +17,7 @@ Usage
You must pass all options through the "datepicker" field in the options::
...
<field name="date" options="{'datepicker':{'yearRange': 'c-100:c+0'}}"/>
<field name="date" options="{'datepicker': {'yearRange': 'c-100:c+0'}}"/>
...
Known issues / Roadmap
@ -32,7 +32,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/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 <https://github.com/OCA/web/issues/new?body=module:%20web_widget_datepicker_options%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`here <https://github.com/OCA/web/issues/new?body=module:%20web_widget_datepicker_options%0Aversion:%2011.0.1.0.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
@ -43,17 +43,21 @@ Contributors
* Vincent Vinet <vincent.vinet@savoirfairelinux.com>
* Yanina Aular <yanina.aular@vauxoo.com>
* Luis González <lgonzalez@vauxoo.com>
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.

22
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
# (<http://www.savoirfairelinux.com>).
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

38
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
# (<http://www.savoirfairelinux.com>).
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
# 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,
}

35
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
(<http://www.savoirfairelinux.com>).
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 <http://www.gnu.org/licenses/>.
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);
}
},
});

10
web_widget_datepicker_options/view/qweb.xml

@ -1,10 +0,0 @@
<openerp>
<data>
<template id="assets_backend" name="web_widget_datepicker_options assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/web_widget_datepicker_options/static/src/js/datepicker.js"></script>
</xpath>
</template>
</data>
</openerp>

12
web_widget_datepicker_options/views/assets.xml

@ -0,0 +1,12 @@
<odoo>
<template id="assets_backend"
name="web_widget_datepicker_optionsassets"
inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript"
src="/web_widget_datepicker_options/static/src/js/datepicker.js"></script>
</xpath>
</template>
</odoo>
Loading…
Cancel
Save