From 87c9a526f1729d4cc05b58420d395876889f045d Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Fri, 22 Dec 2023 13:38:36 +0000 Subject: [PATCH 01/10] [ADD] web_touchscreen: enable kanban sub-form views for tablets This module prefers kanban sub-form views when using a tablet, or any other device with a touch screen, no matter its size. @moduon MT-4472 --- web_touchscreen/README.rst | 130 +++++ web_touchscreen/__init__.py | 0 web_touchscreen/__manifest__.py | 22 + web_touchscreen/readme/CONTEXT.md | 9 + web_touchscreen/readme/CONTRIBUTORS.md | 1 + web_touchscreen/readme/CREDITS.md | 3 + web_touchscreen/readme/DESCRIPTION.md | 2 + web_touchscreen/readme/ROADMAP.md | 3 + web_touchscreen/readme/USAGE.md | 4 + web_touchscreen/static/description/icon.png | Bin 0 -> 9455 bytes web_touchscreen/static/description/index.html | 470 ++++++++++++++++++ .../static/src/form_controller.esm.js | 21 + 12 files changed, 665 insertions(+) create mode 100644 web_touchscreen/README.rst create mode 100644 web_touchscreen/__init__.py create mode 100644 web_touchscreen/__manifest__.py create mode 100644 web_touchscreen/readme/CONTEXT.md create mode 100644 web_touchscreen/readme/CONTRIBUTORS.md create mode 100644 web_touchscreen/readme/CREDITS.md create mode 100644 web_touchscreen/readme/DESCRIPTION.md create mode 100644 web_touchscreen/readme/ROADMAP.md create mode 100644 web_touchscreen/readme/USAGE.md create mode 100644 web_touchscreen/static/description/icon.png create mode 100644 web_touchscreen/static/description/index.html create mode 100644 web_touchscreen/static/src/form_controller.esm.js diff --git a/web_touchscreen/README.rst b/web_touchscreen/README.rst new file mode 100644 index 000000000000..37c1378ac178 --- /dev/null +++ b/web_touchscreen/README.rst @@ -0,0 +1,130 @@ +=============== +Web Touchscreen +=============== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:e5b59e225d718b18262fbc8a0da3408dc0fd5523eaf421014865f22d3ab9b5e1 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github + :target: https://github.com/OCA/web/tree/16.0/web_touchscreen + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_touchscreen + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module prefers kanban sub-form views when using a tablet, or any +other device with a touch screen, no matter its size. + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Use Cases / Context +=================== + +This module was developed because Odoo optimizes views only for mobile +or desktop, but forgets about tablets. + +It will be useful for you if you usually use a tablet. + +If you need this module for those reasons, these might interest you too: + +- ``web_widget_numeric_step`` +- OCA's ``web_responsive``, or the Odoo EE alternative + ``web_enterprise`` (closed source). + +Usage +===== + +To use this module, you need to: + +1. Use a tablet. +2. Go to any form that contains a sub-view which can be optimized for + mobile. + +Known issues / Roadmap +====================== + +- Enable more mobile UI enhancements for tablets as they seem relevant. +- Allow setting per user or per session, with sane defaults. Just in + case you happen to use a tablet with a mouse. + +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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Moduon + +Contributors +------------ + +- Jairo Llopis (`Moduon `__) + +Other credits +------------- + +The development of this module has been financially supported by: + +- Moduon Team S.L. + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://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. + +.. |maintainer-yajo| image:: https://github.com/yajo.png?size=40px + :target: https://github.com/yajo + :alt: yajo +.. |maintainer-rafaelbn| image:: https://github.com/rafaelbn.png?size=40px + :target: https://github.com/rafaelbn + :alt: rafaelbn + +Current `maintainers `__: + +|maintainer-yajo| |maintainer-rafaelbn| + +This module is part of the `OCA/web `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_touchscreen/__init__.py b/web_touchscreen/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/web_touchscreen/__manifest__.py b/web_touchscreen/__manifest__.py new file mode 100644 index 000000000000..10e568c4f6e1 --- /dev/null +++ b/web_touchscreen/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2023 Moduon Team S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) + +{ + "name": "Web Touchscreen", + "summary": "UX improvements for touch screens", + "version": "16.0.1.0.0", + "development_status": "Alpha", + "category": "Extra Tools", + "website": "https://github.com/OCA/web", + "author": "Moduon, Odoo Community Association (OCA)", + "maintainers": ["yajo", "rafaelbn"], + "license": "LGPL-3", + "application": False, + "installable": True, + "depends": ["web"], + "assets": { + "web.assets_backend": [ + "web_touchscreen/static/src/**/*", + ], + }, +} diff --git a/web_touchscreen/readme/CONTEXT.md b/web_touchscreen/readme/CONTEXT.md new file mode 100644 index 000000000000..a2465de1e3e8 --- /dev/null +++ b/web_touchscreen/readme/CONTEXT.md @@ -0,0 +1,9 @@ +This module was developed because Odoo optimizes views only for mobile or desktop, but +forgets about tablets. + +It will be useful for you if you usually use a tablet. + +If you need this module for those reasons, these might interest you too: + +- `web_widget_numeric_step` +- OCA's `web_responsive`, or the Odoo EE alternative `web_enterprise` (closed source). diff --git a/web_touchscreen/readme/CONTRIBUTORS.md b/web_touchscreen/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..ad3bdb21555a --- /dev/null +++ b/web_touchscreen/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Jairo Llopis ([Moduon](https://www.moduon.team/)) diff --git a/web_touchscreen/readme/CREDITS.md b/web_touchscreen/readme/CREDITS.md new file mode 100644 index 000000000000..98d1eaf17f77 --- /dev/null +++ b/web_touchscreen/readme/CREDITS.md @@ -0,0 +1,3 @@ +The development of this module has been financially supported by: + +- Moduon Team S.L. diff --git a/web_touchscreen/readme/DESCRIPTION.md b/web_touchscreen/readme/DESCRIPTION.md new file mode 100644 index 000000000000..ed6039761036 --- /dev/null +++ b/web_touchscreen/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module prefers kanban sub-form views when using a tablet, or any other +device with a touch screen, no matter its size. diff --git a/web_touchscreen/readme/ROADMAP.md b/web_touchscreen/readme/ROADMAP.md new file mode 100644 index 000000000000..cb971ce7a79c --- /dev/null +++ b/web_touchscreen/readme/ROADMAP.md @@ -0,0 +1,3 @@ +- Enable more mobile UI enhancements for tablets as they seem relevant. +- Allow setting per user or per session, with sane defaults. Just in case you happen to + use a tablet with a mouse. diff --git a/web_touchscreen/readme/USAGE.md b/web_touchscreen/readme/USAGE.md new file mode 100644 index 000000000000..e3fd621276e1 --- /dev/null +++ b/web_touchscreen/readme/USAGE.md @@ -0,0 +1,4 @@ +To use this module, you need to: + +1. Use a tablet. +1. Go to any form that contains a sub-view which can be optimized for mobile. diff --git a/web_touchscreen/static/description/icon.png b/web_touchscreen/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/web_touchscreen/static/description/index.html b/web_touchscreen/static/description/index.html new file mode 100644 index 000000000000..900c7a5d3ebd --- /dev/null +++ b/web_touchscreen/static/description/index.html @@ -0,0 +1,470 @@ + + + + + + +Web Touchscreen + + + +
+

