From 2ab92a6f58e4d26efc406fbf57e40a691010738a Mon Sep 17 00:00:00 2001 From: SimoRubi Date: Thu, 10 Jun 2021 11:13:33 +0200 Subject: [PATCH] [ADD] web_widget_char_size --- .../odoo/addons/web_widget_char_size | 1 + setup/web_widget_char_size/setup.py | 6 ++++++ web_widget_char_size/__init__.py | 1 + web_widget_char_size/__manifest__.py | 17 +++++++++++++++++ web_widget_char_size/readme/DESCRIPTION.rst | 11 +++++++++++ .../static/src/js/char_widget.js | 16 ++++++++++++++++ web_widget_char_size/views/assets.xml | 19 +++++++++++++++++++ 7 files changed, 71 insertions(+) create mode 120000 setup/web_widget_char_size/odoo/addons/web_widget_char_size create mode 100644 setup/web_widget_char_size/setup.py create mode 100644 web_widget_char_size/__init__.py create mode 100644 web_widget_char_size/__manifest__.py create mode 100644 web_widget_char_size/readme/DESCRIPTION.rst create mode 100644 web_widget_char_size/static/src/js/char_widget.js create mode 100644 web_widget_char_size/views/assets.xml diff --git a/setup/web_widget_char_size/odoo/addons/web_widget_char_size b/setup/web_widget_char_size/odoo/addons/web_widget_char_size new file mode 120000 index 000000000..abd6fe84b --- /dev/null +++ b/setup/web_widget_char_size/odoo/addons/web_widget_char_size @@ -0,0 +1 @@ +../../../../web_widget_char_size \ No newline at end of file diff --git a/setup/web_widget_char_size/setup.py b/setup/web_widget_char_size/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/web_widget_char_size/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/web_widget_char_size/__init__.py b/web_widget_char_size/__init__.py new file mode 100644 index 000000000..7af42f99f --- /dev/null +++ b/web_widget_char_size/__init__.py @@ -0,0 +1 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). diff --git a/web_widget_char_size/__manifest__.py b/web_widget_char_size/__manifest__.py new file mode 100644 index 000000000..626c09854 --- /dev/null +++ b/web_widget_char_size/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2021 Simone Rubino - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Widget Char size", + "summary": "Add size option to Char widget", + "version": "14.0.1.0.0", + "category": "Hidden", + "website": "https://github.com/OCA/web", + "author": "Agile Business Group, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": [ + "web", + ], + "data": [ + "views/assets.xml", + ], +} diff --git a/web_widget_char_size/readme/DESCRIPTION.rst b/web_widget_char_size/readme/DESCRIPTION.rst new file mode 100644 index 000000000..afdfd0a79 --- /dev/null +++ b/web_widget_char_size/readme/DESCRIPTION.rst @@ -0,0 +1,11 @@ +This module allows to add an option `size` to Char fields in web client: + +.. code-block:: XML + + + +that allows to enter only the specified number of characters in the field. + +Note that adding the `size=` attribute in Char field definition raises the following warning: + + unknown parameter 'size', if this is an actual parameter you may want to override the method _valid_field_parameter on the relevant model in order to allow it diff --git a/web_widget_char_size/static/src/js/char_widget.js b/web_widget_char_size/static/src/js/char_widget.js new file mode 100644 index 000000000..9315f3ecc --- /dev/null +++ b/web_widget_char_size/static/src/js/char_widget.js @@ -0,0 +1,16 @@ +odoo.define("web_widget_char_size.char_widget", function (require) { + "use strict"; + + var BasicFields = require("web.basic_fields"); + + BasicFields.FieldChar.include({ + _renderEdit: function () { + var def = this._super.apply(this, arguments); + var option_size = this.nodeOptions.size; + if (option_size && option_size > 0) { + this.$el.attr("maxlength", option_size); + } + return def; + }, + }); +}); diff --git a/web_widget_char_size/views/assets.xml b/web_widget_char_size/views/assets.xml new file mode 100644 index 000000000..04961071d --- /dev/null +++ b/web_widget_char_size/views/assets.xml @@ -0,0 +1,19 @@ + + + +