diff --git a/setup/web_widget_color/odoo_addons/__init__.py b/setup/web_widget_color/odoo_addons/__init__.py new file mode 100644 index 00000000..de40ea7c --- /dev/null +++ b/setup/web_widget_color/odoo_addons/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) diff --git a/setup/web_widget_color/odoo_addons/web_widget_color b/setup/web_widget_color/odoo_addons/web_widget_color new file mode 120000 index 00000000..76692066 --- /dev/null +++ b/setup/web_widget_color/odoo_addons/web_widget_color @@ -0,0 +1 @@ +../../../web_widget_color \ No newline at end of file diff --git a/setup/web_widget_color/setup.py b/setup/web_widget_color/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/web_widget_color/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/web_widget_color/README.rst b/web_widget_color/README.rst index a163f899..5cf105a9 100644 --- a/web_widget_color/README.rst +++ b/web_widget_color/README.rst @@ -27,12 +27,6 @@ Features |listview| -Requirements -============ - -This module has been ported to 8.0 - - Usage ===== @@ -87,6 +81,7 @@ Contributors ------------ * Adil Houmadi +* Nicolas JEUDY (Sudokeys) Maintainer ---------- diff --git a/web_widget_color/__init__.py b/web_widget_color/__init__.py index c18661e9..ec51c5a2 100644 --- a/web_widget_color/__init__.py +++ b/web_widget_color/__init__.py @@ -1,25 +1,2 @@ -# -*- encoding: utf-8 -*- -############################################################################ +# -*- coding: utf-8 -*- # -# Odoo, Open Source Web Color -# Copyright (C) 2012 Savoir-faire Linux (). -# Copyright (C) 2014 Anybox -# Copyright (C) 2015 Taktik SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU 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 General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# @author Étienne Beaudry Auger -# @author Adil Houmadi -# -############################################################################## diff --git a/web_widget_color/__openerp__.py b/web_widget_color/__openerp__.py index 2a20bfaf..3f2298bf 100644 --- a/web_widget_color/__openerp__.py +++ b/web_widget_color/__openerp__.py @@ -1,35 +1,18 @@ -# -*- encoding: utf-8 -*- -############################################################################ -# +# -*- coding: utf-8 -*- # Odoo, Open Source Web Widget Color # Copyright (C) 2012 Savoir-faire Linux (). # Copyright (C) 2014 Anybox # Copyright (C) 2015 Taktik SA # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU 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 General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# @author Étienne Beaudry Auger -# @author Adil Houmadi -# -############################################################################## +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).# { 'name': "Web Widget Color", 'category': "web", - 'version': "8.0.1.0.0", + 'version': "9.0.1.0.0", "author": "Savoir-faire Linux, " "Anybox, " "Taktik SA, " + "Sudokeys, " "Odoo Community Association (OCA)", 'depends': ['base', 'web'], 'data': [ @@ -38,7 +21,8 @@ 'qweb': [ 'static/src/xml/widget.xml', ], + 'license': 'AGPL-3', 'auto_install': False, - 'installable': False, + 'installable': True, 'web_preload': True, } diff --git a/web_widget_color/static/src/css/widget.css b/web_widget_color/static/src/css/widget.css index 06201af1..9a701ad1 100644 --- a/web_widget_color/static/src/css/widget.css +++ b/web_widget_color/static/src/css/widget.css @@ -21,3 +21,10 @@ top: 3px; width: 40px; } + +.color_box { + width: 10px; + height: 10px; + display: inline-block; + margin-right: 5px; +} diff --git a/web_widget_color/static/src/js/widget.js b/web_widget_color/static/src/js/widget.js index 44299752..548eb7a4 100644 --- a/web_widget_color/static/src/js/widget.js +++ b/web_widget_color/static/src/js/widget.js @@ -1,4 +1,12 @@ -openerp.web_widget_color = function (instance) { +odoo.define('web.web_widget_color', function(require) { + "use strict"; + + var core = require('web.core'); + var widget = require('web.form_widgets'); + var FormView = require('web.FormView'); + + var QWeb = core.qweb; + var _lt = core._lt; var _super_getDir = jscolor.getDir.prototype; jscolor.getDir = function () { @@ -9,11 +17,7 @@ openerp.web_widget_color = function (instance) { return jscolor.dir; }; - instance.web.form.widgets.add('color', 'instance.web.form.FieldColor'); - - instance.web.search.fields.add('color', 'instance.web.search.CharField'); - - instance.web.form.FieldColor = instance.web.form.FieldChar.extend({ + var FieldColor = widget.FieldChar.extend({ template: 'FieldColor', widget_class: 'oe_form_field_color', is_syntax_valid: function () { @@ -33,27 +37,48 @@ openerp.web_widget_color = function (instance) { } return true; }, + store_dom_value: function() { + if (!this.silent) { + if (!this.get('effective_readonly') && + this.$('input').val() !== '' && + this.is_syntax_valid()) { + // We use internal_set_value because we were called by + // ``.commit_value()`` which is called by a ``.set_value()`` + // itself called because of a ``onchange`` event + this.internal_set_value( + this.parse_value( + this.$('input').val()) + ); + } + } + }, render_value: function () { var show_value = this.format_value(this.get('value'), ''); if (!this.get("effective_readonly")) { var $input = this.$el.find('input'); $input.val(show_value); - $input.css("background-color", show_value) + $input.css("background-color", show_value); jscolor.init(this.$el[0]); } else { this.$(".oe_form_char_content").text(show_value); - this.$('div').css("background-color", show_value) + this.$('div').css("background-color", show_value); } } }); + core.form_widget_registry.add('color', FieldColor); + /* * Init jscolor for each editable mode on view form */ - instance.web.FormView.include({ + FormView.include({ to_edit_mode: function () { this._super(); jscolor.init(this.$el[0]); } }); -}; + + return { + FieldColor: FieldColor + }; +}); diff --git a/web_widget_color/static/src/xml/widget.xml b/web_widget_color/static/src/xml/widget.xml index c62ae1cf..82c043b4 100644 --- a/web_widget_color/static/src/xml/widget.xml +++ b/web_widget_color/static/src/xml/widget.xml @@ -19,6 +19,6 @@ -
+
diff --git a/web_widget_color/view/web_widget_color_view.xml b/web_widget_color/view/web_widget_color_view.xml index 7c2c8d0f..82300a00 100644 --- a/web_widget_color/view/web_widget_color_view.xml +++ b/web_widget_color/view/web_widget_color_view.xml @@ -1,12 +1,10 @@ - - - - - \ No newline at end of file + + +