Web Touchscreen

+ + +

Alpha License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

This module prefers kanban sub-form views when using a tablet, or any +other device with a touch screen, no matter its size.

+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+
+

Table of contents

+ +
+

Use Cases / Context

+

This module was developed because Odoo optimizes views only for mobile +or desktop, but forgets about tablets.

+

It will be useful for you if you usually use a tablet.

+

If you need this module for those reasons, these might interest you too:

+
    +
  • web_widget_numeric_step
  • +
  • OCA’s web_responsive, or the Odoo EE alternative +web_enterprise (closed source).
  • +
+
+
+

Usage

+

To use this module, you need to:

+
    +
  1. Use a tablet.
  2. +
  3. Go to any form that contains a sub-view which can be optimized for +mobile.
  4. +
+
+
+

Known issues / Roadmap

+
    +
  • Enable more mobile UI enhancements for tablets as they seem relevant.
  • +
  • Allow setting per user or per session, with sane defaults. Just in +case you happen to use a tablet with a mouse.
  • +
+
+
+

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 to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Moduon
  • +
+
+
+

Contributors

+ +
+
+

Other credits

+

The development of this module has been financially supported by:

+
    +
  • Moduon Team S.L.
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

Current maintainers:

+

yajo rafaelbn

+

This module is part of the OCA/web project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/web_touchscreen/static/src/form_controller.esm.js b/web_touchscreen/static/src/form_controller.esm.js new file mode 100644 index 000000000000..e4e7c1b86610 --- /dev/null +++ b/web_touchscreen/static/src/form_controller.esm.js @@ -0,0 +1,21 @@ +/** @odoo-module **/ +/* Copyright 2023 Moduon Team S.L. + * License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) */ + +import {FormController} from "@web/views/form/form_controller"; +import {patch} from "@web/core/utils/patch"; +import {hasTouch} from "@web/core/browser/feature_detection"; + +patch(FormController.prototype, "web_touchscreen.FormController", { + setup() { + const wasSmall = this.env.isSmall; + // Create a new env that extends the original one but overrides the way + // Odoo considers this device small: it will be small if it has touch + // capabilities, not only if the screen is small. In practice, this + // will make the inline subforms prefer the kanban mode if possible. + const newEnv = {isSmall: wasSmall || hasTouch()}; + Object.setPrototypeOf(newEnv, this.env); + this.env = newEnv; + return this._super(...arguments); + }, +}); From a61ede9760a22f6d7d8a848fdf2194fa106211e4 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 27 Dec 2023 14:40:39 +0000 Subject: [PATCH 02/10] [UPD] Update web_touchscreen.pot --- web_touchscreen/i18n/web_touchscreen.pot | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 web_touchscreen/i18n/web_touchscreen.pot diff --git a/web_touchscreen/i18n/web_touchscreen.pot b/web_touchscreen/i18n/web_touchscreen.pot new file mode 100644 index 000000000000..78d58d53fe07 --- /dev/null +++ b/web_touchscreen/i18n/web_touchscreen.pot @@ -0,0 +1,13 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" From dd743a66b6f60105b54f2b5352e151b0c562550e Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Tue, 9 Jan 2024 09:44:44 +0000 Subject: [PATCH 03/10] [DOCS] web_touchscreen: add screenshot Follow suggestion from https://github.com/OCA/web/pull/2701#issuecomment-1870681682. @moduon MT-4472 --- web_touchscreen/README.rst | 15 ++++++++++++++- web_touchscreen/readme/DESCRIPTION.md | 10 ++++++++++ web_touchscreen/static/description/index.html | 19 ++++++++++++++++++- 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/web_touchscreen/README.rst b/web_touchscreen/README.rst index 37c1378ac178..d2ac332a2b83 100644 --- a/web_touchscreen/README.rst +++ b/web_touchscreen/README.rst @@ -7,7 +7,7 @@ Web Touchscreen !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:e5b59e225d718b18262fbc8a0da3408dc0fd5523eaf421014865f22d3ab9b5e1 + !! source digest: sha256:28be01a795f7908f83d483e97e274f5d5ae40909ca9d38d9685efba9c051b80a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png @@ -31,6 +31,19 @@ Web Touchscreen This module prefers kanban sub-form views when using a tablet, or any other device with a touch screen, no matter its size. +For example, these screenshots showcase a sale order in a tablet: + +=================== ================ +Without this module With this module +=================== ================ +|Before| |After| +=================== ================ + +.. |Before| image:: https://github.com/OCA/web/assets/973709/caa0be55-ec6b-45e8-af94-7492df08dfcc + :target: https://github.com/OCA/web/assets/973709/caa0be55-ec6b-45e8-af94-7492df08dfcc +.. |After| image:: https://github.com/OCA/web/assets/973709/345c1139-879d-4eb5-a828-786b1e3bc7b8 + :target: https://github.com/OCA/web/assets/973709/345c1139-879d-4eb5-a828-786b1e3bc7b8 + .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. diff --git a/web_touchscreen/readme/DESCRIPTION.md b/web_touchscreen/readme/DESCRIPTION.md index ed6039761036..85995ba131aa 100644 --- a/web_touchscreen/readme/DESCRIPTION.md +++ b/web_touchscreen/readme/DESCRIPTION.md @@ -1,2 +1,12 @@ This module prefers kanban sub-form views when using a tablet, or any other device with a touch screen, no matter its size. + +For example, these screenshots showcase a sale order in a tablet: + +| Without this module | With this module | +| --------------------- | ------------------- | +| [![Before][]][Before] | [![After][]][After] | + + +[Before]: https://github.com/OCA/web/assets/973709/caa0be55-ec6b-45e8-af94-7492df08dfcc +[After]: https://github.com/OCA/web/assets/973709/345c1139-879d-4eb5-a828-786b1e3bc7b8 diff --git a/web_touchscreen/static/description/index.html b/web_touchscreen/static/description/index.html index 900c7a5d3ebd..287bbec42d62 100644 --- a/web_touchscreen/static/description/index.html +++ b/web_touchscreen/static/description/index.html @@ -367,11 +367,28 @@

Web Touchscreen

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:e5b59e225d718b18262fbc8a0da3408dc0fd5523eaf421014865f22d3ab9b5e1 +!! source digest: sha256:28be01a795f7908f83d483e97e274f5d5ae40909ca9d38d9685efba9c051b80a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Alpha License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module prefers kanban sub-form views when using a tablet, or any other device with a touch screen, no matter its size.

+

For example, these screenshots showcase a sale order in a tablet:

+ ++++ + + + + + + + + + + +
Without this moduleWith this module
BeforeAfter

Important

This is an alpha version, the data model and design can change at any time without warning. From 0f8e5e575a8de076a5bb89d67b27c708df6d2098 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 9 Jan 2024 10:48:00 +0000 Subject: [PATCH 04/10] [BOT] post-merge updates --- web_touchscreen/README.rst | 2 +- web_touchscreen/__manifest__.py | 2 +- web_touchscreen/static/description/index.html | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/web_touchscreen/README.rst b/web_touchscreen/README.rst index d2ac332a2b83..3349fcb4b9cb 100644 --- a/web_touchscreen/README.rst +++ b/web_touchscreen/README.rst @@ -7,7 +7,7 @@ Web Touchscreen !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:28be01a795f7908f83d483e97e274f5d5ae40909ca9d38d9685efba9c051b80a + !! source digest: sha256:a0270c68e618f1a89a7b032ff47bfb6ac062745155eec81fbe042bc25b9d3fac !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png diff --git a/web_touchscreen/__manifest__.py b/web_touchscreen/__manifest__.py index 10e568c4f6e1..7068038c7b97 100644 --- a/web_touchscreen/__manifest__.py +++ b/web_touchscreen/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Web Touchscreen", "summary": "UX improvements for touch screens", - "version": "16.0.1.0.0", + "version": "16.0.1.0.1", "development_status": "Alpha", "category": "Extra Tools", "website": "https://github.com/OCA/web", diff --git a/web_touchscreen/static/description/index.html b/web_touchscreen/static/description/index.html index 287bbec42d62..34461e6d4922 100644 --- a/web_touchscreen/static/description/index.html +++ b/web_touchscreen/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

Web Touchscreen

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:28be01a795f7908f83d483e97e274f5d5ae40909ca9d38d9685efba9c051b80a +!! source digest: sha256:a0270c68e618f1a89a7b032ff47bfb6ac062745155eec81fbe042bc25b9d3fac !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Alpha License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module prefers kanban sub-form views when using a tablet, or any From 8238eb6719dbae686f404bfa73e0fa84224eae86 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 19 Jan 2024 07:25:21 +0000 Subject: [PATCH 05/10] Added translation using Weblate (Italian) --- web_touchscreen/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 web_touchscreen/i18n/it.po diff --git a/web_touchscreen/i18n/it.po b/web_touchscreen/i18n/it.po new file mode 100644 index 000000000000..73388557f6d5 --- /dev/null +++ b/web_touchscreen/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" From cf887f12f582cde249e2cdc0cfca537a6d4ef286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germ=C3=A1n=20Bernabeu?= Date: Fri, 14 Nov 2025 11:07:35 +0100 Subject: [PATCH 06/10] [IMP] web_touchscreen: pre-commit auto fixes --- web_touchscreen/pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 web_touchscreen/pyproject.toml diff --git a/web_touchscreen/pyproject.toml b/web_touchscreen/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_touchscreen/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" From 6cd0857f5739d5a7e84c39081a2047379069f343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bet=C3=BCl=20=C3=96=C4=9Fmen?= Date: Thu, 27 Nov 2025 12:01:41 +0000 Subject: [PATCH 07/10] Added translation using Weblate (Turkish) --- web_dialog_size/i18n/tr.po | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 web_dialog_size/i18n/tr.po diff --git a/web_dialog_size/i18n/tr.po b/web_dialog_size/i18n/tr.po new file mode 100644 index 000000000000..ed674c86b27c --- /dev/null +++ b/web_dialog_size/i18n/tr.po @@ -0,0 +1,20 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dialog_size +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: web_dialog_size +#: model:ir.model,name:web_dialog_size.model_ir_config_parameter +msgid "System Parameter" +msgstr "" From 266e04447fc80cfb9c6f6ad20f99dad84636ce7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germ=C3=A1n=20Bernabeu?= Date: Mon, 17 Nov 2025 11:22:48 +0100 Subject: [PATCH 08/10] [MIG][18.0] web_touchscreen: Migration to 18 MT-11823 --- web_touchscreen/README.rst | 32 ++++++++----------- web_touchscreen/__manifest__.py | 4 +-- web_touchscreen/readme/CONTRIBUTORS.md | 1 + web_touchscreen/readme/CREDITS.md | 3 -- web_touchscreen/static/description/index.html | 30 ++++++++--------- web_touchscreen/static/src/fields.esm.js | 29 +++++++++++++++++ .../static/src/form_controller.esm.js | 21 ------------ 7 files changed, 57 insertions(+), 63 deletions(-) delete mode 100644 web_touchscreen/readme/CREDITS.md create mode 100644 web_touchscreen/static/src/fields.esm.js delete mode 100644 web_touchscreen/static/src/form_controller.esm.js diff --git a/web_touchscreen/README.rst b/web_touchscreen/README.rst index 3349fcb4b9cb..9e401959875c 100644 --- a/web_touchscreen/README.rst +++ b/web_touchscreen/README.rst @@ -17,13 +17,13 @@ Web Touchscreen :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github - :target: https://github.com/OCA/web/tree/16.0/web_touchscreen + :target: https://github.com/OCA/web/tree/18.0/web_touchscreen :alt: OCA/web .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_touchscreen + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_touchscreen :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -64,9 +64,9 @@ It will be useful for you if you usually use a tablet. If you need this module for those reasons, these might interest you too: -- ``web_widget_numeric_step`` -- OCA's ``web_responsive``, or the Odoo EE alternative - ``web_enterprise`` (closed source). +- ``web_widget_numeric_step`` +- OCA's ``web_responsive``, or the Odoo EE alternative + ``web_enterprise`` (closed source). Usage ===== @@ -80,9 +80,9 @@ To use this module, you need to: Known issues / Roadmap ====================== -- Enable more mobile UI enhancements for tablets as they seem relevant. -- Allow setting per user or per session, with sane defaults. Just in - case you happen to use a tablet with a mouse. +- Enable more mobile UI enhancements for tablets as they seem relevant. +- Allow setting per user or per session, with sane defaults. Just in + case you happen to use a tablet with a mouse. Bug Tracker =========== @@ -90,7 +90,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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -105,14 +105,8 @@ Authors Contributors ------------ -- Jairo Llopis (`Moduon `__) - -Other credits -------------- - -The development of this module has been financially supported by: - -- Moduon Team S.L. +- Jairo Llopis (`Moduon `__) +- David Vidal (`Moduon `__) Maintainers ----------- @@ -138,6 +132,6 @@ Current `maintainers `__: |maintainer-yajo| |maintainer-rafaelbn| -This module is part of the `OCA/web `_ project on GitHub. +This module is part of the `OCA/web `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_touchscreen/__manifest__.py b/web_touchscreen/__manifest__.py index 7068038c7b97..4ab5ff5e2a9a 100644 --- a/web_touchscreen/__manifest__.py +++ b/web_touchscreen/__manifest__.py @@ -4,15 +4,13 @@ { "name": "Web Touchscreen", "summary": "UX improvements for touch screens", - "version": "16.0.1.0.1", + "version": "18.0.1.0.0", "development_status": "Alpha", "category": "Extra Tools", "website": "https://github.com/OCA/web", "author": "Moduon, Odoo Community Association (OCA)", "maintainers": ["yajo", "rafaelbn"], "license": "LGPL-3", - "application": False, - "installable": True, "depends": ["web"], "assets": { "web.assets_backend": [ diff --git a/web_touchscreen/readme/CONTRIBUTORS.md b/web_touchscreen/readme/CONTRIBUTORS.md index ad3bdb21555a..dd452c4b6216 100644 --- a/web_touchscreen/readme/CONTRIBUTORS.md +++ b/web_touchscreen/readme/CONTRIBUTORS.md @@ -1 +1,2 @@ - Jairo Llopis ([Moduon](https://www.moduon.team/)) +- David Vidal ([Moduon](https://www.moduon.team/)) diff --git a/web_touchscreen/readme/CREDITS.md b/web_touchscreen/readme/CREDITS.md deleted file mode 100644 index 98d1eaf17f77..000000000000 --- a/web_touchscreen/readme/CREDITS.md +++ /dev/null @@ -1,3 +0,0 @@ -The development of this module has been financially supported by: - -- Moduon Team S.L. diff --git a/web_touchscreen/static/description/index.html b/web_touchscreen/static/description/index.html index 34461e6d4922..1ac58de156d0 100644 --- a/web_touchscreen/static/description/index.html +++ b/web_touchscreen/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -368,7 +369,7 @@

Web Touchscreen

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:a0270c68e618f1a89a7b032ff47bfb6ac062745155eec81fbe042bc25b9d3fac !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Alpha License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

Alpha License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module prefers kanban sub-form views when using a tablet, or any other device with a touch screen, no matter its size.

For example, these screenshots showcase a sale order in a tablet:

@@ -404,8 +405,7 @@

Web Touchscreen

  • Credits
  • @@ -444,7 +444,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 to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -459,25 +459,21 @@

    Authors

    Contributors

    -
    -
    -

    Other credits

    -

    The development of this module has been financially supported by:

    -
      -
    • Moduon Team S.L.
    • +
    • David Vidal (Moduon)
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +Odoo Community Association +

    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.

    Current maintainers:

    yajo rafaelbn

    -

    This module is part of the OCA/web project on GitHub.

    +

    This module is part of the OCA/web project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    diff --git a/web_touchscreen/static/src/fields.esm.js b/web_touchscreen/static/src/fields.esm.js new file mode 100644 index 000000000000..5beb5cc14a52 --- /dev/null +++ b/web_touchscreen/static/src/fields.esm.js @@ -0,0 +1,29 @@ +import {Field} from "@web/views/fields/field"; +import {hasTouch} from "@web/core/browser/feature_detection"; +import {patch} from "@web/core/utils/patch"; +import {utils} from "@web/core/ui/ui_service"; + +patch(Field, { + /** + * @override + * Whenever a x2many field loads a list we want to force the kanban view over the + * list one if both options are available and a touchscreen is being used. + */ + parseFieldNode(node) { + const fieldInfo = super.parseFieldNode(...arguments); + // If it's small, it's already handled in super. If the viewMode is already + // kanban, there's no need to do anything. And the same goes for no touch + // devices. + if (utils.isSmall() || fieldInfo.viewMode === "kanban" || !hasTouch()) { + return fieldInfo; + } + const viewMode = node.getAttribute("mode"); + const kanban_is_optional = + (viewMode && viewMode.split(",").includes("kanban")) || + (fieldInfo.views?.list && fieldInfo.views?.kanban); + if (fieldInfo.viewMode === "list" && kanban_is_optional) { + fieldInfo.viewMode = "kanban"; + } + return fieldInfo; + }, +}); diff --git a/web_touchscreen/static/src/form_controller.esm.js b/web_touchscreen/static/src/form_controller.esm.js deleted file mode 100644 index e4e7c1b86610..000000000000 --- a/web_touchscreen/static/src/form_controller.esm.js +++ /dev/null @@ -1,21 +0,0 @@ -/** @odoo-module **/ -/* Copyright 2023 Moduon Team S.L. - * License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0) */ - -import {FormController} from "@web/views/form/form_controller"; -import {patch} from "@web/core/utils/patch"; -import {hasTouch} from "@web/core/browser/feature_detection"; - -patch(FormController.prototype, "web_touchscreen.FormController", { - setup() { - const wasSmall = this.env.isSmall; - // Create a new env that extends the original one but overrides the way - // Odoo considers this device small: it will be small if it has touch - // capabilities, not only if the screen is small. In practice, this - // will make the inline subforms prefer the kanban mode if possible. - const newEnv = {isSmall: wasSmall || hasTouch()}; - Object.setPrototypeOf(newEnv, this.env); - this.env = newEnv; - return this._super(...arguments); - }, -}); From e59d786d63c9ee5bdf14cbe75e03e598eeeebfbf Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 1 Dec 2025 12:35:05 +0000 Subject: [PATCH 09/10] [UPD] Update web_touchscreen.pot --- web_touchscreen/i18n/web_touchscreen.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_touchscreen/i18n/web_touchscreen.pot b/web_touchscreen/i18n/web_touchscreen.pot index 78d58d53fe07..aadee09bfeda 100644 --- a/web_touchscreen/i18n/web_touchscreen.pot +++ b/web_touchscreen/i18n/web_touchscreen.pot @@ -3,7 +3,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" From e9d3c78489e971835bab12c80971dea1c0dc5d84 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 1 Dec 2025 12:39:43 +0000 Subject: [PATCH 10/10] [BOT] post-merge updates --- README.md | 1 + setup/_metapackage/pyproject.toml | 3 +- web_touchscreen/README.rst | 8 +++-- web_touchscreen/static/description/index.html | 32 +++++++++++-------- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 9674feef1db0..e8f14f78109e 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ addon | version | maintainers | summary [web_systray_button_init_action](web_systray_button_init_action/) | 18.0.1.0.2 | | Add a button to go to the user init action. [web_theme_classic](web_theme_classic/) | 18.0.1.1.0 | legalsylvain | Contrasted style on fields to improve the UI. [web_timeline](web_timeline/) | 18.0.1.0.1 | tarteo | Interactive visualization chart to show events in time +[web_touchscreen](web_touchscreen/) | 18.0.1.0.0 | yajo rafaelbn | UX improvements for touch screens [web_tree_dynamic_colored_field](web_tree_dynamic_colored_field/) | 18.0.1.0.1 | | Allows you to dynamically color fields on tree views [web_tree_many2one_clickable](web_tree_many2one_clickable/) | 18.0.1.0.1 | | Open the linked resource when clicking on their name [web_widget_bokeh_chart](web_widget_bokeh_chart/) | 18.0.1.0.1 | LoisRForgeFlow JasminSForgeFlow | This widget allows to display charts using Bokeh library. diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index 8bdd7c2188f0..cd8c8ce8d4aa 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "odoo-addons-oca-web" -version = "18.0.20251121.0" +version = "18.0.20251201.0" dependencies = [ "odoo-addon-web_calendar_slot_duration==18.0.*", "odoo-addon-web_chatter_position==18.0.*", @@ -38,6 +38,7 @@ dependencies = [ "odoo-addon-web_systray_button_init_action==18.0.*", "odoo-addon-web_theme_classic==18.0.*", "odoo-addon-web_timeline==18.0.*", + "odoo-addon-web_touchscreen==18.0.*", "odoo-addon-web_tree_dynamic_colored_field==18.0.*", "odoo-addon-web_tree_many2one_clickable==18.0.*", "odoo-addon-web_widget_bokeh_chart==18.0.*", diff --git a/web_touchscreen/README.rst b/web_touchscreen/README.rst index 9e401959875c..f64e15cb822c 100644 --- a/web_touchscreen/README.rst +++ b/web_touchscreen/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + =============== Web Touchscreen =============== @@ -7,13 +11,13 @@ Web Touchscreen !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:a0270c68e618f1a89a7b032ff47bfb6ac062745155eec81fbe042bc25b9d3fac + !! source digest: sha256:112ec2050fedfe73c26285522f19b32b55988139474fb52cc81db70dd053aa03 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png :target: https://odoo-community.org/page/development-status :alt: Alpha -.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github diff --git a/web_touchscreen/static/description/index.html b/web_touchscreen/static/description/index.html index 1ac58de156d0..b7b5ae29c816 100644 --- a/web_touchscreen/static/description/index.html +++ b/web_touchscreen/static/description/index.html @@ -3,7 +3,7 @@ -Web Touchscreen +README.rst -
    -

    Web Touchscreen

    +
    + + +Odoo Community Association + +
    +

    Web Touchscreen

    -

    Alpha License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    +

    Alpha License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    This module prefers kanban sub-form views when using a tablet, or any other device with a touch screen, no matter its size.

    For example, these screenshots showcase a sale order in a tablet:

    @@ -411,7 +416,7 @@

    Web Touchscreen

    -

    Use Cases / Context

    +

    Use Cases / Context

    This module was developed because Odoo optimizes views only for mobile or desktop, but forgets about tablets.

    It will be useful for you if you usually use a tablet.

    @@ -423,7 +428,7 @@

    Use Cases / Context

    -

    Usage

    +

    Usage

    To use this module, you need to:

    1. Use a tablet.
    2. @@ -432,7 +437,7 @@

      Usage

    -

    Known issues / Roadmap

    +

    Known issues / Roadmap

    • Enable more mobile UI enhancements for tablets as they seem relevant.
    • Allow setting per user or per session, with sane defaults. Just in @@ -440,7 +445,7 @@

      Known issues / Roadmap

    -

    Bug Tracker

    +

    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 to smash it by providing a detailed and welcomed @@ -448,22 +453,22 @@

    Bug Tracker

    Do not contact contributors directly about support or help with technical issues.

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Moduon
    -

    Contributors

    +

    Contributors

    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -478,5 +483,6 @@

    Maintainers

    +