diff --git a/README.md b/README.md index a017ed31c601..2fea6f93728d 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ addon | version | maintainers | summary [web_form_banner](web_form_banner/) | 18.0.1.0.0 | | Web Form Banner [web_group_expand](web_group_expand/) | 18.0.1.0.1 | | Group Expand Buttons [web_ir_actions_act_multi](web_ir_actions_act_multi/) | 18.0.1.0.0 | | Enables triggering of more than one action on ActionManager -[web_ir_actions_act_window_message](web_ir_actions_act_window_message/) | 18.0.1.0.0 | | Show a message box to users +[web_ir_actions_act_window_message](web_ir_actions_act_window_message/) | 18.0.1.0.1 | | Show a message box to users [web_m2x_options](web_m2x_options/) | 18.0.1.0.1 | | web_m2x_options [web_no_bubble](web_no_bubble/) | 18.0.1.0.0 | | Remove the bubbles from the web interface [web_notify](web_notify/) | 18.0.1.1.1 | | Send notification messages to user @@ -54,7 +54,7 @@ addon | version | maintainers | summary [web_send_message_popup](web_send_message_popup/) | 18.0.1.0.0 | | Web Send Message as Popup [web_session_auto_close](web_session_auto_close/) | 18.0.1.0.1 | | Automatically logs out inactive users based on a configurable timeout. [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.0.0 | legalsylvain | Contrasted style on fields to improve the UI. +[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_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 @@ -66,6 +66,7 @@ addon | version | maintainers | summary [web_widget_one2many_tree_line_duplicate](web_widget_one2many_tree_line_duplicate/) | 18.0.1.0.0 | | Web Widget One2many Tree Line Duplicate [web_widget_open_tab](web_widget_open_tab/) | 18.0.1.0.0 | | Allow to open record from trees on new tab from tree views [web_widget_popover](web_widget_popover/) | 18.0.1.0.0 | ivantodorovich | Render an icon that displays the field content in a popover +[web_widget_product_label_section_and_note_full_label](web_widget_product_label_section_and_note_full_label/) | 18.0.1.0.0 | | Display the full label in the product_label_section_and_note widget. [web_widget_product_label_section_and_note_name_visibility](web_widget_product_label_section_and_note_name_visibility/) | 18.0.1.0.1 | carlos-lopez-tecnativa | Alternate the visibility of the product and description. [web_widget_url_advanced](web_widget_url_advanced/) | 18.0.1.0.0 | | This module extends URL widget for displaying anchors with custom labels. [web_widget_x2many_2d_matrix](web_widget_x2many_2d_matrix/) | 18.0.2.0.2 | JasminSForgeFlow DavidJForgeFlow hbrunn | Show list fields as a matrix diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index 278f6846d4cf..6aad87e3803a 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "odoo-addons-oca-web" -version = "18.0.20251104.0" +version = "18.0.20251117.0" dependencies = [ "odoo-addon-web_calendar_slot_duration==18.0.*", "odoo-addon-web_chatter_position==18.0.*", @@ -47,6 +47,7 @@ dependencies = [ "odoo-addon-web_widget_one2many_tree_line_duplicate==18.0.*", "odoo-addon-web_widget_open_tab==18.0.*", "odoo-addon-web_widget_popover==18.0.*", + "odoo-addon-web_widget_product_label_section_and_note_full_label==18.0.*", "odoo-addon-web_widget_product_label_section_and_note_name_visibility==18.0.*", "odoo-addon-web_widget_url_advanced==18.0.*", "odoo-addon-web_widget_x2many_2d_matrix==18.0.*", diff --git a/web_chatter_position/i18n/ca.po b/web_chatter_position/i18n/ca.po index 32b14096cbae..42e05ea598ad 100644 --- a/web_chatter_position/i18n/ca.po +++ b/web_chatter_position/i18n/ca.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -26,11 +31,6 @@ msgstr "Abaix" msgid "Chatter Position" msgstr "Posició del chatter" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Responsiu" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -40,3 +40,6 @@ msgstr "Al costat" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Usuari/ària" + +#~ msgid "Responsive" +#~ msgstr "Responsiu" diff --git a/web_chatter_position/i18n/de.po b/web_chatter_position/i18n/de.po index 2e8b93f07977..d69e0da20a8f 100644 --- a/web_chatter_position/i18n/de.po +++ b/web_chatter_position/i18n/de.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -26,11 +31,6 @@ msgstr "Unten" msgid "Chatter Position" msgstr "Chatter-Position" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Responsiv" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -40,3 +40,6 @@ msgstr "Seitlich" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Benutzer" + +#~ msgid "Responsive" +#~ msgstr "Responsiv" diff --git a/web_chatter_position/i18n/es.po b/web_chatter_position/i18n/es.po index b617d1100827..5690913f9f1b 100644 --- a/web_chatter_position/i18n/es.po +++ b/web_chatter_position/i18n/es.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -26,11 +31,6 @@ msgstr "Abajo" msgid "Chatter Position" msgstr "Posición del historial de comunicación" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Adaptativo" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -40,3 +40,6 @@ msgstr "Lateral" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Usuario" + +#~ msgid "Responsive" +#~ msgstr "Adaptativo" diff --git a/web_chatter_position/i18n/fr.po b/web_chatter_position/i18n/fr.po index 3e1076c82061..a6a31dca3bdd 100644 --- a/web_chatter_position/i18n/fr.po +++ b/web_chatter_position/i18n/fr.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.14.1\n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -26,11 +31,6 @@ msgstr "En bas" msgid "Chatter Position" msgstr "Position du Chatter" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Automatique" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -40,3 +40,6 @@ msgstr "A droite" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Utilisateur" + +#~ msgid "Responsive" +#~ msgstr "Automatique" diff --git a/web_chatter_position/i18n/fr_BE.po b/web_chatter_position/i18n/fr_BE.po index 9a3fe441941b..a8834e44c912 100644 --- a/web_chatter_position/i18n/fr_BE.po +++ b/web_chatter_position/i18n/fr_BE.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.10.4\n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -26,11 +31,6 @@ msgstr "En bas" msgid "Chatter Position" msgstr "Position du Chatter" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Adaptatif" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -40,3 +40,6 @@ msgstr "Sur le côté" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Utilisateur" + +#~ msgid "Responsive" +#~ msgstr "Adaptatif" diff --git a/web_chatter_position/i18n/hr.po b/web_chatter_position/i18n/hr.po index d1cf4969d8d4..378cfe389539 100644 --- a/web_chatter_position/i18n/hr.po +++ b/web_chatter_position/i18n/hr.po @@ -17,6 +17,11 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.14.1\n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -27,11 +32,6 @@ msgstr "Na dnu" msgid "Chatter Position" msgstr "Pozicija razgovora" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Responzivno" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -41,3 +41,6 @@ msgstr "Sa strane" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Korisnik" + +#~ msgid "Responsive" +#~ msgstr "Responzivno" diff --git a/web_chatter_position/i18n/it.po b/web_chatter_position/i18n/it.po index 512ec51e32a3..bc1ceb5e906b 100644 --- a/web_chatter_position/i18n/it.po +++ b/web_chatter_position/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-27 11:34+0000\n" +"PO-Revision-Date: 2025-11-17 09:42+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,7 +14,12 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.10.4\n" + +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "Automatico" #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom @@ -26,11 +31,6 @@ msgstr "In basso" msgid "Chatter Position" msgstr "Posizione conversazione" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Responsive" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -40,3 +40,6 @@ msgstr "Laterale" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Utente" + +#~ msgid "Responsive" +#~ msgstr "Responsive" diff --git a/web_chatter_position/i18n/nl.po b/web_chatter_position/i18n/nl.po index 4754101653d0..15b7c9ec0ab4 100644 --- a/web_chatter_position/i18n/nl.po +++ b/web_chatter_position/i18n/nl.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -26,11 +31,6 @@ msgstr "Onderkant" msgid "Chatter Position" msgstr "Chatter-positie" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Snel reagerend" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -40,3 +40,6 @@ msgstr "Zijdelings" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Gebruiker" + +#~ msgid "Responsive" +#~ msgstr "Snel reagerend" diff --git a/web_chatter_position/i18n/pt_BR.po b/web_chatter_position/i18n/pt_BR.po index ac311ba8d219..bdd436bba322 100644 --- a/web_chatter_position/i18n/pt_BR.po +++ b/web_chatter_position/i18n/pt_BR.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.17\n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -26,11 +31,6 @@ msgstr "Em Baixo" msgid "Chatter Position" msgstr "Posição da Conversa" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Responsivo" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -40,3 +40,6 @@ msgstr "Lateral" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Usuário" + +#~ msgid "Responsive" +#~ msgstr "Responsivo" diff --git a/web_chatter_position/i18n/tr.po b/web_chatter_position/i18n/tr.po index 82517e292985..88f30cdf87aa 100644 --- a/web_chatter_position/i18n/tr.po +++ b/web_chatter_position/i18n/tr.po @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.14.1\n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -26,11 +31,6 @@ msgstr "Alt" msgid "Chatter Position" msgstr "Sohbet Pozisyonu" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "Esnek" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" @@ -40,3 +40,6 @@ msgstr "" #: model:ir.model,name:web_chatter_position.model_res_users msgid "User" msgstr "Kullanıcı" + +#~ msgid "Responsive" +#~ msgstr "Esnek" diff --git a/web_chatter_position/i18n/web_chatter_position.pot b/web_chatter_position/i18n/web_chatter_position.pot index 325998ef5264..9df93c8884a2 100644 --- a/web_chatter_position/i18n/web_chatter_position.pot +++ b/web_chatter_position/i18n/web_chatter_position.pot @@ -13,6 +13,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: web_chatter_position +#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto +msgid "Automatic" +msgstr "" + #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__bottom msgid "Bottom" @@ -23,11 +28,6 @@ msgstr "" msgid "Chatter Position" msgstr "" -#. module: web_chatter_position -#: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__auto -msgid "Responsive" -msgstr "" - #. module: web_chatter_position #: model:ir.model.fields.selection,name:web_chatter_position.selection__res_users__chatter_position__sided msgid "Sided" diff --git a/web_chatter_position/models/res_users.py b/web_chatter_position/models/res_users.py index 3cfb7b7acfe2..5f7e374fc528 100644 --- a/web_chatter_position/models/res_users.py +++ b/web_chatter_position/models/res_users.py @@ -9,7 +9,7 @@ class ResUsers(models.Model): chatter_position = fields.Selection( [ - ("auto", "Responsive"), + ("auto", "Automatic"), ("bottom", "Bottom"), ("sided", "Sided"), ], @@ -22,4 +22,6 @@ def SELF_READABLE_FIELDS(self): @property def SELF_WRITEABLE_FIELDS(self): - return super().SELF_WRITEABLE_FIELDS + ["chatter_position"] + return super().SELF_WRITEABLE_FIELDS + [ + "chatter_position", + ] diff --git a/web_chatter_position/static/src/js/web_chatter_position.esm.js b/web_chatter_position/static/src/js/web_chatter_position.esm.js index 214705d3368c..7dc3a8d5450b 100644 --- a/web_chatter_position/static/src/js/web_chatter_position.esm.js +++ b/web_chatter_position/static/src/js/web_chatter_position.esm.js @@ -3,10 +3,10 @@ License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */ -import {FormCompiler} from "@web/views/form/form_compiler"; -import {patch} from "@web/core/utils/patch"; import {append, setAttributes} from "@web/core/utils/xml"; +import {FormCompiler} from "@web/views/form/form_compiler"; import {SIZES} from "@web/core/ui/ui_service"; +import {patch} from "@web/core/utils/patch"; patch(FormCompiler.prototype, { /** diff --git a/web_ir_actions_act_window_message/README.rst b/web_ir_actions_act_window_message/README.rst index 8bbf40165459..525daf58eb47 100644 --- a/web_ir_actions_act_window_message/README.rst +++ b/web_ir_actions_act_window_message/README.rst @@ -11,7 +11,7 @@ Client side message boxes !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:7ce537d4c262436ca7e2b131817ed046ba5a113a8bb31c56e077546948571918 + !! source digest: sha256:5c2d565425ab0fb785e7d32bb2b77aa1616c42e6ace4662ca78a3f069a6c6ec5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -122,6 +122,7 @@ Contributors - Ioan Galan (Studio73) - Abraham Anes (Studio73) - Miguel Gandia (Studio73) +- Sergio Martínez (Studio73) - `DynApps NV `__: - Koen Loodts diff --git a/web_ir_actions_act_window_message/__manifest__.py b/web_ir_actions_act_window_message/__manifest__.py index 0cfce8a88952..f58bec87e69e 100644 --- a/web_ir_actions_act_window_message/__manifest__.py +++ b/web_ir_actions_act_window_message/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Client side message boxes", - "version": "18.0.1.0.0", + "version": "18.0.1.0.1", "author": "Therp BV, " "ACSONE SA/NV, " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/web", "license": "AGPL-3", diff --git a/web_ir_actions_act_window_message/readme/CONTRIBUTORS.md b/web_ir_actions_act_window_message/readme/CONTRIBUTORS.md index ef72ec137efc..dcc775ef199e 100644 --- a/web_ir_actions_act_window_message/readme/CONTRIBUTORS.md +++ b/web_ir_actions_act_window_message/readme/CONTRIBUTORS.md @@ -4,6 +4,8 @@ - Ioan Galan (Studio73) \<\> - Abraham Anes (Studio73) \<\> - Miguel Gandia (Studio73) \<\> +- Sergio Martínez (Studio73) \<\> - [DynApps NV](https://www.dynapps.be): - Koen Loodts - Raf Ven + diff --git a/web_ir_actions_act_window_message/static/description/index.html b/web_ir_actions_act_window_message/static/description/index.html index 78cf10e74592..e51456114ccc 100644 --- a/web_ir_actions_act_window_message/static/description/index.html +++ b/web_ir_actions_act_window_message/static/description/index.html @@ -372,7 +372,7 @@

Client side message boxes

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:7ce537d4c262436ca7e2b131817ed046ba5a113a8bb31c56e077546948571918 +!! source digest: sha256:5c2d565425ab0fb785e7d32bb2b77aa1616c42e6ace4662ca78a3f069a6c6ec5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module allows to show a message popup on the client side as result @@ -469,6 +469,7 @@

Contributors

  • Ioan Galan (Studio73) <ioan@studio73.es>
  • Abraham Anes (Studio73) <abraham@studio73.es>
  • Miguel Gandia (Studio73) <miguel@studio73.es>
  • +
  • Sergio Martínez (Studio73) <sergio.martinez@studio73.es>
  • DynApps NV:
    • Koen Loodts
    • Raf Ven
    • diff --git a/web_ir_actions_act_window_message/static/src/js/web_ir_actions_act_window_message.esm.js b/web_ir_actions_act_window_message/static/src/js/web_ir_actions_act_window_message.esm.js index 8be74551c6ea..510f48b82e5c 100644 --- a/web_ir_actions_act_window_message/static/src/js/web_ir_actions_act_window_message.esm.js +++ b/web_ir_actions_act_window_message/static/src/js/web_ir_actions_act_window_message.esm.js @@ -11,7 +11,6 @@ function openDialog({env, action}) { action: action, is_html_message: action.is_html_message, size: "md", - env: env, }); } diff --git a/web_ir_actions_act_window_message/static/src/js/web_ir_actions_act_window_msg_component.esm.js b/web_ir_actions_act_window_message/static/src/js/web_ir_actions_act_window_msg_component.esm.js index 1c72aa96370f..fbf4f010ec6c 100644 --- a/web_ir_actions_act_window_message/static/src/js/web_ir_actions_act_window_msg_component.esm.js +++ b/web_ir_actions_act_window_message/static/src/js/web_ir_actions_act_window_msg_component.esm.js @@ -1,9 +1,13 @@ import {Component, onWillStart, useState} from "@odoo/owl"; import {Dialog} from "@web/core/dialog/dialog"; import {_t} from "@web/core/l10n/translation"; +import {useService} from "@web/core/utils/hooks"; +import {router} from "@web/core/browser/router"; export class ActWindowMessageDialog extends Component { setup() { + this.orm = useService("orm"); + this.action = useService("action"); this.state = useState({ buttons: [], }); @@ -14,23 +18,28 @@ export class ActWindowMessageDialog extends Component { this.generateButtons(); } - _refreshWidget(env) { - const controller = env.services.action.currentController; - const state = env.services.router.current.hash; + _refreshWidget() { + const controller = this.action.currentController; + const state = router.current; const props = controller.props; - env.services.action.switchView(props.type, {resId: state.id}); + this.action + .switchView(props.type, { + resId: state.resId, + }) + .catch((err) => { + console.error("Error updating the view:", err); + window.location.reload(); + }); } generateButtons() { var self = this; const action = self.props.action; - const env = self.props.env; if (action.close_button_title !== false) { self.state.buttons.push({ name: action.close_button_title || _t("Close"), click: () => { - // Refresh the view before closing the dialog - self._refreshWidget(env); + self._refreshWidget(); self.props.close(); }, classes: "btn btn-default", @@ -43,23 +52,26 @@ export class ActWindowMessageDialog extends Component { classes: button.classes || "btn btn-default", click: () => { if (button.type === "method") { - env.services - .rpc("/web/dataset/call_button", { - model: button.model, - method: button.method, - args: button.args, - kwargs: button.kwargs, - }) - .then(function (result) { + self.orm + .call( + button.model, + button.method, + button.args, + button.kwargs + ) + .then((result) => { if (typeof result === "object") { - return env.services.action.doAction(result); + return self.action.doAction(result).then(() => { + self.props.close(); + }); } - self._refreshWidget(env); + self._refreshWidget(); }); } else { - return env.services.action.doAction(button); + return self.action.doAction(button).then(() => { + self.props.close(); + }); } - self.props.close(); }, }; self.state.buttons.push(button_data); @@ -82,7 +94,6 @@ ActWindowMessageDialog.props = { optional: true, }, action: {type: Object, optional: true}, - env: {type: Object, optional: true}, is_html_message: {type: Boolean, optional: true}, size: {type: String}, close: Function, diff --git a/web_theme_classic/README.rst b/web_theme_classic/README.rst index beeb235493fa..fd43959b27c1 100644 --- a/web_theme_classic/README.rst +++ b/web_theme_classic/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 Theme Classic ================= @@ -7,13 +11,13 @@ Web Theme Classic !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:1b800a69632539b70fb1f277ce587bb6d0aaf27d5c999eccf68b718217e8933f + !! source digest: sha256:27279023c56e7554295aea7c8e94ddad0c3cf9962ba5f11a6de4b8c1766e9e59 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github @@ -80,6 +84,9 @@ Contributors ------------ - Sylvain LE GAL (https://www.twitter.com/legalsylvain) +- `Pyxiris `__ + + - `Liam Noonan `__ Maintainers ----------- diff --git a/web_theme_classic/__manifest__.py b/web_theme_classic/__manifest__.py index b5c33105c2f5..3a44b3e23790 100644 --- a/web_theme_classic/__manifest__.py +++ b/web_theme_classic/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Theme Classic", "summary": "Contrasted style on fields to improve the UI.", - "version": "18.0.1.0.0", + "version": "18.0.1.1.0", "author": "GRAP, Odoo Community Association (OCA)", "maintainers": ["legalsylvain"], "website": "https://github.com/OCA/web", @@ -18,6 +18,13 @@ "web.assets_backend": [ "/web_theme_classic/static/src/scss/web_theme_classic.scss", ], + "web.assets_web_dark": [ + ( + "before", + "/web_theme_classic/static/src/scss/web_theme_classic.scss", + "/web_theme_classic/static/src/scss/web_theme_classic.dark.scss", + ), + ], }, "installable": True, "application": True, diff --git a/web_theme_classic/readme/CONTRIBUTORS.md b/web_theme_classic/readme/CONTRIBUTORS.md index 4a6b63400c13..8ed90851b587 100644 --- a/web_theme_classic/readme/CONTRIBUTORS.md +++ b/web_theme_classic/readme/CONTRIBUTORS.md @@ -1 +1,3 @@ - Sylvain LE GAL () +- [Pyxiris](https://github.com/Pyxiris) + - [Liam Noonan](https://github.com/ljmnoonan) diff --git a/web_theme_classic/static/description/index.html b/web_theme_classic/static/description/index.html index 581ad7ee48ab..ecd35f6a0d6a 100644 --- a/web_theme_classic/static/description/index.html +++ b/web_theme_classic/static/description/index.html @@ -3,7 +3,7 @@ -Web Theme Classic +README.rst -
      -

      Web Theme Classic

      +
      + + +Odoo Community Association + +
      +

      Web Theme Classic

      -

      Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

      +

      Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

      This module extend the Odoo Community Edition web module to improve visibility of form view.

      Rational: Since Odoo V17, the design is very pure. That’s great, but @@ -399,7 +404,7 @@

      Web Theme Classic

    -

    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 @@ -407,21 +412,25 @@

    Bug Tracker

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

    + diff --git a/web_theme_classic/static/src/scss/web_theme_classic.dark.scss b/web_theme_classic/static/src/scss/web_theme_classic.dark.scss new file mode 100644 index 000000000000..e867c23a3d57 --- /dev/null +++ b/web_theme_classic/static/src/scss/web_theme_classic.dark.scss @@ -0,0 +1,2 @@ +$wtc-input-border-color-focus: rgba($o-action, 0.5) !default; +$wtc-input-background-color-required: mix($o-action, transparent, 10) !default; diff --git a/web_theme_classic/static/src/scss/web_theme_classic.scss b/web_theme_classic/static/src/scss/web_theme_classic.scss index 426906e37ad6..c02f74187178 100644 --- a/web_theme_classic/static/src/scss/web_theme_classic.scss +++ b/web_theme_classic/static/src/scss/web_theme_classic.scss @@ -2,72 +2,111 @@ Variables ************************************************************/ -$input-border-color: #cccccc; -$input-border-color-focus: #71639e; -$input-background-color-required: #d2d2ff; -$input-color-placeholder-required: #6c757d; - -$button-border-color: #dee2e6; +/* The wtc prefix keeps these from conflicting with bootstrap vars*/ +$wtc-input-border-color: $o-gray-500 !default; +$wtc-input-border-color-focus: $o-community-color !default; +$wtc-input-color-required: $o-gray-900 !default; +// Note, it is very important that this be a mix with transparent! The reason is that the normal $o-input-bg +// is transparent and so some styles are built assuming this. The most notable examples are monetary fields +// which are set up like this: +//
    +//
    +// +// +// 0.00 +// +// +// +//
    +//
    +// So a non transparent background on the element blocks off the display. so it is much better to immitate $o-input-invalid-bg +// https://github.com/odoo/odoo/blob/18.0/addons/web/static/src/scss/primary_variables.scss#L170 +$wtc-input-background-color-required: mix(#0000ff, transparent, 10) !default; +$wtc-input-color-placeholder-required: #6c757d !default; /*********************************************************** - Form View : Handle Fields Borders + Handle Borders ************************************************************/ -.o_form_view { - .o_input, - .o_field_html > .note-editable { - /* Add border for all editable fields */ - border: 1px solid $input-border-color !important; - border-radius: 3px; - - /* add darker border on focus */ - &:focus { - border-color: $input-border-color-focus !important; - } - } - - .o_field_many2many_selection { - .o_input { - /* Prevent to have double border for many2many tags input fields */ - border: 0px solid !important; - } +/* Odoo sets this without consideration for nesting, as occurs with custom properties. + * https://github.com/odoo/odoo/blob/18.0/addons/web/static/src/views/fields/fields.scss#L36C1-L39C2 + * We fix that here. We also use our special toned down version of $o-action for full borders */ +.o_field_widget:focus-within { + &:has(.o_field_widget) { + @include print-variable(o-input-border-color, $wtc-input-border-color); + @include print-variable(o-caret-color, $input-color); } + @include print-variable(o-input-border-color, $wtc-input-border-color-focus); + @include print-variable(o-caret-color, $wtc-input-border-color-focus); +} - .o_field_monetary { - /* Prevent to have double border for monetary fields */ - .o_input { - border: 0px solid !important; - } +// https://github.com/odoo/odoo/blob/18.0/addons/web/static/src/views/fields/fields.scss#L50C1-L65C2 +.o_input { + border: $input-border-width solid var(--o-input-border-color); + border-radius: 3px; +} - #list_price_0 { - border: 1px solid $input-border-color !important; - border-radius: 3px; +// An odd case. The search input when adding a new user to an existing task from kanban +// https://github.com/odoo/odoo/blob/18.0/addons/web/static/src/views/fields/many2many_tags_avatar/many2many_tags_avatar_field.scss#L62C9-L62C55 +.o_m2m_tags_avatar_field_popover .o-autocomplete .o-autocomplete--input.o_input { + border-width: $input-border-width; + padding-left: $o-input-padding-x; +} - &:focus { - border-color: $input-border-color-focus !important; - } +// All these selectors are probably not necessary, but just following: +// https://github.com/odoo/odoo/blob/18.0/addons/web/static/src/views/fields/properties/properties_field.scss#L12C1-L45C2 +.o_field_properties, +.o_field_properties.o_field_invalid, +.o_property_field_popover { + .o_input:focus, + .dropdown:focus ~ .o_dropdown_button, + .dropdown:focus-within ~ .o_dropdown_button, + .o_input:focus ~ .o_datepicker_button, + .o_dropdown_button:focus { + @include print-variable(o-input-border-color, $wtc-input-border-color-focus); + * { + @include print-variable( + o-input-border-color, + $wtc-input-border-color-focus + ); } } } -/*********************************************************** - Form View : Handle Button Borders -************************************************************/ +// Give tag type custom properties input borders too. Note the code we are overriding +// https://github.com/odoo/odoo/blob/18.0/addons/web/static/src/views/fields/properties/property_value.scss#L43C1-L46C2 +.o_field_property_many2many_value:not(.readonly), +// https://github.com/odoo/odoo/blob/18.0/addons/web/static/src/views/fields/properties/property_tags.scss#L29C1-L32C2 +.o_field_property_tag:not(.readonly) { + border: $input-border-width solid var(--o-input-border-color); + border-radius: 3px; +} .o_form_view { - .btn-light { - border-color: $button-border-color; + /* Odoo sets borders to transparent unless hovered or focused. We override this. + * https://github.com/odoo/odoo/blob/18.0/addons/web/static/src/views/form/form_controller.scss#L202C1-L204C6 */ + &:not(.o_field_highlight) + .o_field_widget:not(.o_field_invalid):not(.o_field_highlight) + .o_input:not(:hover):not(:focus) { + --o-input-border-color: #{$wtc-input-border-color}; } - .btn-light { - &:hover { - border-color: $button-border-color; + /* Monetary fields need some special help */ + .o_field_monetary { + /* Prevent having double border for monetary fields */ + span.o_input:has(~ input.o_input) { + border: $input-border-width solid transparent !important; } - } - .o_input { - padding-left: 4px; - padding-right: 2px; + /* Keep the monetary symbol away from the border when it is outside the border */ + /* For when the symbol is on the left side */ + span.o_input + span.opacity-0 { + margin-right: 3px; + } + /* For when the symbol is on the right side */ + span.o_input ~ span.opacity-0:not(span.o_input + span.opacity-0) { + margin-left: 3px; + } } } @@ -75,32 +114,61 @@ $button-border-color: #dee2e6; Form View : Handle Background for required fields ************************************************************/ -.o_form_view { - .o_required_modifier:not(.o_readonly_modifier) { - .o_input { - /* Add background for all editable and required fields */ - background-color: $input-background-color-required !important; - - /* darker placeholder as the background is darker */ - &::placeholder { - color: $input-color-placeholder-required; - } - } - } - - .o_required_modifier.o_field_selection:not(.o_readonly_modifier) { - /* Specific case for field selection */ - background-color: $input-background-color-required !important; - } +// https://github.com/odoo/odoo/blob/18.0/addons/web/static/src/views/fields/fields.scss#L31C1-L34C2 +.o_required_modifier { + @include print-variable( + o-input-background-color, + $wtc-input-background-color-required + ); } /*********************************************************** - Tree View : Handle style for required fields + Tree View : Handle style for input fields ************************************************************/ -.o_list_renderer - .o_data_row.o_selected_row - > .o_data_cell.o_required_modifier:not(.o_readonly_modifier) { - /* Disable border bottom as the field has now a background */ - border-bottom: 0px solid; +// We override all lists, not just in forms +.o_list_renderer .o_data_row { + // Prevent item description from getting $wtc-input-background-color-required when row not in focus + &:not(.selected_row) .o_input { + background-color: initial; + } + &.o_selected_row > .o_data_cell { + &.o_required_modifier:not(.o_readonly_modifier), + &.o_invalid_cell:not(.o_readonly_modifier) { + /* Disable border bottom as the field has now a background */ + border-bottom: 0px; + } + > .o_field_widget { + // We have to manually reintroduce the input invalid styles + &.o_field_invalid:not(.o_readonly_modifier):not(.o_invisible_modifier):has( + .o_input + ) { + --o-input-background-color: #{$o-input-invalid-bg}; + .o_input { + --o-input-border-color: #{$o-danger}; + } + } + &:not(.o_readonly_modifier):not(.o_invisible_modifier) { + &.o_required_modifier:not(.o_field_invalid) { + .o_input { + color: $wtc-input-color-required; + --o-input-background-color: #{$wtc-input-background-color-required} !important; + background-color: var(--o-input-background-color) !important; + } + } + // Handle borders + .o_input { + border: $input-border-width solid var(--o-input-border-color) !important; + /* Prevent double borders in nested o_input like tags */ + .o_input { + border: 0 !important; + } + } + } + // Handle monetary fields in list + &.o_field_monetary span.o_input:has(~ input.o_input) { + border: $input-border-width solid transparent !important; + } + } + } } diff --git a/web_widget_product_label_section_and_note_full_label/README.rst b/web_widget_product_label_section_and_note_full_label/README.rst new file mode 100644 index 000000000000..7599d3f9d9e8 --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/README.rst @@ -0,0 +1,96 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +==================================================== +Web Widget Product Label Section And Note Full Label +==================================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:800a8d5a3a72c6a8ec12f04e78406df19c6ed203d8cbee0d6a4fe78bed776e7a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github + :target: https://github.com/OCA/web/tree/18.0/web_widget_product_label_section_and_note_full_label + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_widget_product_label_section_and_note_full_label + :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=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Always display the full label in the *product_label_section_and_note* +widget. + +When using this widget (usually on purchase order lines and invoice +lines) the name or description of the line is treated by this widget to +display only certain information from the name, in what is called the +label of the widget. + +More specifically, it removes the product name from the label (if +present), making it confusing in case you want to remove the actual +product name from the line description. + +With this module, yoy always see the full content of the line name or +description in the label section of the widget. Although it can contain +doubled information (for example, if the description of the line is +exactly the same as the product name), it makes the edition of the line +description more clear and user-friendly. + +**Table of contents** + +.. contents:: + :local: + +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 +------- + +* ForgeFlow + +Contributors +------------ + +- Laura Cazorla laura.cazorla@forgeflow.com + +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. + +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_widget_product_label_section_and_note_full_label/__init__.py b/web_widget_product_label_section_and_note_full_label/__init__.py new file mode 100644 index 000000000000..dd99292f2036 --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/__init__.py @@ -0,0 +1,2 @@ +# Copyright 2025 ForgeFlow S.L. (https://www.forgeflow.com) +# Part of ForgeFlow. See LICENSE file for full copyright and licensing details. diff --git a/web_widget_product_label_section_and_note_full_label/__manifest__.py b/web_widget_product_label_section_and_note_full_label/__manifest__.py new file mode 100644 index 000000000000..195d454e2dda --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2025 ForgeFlow S.L. (https://www.forgeflow.com) +# Part of ForgeFlow. See LICENSE file for full copyright and licensing details. + +{ + "name": "Web Widget Product Label Section And Note Full Label", + "summary": "Display the full label in the product_label_section_and_note widget.", + "version": "18.0.1.0.0", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/web", + "license": "AGPL-3", + "depends": ["account", "web"], + "assets": { + "web.assets_backend": [ + "web_widget_product_label_section_and_note_full_label/static/src/**/*.js", + "web_widget_product_label_section_and_note_full_label/static/src/**/*.xml", + ], + }, + "application": False, + "installable": True, +} diff --git a/web_widget_product_label_section_and_note_full_label/i18n/it.po b/web_widget_product_label_section_and_note_full_label/i18n/it.po new file mode 100644 index 000000000000..c0d5085374bd --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/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 18.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" diff --git a/web_widget_product_label_section_and_note_full_label/i18n/web_widget_product_label_section_and_note_full_label.pot b/web_widget_product_label_section_and_note_full_label/i18n/web_widget_product_label_section_and_note_full_label.pot new file mode 100644 index 000000000000..aadee09bfeda --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/i18n/web_widget_product_label_section_and_note_full_label.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 18.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" diff --git a/web_widget_product_label_section_and_note_full_label/pyproject.toml b/web_widget_product_label_section_and_note_full_label/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/web_widget_product_label_section_and_note_full_label/readme/CONTRIBUTORS.md b/web_widget_product_label_section_and_note_full_label/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..8510a90fdd21 --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Laura Cazorla diff --git a/web_widget_product_label_section_and_note_full_label/readme/DESCRIPTION.md b/web_widget_product_label_section_and_note_full_label/readme/DESCRIPTION.md new file mode 100644 index 000000000000..42455cd534b1 --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/readme/DESCRIPTION.md @@ -0,0 +1,15 @@ +Always display the full label in the *product_label_section_and_note* widget. + +When using this widget (usually on purchase order lines and invoice lines) the +name or description of the line is treated by this widget to display only +certain information from the name, in what is called the label of the widget. + +More specifically, it removes the product name from the label (if present), +making it confusing in case you want to remove the actual product name from +the line description. + +With this module, yoy always see the full content of the line name or +description in the label section of the widget. Although it can contain doubled +information (for example, if the description of the line is exactly the same as +the product name), it makes the edition of the line description more clear and +user-friendly. diff --git a/web_widget_product_label_section_and_note_full_label/static/description/icon.png b/web_widget_product_label_section_and_note_full_label/static/description/icon.png new file mode 100644 index 000000000000..1dcc49c24f36 Binary files /dev/null and b/web_widget_product_label_section_and_note_full_label/static/description/icon.png differ diff --git a/web_widget_product_label_section_and_note_full_label/static/description/index.html b/web_widget_product_label_section_and_note_full_label/static/description/index.html new file mode 100644 index 000000000000..d74ed2815916 --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/static/description/index.html @@ -0,0 +1,442 @@ + + + + + +README.rst + + + +
    + + + +Odoo Community Association + +
    +

    Web Widget Product Label Section And Note Full Label

    + +

    Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

    +

    Always display the full label in the product_label_section_and_note +widget.

    +

    When using this widget (usually on purchase order lines and invoice +lines) the name or description of the line is treated by this widget to +display only certain information from the name, in what is called the +label of the widget.

    +

    More specifically, it removes the product name from the label (if +present), making it confusing in case you want to remove the actual +product name from the line description.

    +

    With this module, yoy always see the full content of the line name or +description in the label section of the widget. Although it can contain +doubled information (for example, if the description of the line is +exactly the same as the product name), it makes the edition of the line +description more clear and user-friendly.

    +

    Table of contents

    + +
    +

    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

    +
      +
    • ForgeFlow
    • +
    +
    + +
    +

    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.

    +

    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_widget_product_label_section_and_note_full_label/static/src/product_label_section_and_note_field/product_label_section_and_note_field.esm.js b/web_widget_product_label_section_and_note_full_label/static/src/product_label_section_and_note_field/product_label_section_and_note_field.esm.js new file mode 100644 index 000000000000..cd7e23d06127 --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/static/src/product_label_section_and_note_field/product_label_section_and_note_field.esm.js @@ -0,0 +1,14 @@ +/* Copyright 2025 ForgeFlow S.L. + * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */ + +import {ProductLabelSectionAndNoteField} from "@account/components/product_label_section_and_note_field/product_label_section_and_note_field"; +import {patch} from "@web/core/utils/patch"; + +patch(ProductLabelSectionAndNoteField.prototype, { + get label() { + return this.props.record.data.name; + }, + updateLabel(value) { + this.props.record.update({name: (!value && this.productName) || value}); + }, +}); diff --git a/web_widget_product_label_section_and_note_full_label/static/src/product_label_section_and_note_field/product_label_section_and_note_field.xml b/web_widget_product_label_section_and_note_full_label/static/src/product_label_section_and_note_field/product_label_section_and_note_field.xml new file mode 100644 index 000000000000..737f9b8f3de4 --- /dev/null +++ b/web_widget_product_label_section_and_note_full_label/static/src/product_label_section_and_note_field/product_label_section_and_note_field.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + +