From 556a3ccf6a8dd26235123966e82bf5f231bcbe2b Mon Sep 17 00:00:00 2001
From: Adam Heinz
Date: Fri, 20 Dec 2024 10:41:01 -0500
Subject: [PATCH] [MIG] web_widget_open_tab: Migration to 18.0
---
web_widget_open_tab/README.rst | 22 +++++++++----------
web_widget_open_tab/__manifest__.py | 2 +-
web_widget_open_tab/models/ir_ui_view.py | 10 ++++-----
.../static/description/index.html | 17 ++++++++------
web_widget_open_tab/tests/test_main.py | 6 ++---
5 files changed, 30 insertions(+), 27 deletions(-)
diff --git a/web_widget_open_tab/README.rst b/web_widget_open_tab/README.rst
index 03fa9ae8b..1f57aeff4 100644
--- a/web_widget_open_tab/README.rst
+++ b/web_widget_open_tab/README.rst
@@ -17,13 +17,13 @@ Widget Open on new Tab
: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/17.0/web_widget_open_tab
+ :target: https://github.com/OCA/web/tree/18.0/web_widget_open_tab
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/web-17-0/web-17-0-web_widget_open_tab
+ :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_widget_open_tab
: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=17.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|
@@ -58,7 +58,7 @@ exists, otherwise at the beginning of the tree.
Known issues / Roadmap
======================
-- Add many2one fields support.
+- Add many2one fields support.
Bug Tracker
===========
@@ -66,7 +66,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.
@@ -81,12 +81,12 @@ Authors
Contributors
------------
-- Enric Tobella
-- Raf Ven
-- Dhara Solanki
-- `Quartile `__:
+- Enric Tobella
+- Raf Ven
+- Dhara Solanki
+- `Quartile `__:
- - Aung Ko Ko Lin
+ - Aung Ko Ko Lin
Maintainers
-----------
@@ -101,6 +101,6 @@ 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.
+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_open_tab/__manifest__.py b/web_widget_open_tab/__manifest__.py
index 280d50704..4fb92c1fc 100644
--- a/web_widget_open_tab/__manifest__.py
+++ b/web_widget_open_tab/__manifest__.py
@@ -5,7 +5,7 @@
"name": "Widget Open on new Tab",
"summary": """
Allow to open record from trees on new tab from tree views""",
- "version": "17.0.1.0.0",
+ "version": "18.0.1.0.0",
"license": "AGPL-3",
"author": "Creu Blanca,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/web",
diff --git a/web_widget_open_tab/models/ir_ui_view.py b/web_widget_open_tab/models/ir_ui_view.py
index 4004fe8dd..ecbb2017a 100644
--- a/web_widget_open_tab/models/ir_ui_view.py
+++ b/web_widget_open_tab/models/ir_ui_view.py
@@ -13,13 +13,13 @@ class Base(models.AbstractModel):
def _get_view(self, view_id=None, view_type="form", **options):
arch, view = super()._get_view(view_id, view_type, **options)
model = self.env["ir.model"]._get(self._name)
- if view_type == "tree" and model.add_open_tab_field:
+ if view_type == "list" and model.add_open_tab_field:
id_elem = """"""
id_elem = etree.fromstring(id_elem)
- tree = arch.xpath("//tree")[0]
- name_field = tree.xpath('./field[@name="name"]')
+ node = arch.xpath("//list")[0]
+ name_field = node.xpath('./field[@name="name"]')
if name_field:
- tree.insert(name_field[0].getparent().index(name_field[0]) + 1, id_elem)
+ node.insert(name_field[0].getparent().index(name_field[0]) + 1, id_elem)
else:
- tree.insert(0, id_elem)
+ node.insert(0, id_elem)
return arch, view
diff --git a/web_widget_open_tab/static/description/index.html b/web_widget_open_tab/static/description/index.html
index a8742d615..436e8ce7a 100644
--- a/web_widget_open_tab/static/description/index.html
+++ b/web_widget_open_tab/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 @@ pre.literal-block, pre.doctest-block, pre.math, pre.code {
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.option {
span.pre {
white-space: pre }
-span.problematic {
+span.problematic, pre.problematic {
color: red }
span.section-subtitle {
@@ -368,7 +369,7 @@ ul.auto-toc {
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:90d7cc228138169b341debfd9c1b844aad258431599a76243147e17916e53b0f
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

This addon introduces a new widget. When added to a field in a tree
view, the field appears as a button which opens the record in a new tab.
When clicking on the line (but not on the button), the record is opened
@@ -412,7 +413,7 @@ exists, otherwise at the beginning of the tree.
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.
@@ -438,11 +439,13 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
This module is maintained by the OCA.
-

+
+
+
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
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_widget_open_tab/tests/test_main.py b/web_widget_open_tab/tests/test_main.py
index 393b3791a..c03710f63 100644
--- a/web_widget_open_tab/tests/test_main.py
+++ b/web_widget_open_tab/tests/test_main.py
@@ -4,18 +4,18 @@ from odoo.tests import common
class Test(common.TransactionCase):
def test_add_open_tab_field(self):
self.env["ir.model"]._get("res.company").add_open_tab_field = True
- arch, view = self.env["res.company"]._get_view(view_id=None, view_type="tree")
+ arch, view = self.env["res.company"]._get_view(view_id=None, view_type="list")
found = arch.xpath("//field[@widget='open_tab']")
self.assertEqual(len(found), 1)
def test_no_add_open_tab_field(self):
self.env["ir.model"]._get("res.company").add_open_tab_field = False
- arch, view = self.env["res.company"]._get_view(view_id=None, view_type="tree")
+ arch, view = self.env["res.company"]._get_view(view_id=None, view_type="list")
found = arch.xpath("//field[@widget='open_tab']")
self.assertFalse(found)
def test_add_open_tab_field_no_name_field(self):
self.env["ir.model"]._get("res.groups").add_open_tab_field = True
- arch, view = self.env["res.groups"]._get_view(view_id=None, view_type="tree")
+ arch, view = self.env["res.groups"]._get_view(view_id=None, view_type="list")
found = arch.xpath("//field[@widget='open_tab']")
self.assertEqual(len(found), 1)