mirror of https://github.com/OCA/web.git
[MIG] web_widget_open_tab: Migration to 18.0
parent
998a017c5e
commit
556a3ccf6a
|
@ -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 <https://github.com/OCA/web/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 <https://github.com/OCA/web/issues/new?body=module:%20web_widget_open_tab%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_widget_open_tab%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
Do not contact contributors directly about support or help with technical issues.
|
||||
|
||||
|
@ -81,12 +81,12 @@ Authors
|
|||
Contributors
|
||||
------------
|
||||
|
||||
- Enric Tobella <etobella@creublanca.es>
|
||||
- Raf Ven <raf.ven@dynapps.be>
|
||||
- Dhara Solanki <dhara.solanki@initos.com>
|
||||
- `Quartile <https://www.quartile.co>`__:
|
||||
- Enric Tobella <etobella@creublanca.es>
|
||||
- Raf Ven <raf.ven@dynapps.be>
|
||||
- Dhara Solanki <dhara.solanki@initos.com>
|
||||
- `Quartile <https://www.quartile.co>`__:
|
||||
|
||||
- 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 <https://github.com/OCA/web/tree/17.0/web_widget_open_tab>`_ project on GitHub.
|
||||
This module is part of the `OCA/web <https://github.com/OCA/web/tree/18.0/web_widget_open_tab>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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 = """<field name="id" widget="open_tab" nolabel="1"/>"""
|
||||
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
|
||||
|
|
|
@ -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
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/web/tree/17.0/web_widget_open_tab"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/web-17-0/web-17-0-web_widget_open_tab"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/web/tree/18.0/web_widget_open_tab"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_widget_open_tab"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||
<p>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.</p>
|
|||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>.
|
||||
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
|
||||
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_widget_open_tab%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_widget_open_tab%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
||||
</div>
|
||||
<div class="section" id="credits">
|
||||
|
@ -438,11 +439,13 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|||
<div class="section" id="maintainers">
|
||||
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
|
||||
<p>This module is maintained by the OCA.</p>
|
||||
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
|
||||
<a class="reference external image-reference" href="https://odoo-community.org">
|
||||
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
||||
</a>
|
||||
<p>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.</p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/17.0/web_widget_open_tab">OCA/web</a> project on GitHub.</p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/18.0/web_widget_open_tab">OCA/web</a> project on GitHub.</p>
|
||||
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue