Skip to content

Commit

Permalink
[IMP] web_tree_many2one_clickable: Fix pre-commit + improve readme
Browse files Browse the repository at this point in the history
  • Loading branch information
CarlosRoca13 authored and tarteo committed Mar 1, 2023
1 parent 1c00b0a commit d1c985c
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 75 deletions.
22 changes: 13 additions & 9 deletions web_tree_many2one_clickable/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ Clickable many2one fields for tree views
: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/14.0/web_tree_many2one_clickable
:target: https://github.com/OCA/web/tree/15.0/web_tree_many2one_clickable
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-14-0/web-14-0-web_tree_many2one_clickable
:target: https://translation.odoo-community.org/projects/web-15-0/web-15-0-web_tree_many2one_clickable
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/162/14.0
:alt: Try me on Runbot
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/webui/builds.html?repo=OCA/web&target_branch=15.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

Expand All @@ -39,20 +39,24 @@ Usage

Put the mouse pointer over a many2one cell and click the button.

.. image:: https://raw.githubusercontent.com/OCA/web/14.0/web_tree_many2one_clickable/static/img/clickable.gif
.. image:: https://raw.githubusercontent.com/OCA/web/15.0/web_tree_many2one_clickable/static/img/clickable.gif

Known issues / Roadmap
======================

This widget is currently not working on the product field in the lines tree of the sale order form, see https://github.com/OCA/web/pull/1438 for further details.
This widget is currently not working on the product field in the lines tree of the
sale order form, see https://github.com/OCA/web/pull/1438 for further details.

To add this functionality to lines of sales, purchases and invoices, as they are
special views, is required a glue module that add this feature.

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 smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_tree_many2one_clickable%0Aversion:%2014.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_tree_many2one_clickable%0Aversion:%2015.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.

Expand Down Expand Up @@ -90,6 +94,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/14.0/web_tree_many2one_clickable>`_ project on GitHub.
This module is part of the `OCA/web <https://github.com/OCA/web/tree/15.0/web_tree_many2one_clickable>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
6 changes: 5 additions & 1 deletion web_tree_many2one_clickable/readme/ROADMAP.rst
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
This widget is currently not working on the product field in the lines tree of the sale order form, see https://github.com/OCA/web/pull/1438 for further details.
This widget is currently not working on the product field in the lines tree of the
sale order form, see https://github.com/OCA/web/pull/1438 for further details.

To add this functionality to lines of sales, purchases and invoices, as they are
special views, is required a glue module that add this feature.
15 changes: 9 additions & 6 deletions web_tree_many2one_clickable/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<meta name="generator" content="Docutils: http://docutils.sourceforge.net/" />
<title>Clickable many2one fields for tree views</title>
<style type="text/css">

Expand Down Expand Up @@ -367,7 +367,7 @@ <h1 class="title">Clickable many2one fields for tree views</h1>
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" 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" 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" href="https://github.com/OCA/web/tree/14.0/web_tree_many2one_clickable"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-14-0/web-14-0-web_tree_many2one_clickable"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/162/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external" 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" 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" href="https://github.com/OCA/web/tree/15.0/web_tree_many2one_clickable"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-15-0/web-15-0-web_tree_many2one_clickable"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runboat.odoo-community.org/webui/builds.html?repo=OCA/web&amp;target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This addon forces Odoo to use many2one widget on a many2one fields in
tree views. This allows users to open linked resources from trees directly,
using a button without accessing the form.</p>
Expand All @@ -388,18 +388,21 @@ <h1 class="title">Clickable many2one fields for tree views</h1>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id1">Usage</a></h1>
<p>Put the mouse pointer over a many2one cell and click the button.</p>
<img alt="https://raw.githubusercontent.com/OCA/web/14.0/web_tree_many2one_clickable/static/img/clickable.gif" src="https://raw.githubusercontent.com/OCA/web/14.0/web_tree_many2one_clickable/static/img/clickable.gif" />
<img alt="https://raw.githubusercontent.com/OCA/web/15.0/web_tree_many2one_clickable/static/img/clickable.gif" src="https://raw.githubusercontent.com/OCA/web/15.0/web_tree_many2one_clickable/static/img/clickable.gif" />
</div>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#id2">Known issues / Roadmap</a></h1>
<p>This widget is currently not working on the product field in the lines tree of the sale order form, see <a class="reference external" href="https://github.com/OCA/web/pull/1438">https://github.com/OCA/web/pull/1438</a> for further details.</p>
<p>This widget is currently not working on the product field in the lines tree of the
sale order form, see <a class="reference external" href="https://github.com/OCA/web/pull/1438">https://github.com/OCA/web/pull/1438</a> for further details.</p>
<p>To add this functionality to lines of sales, purchases and invoices, as they are
special views, is required a glue module that add this feature.</p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id3">Bug Tracker</a></h1>
<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 smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_tree_many2one_clickable%0Aversion:%2014.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_tree_many2one_clickable%0Aversion:%2015.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">
Expand Down Expand Up @@ -431,7 +434,7 @@ <h2><a class="toc-backref" href="#id7">Maintainers</a></h2>
<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/14.0/web_tree_many2one_clickable">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/15.0/web_tree_many2one_clickable">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>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
td.o_many2one_cell {
a {
margin-left: 0.5em;
visibility: hidden;
}
a {
margin-left: 0.5em;
visibility: hidden;
}

&:hover a {
visibility: visible;
}
&:hover a {
visibility: visible;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,62 +7,62 @@
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */

odoo.define("web_tree_many2one_clickable.many2one_clickable", function (require) {
"use strict";
"use strict";

var ListRenderer = require("web.ListRenderer");
var ListFieldMany2One = require("web.relational_fields").ListFieldMany2One;
var ListRenderer = require("web.ListRenderer");
var ListFieldMany2One = require("web.relational_fields").ListFieldMany2One;

ListRenderer.include({
_renderBodyCell: function (record, node, colIndex, options) {
if (
!node.attrs.widget &&
node.attrs.name &&
this.state.fields[node.attrs.name] &&
this.state.fields[node.attrs.name].type === "many2one"
) {
// No explicit widget provided on a many2one field,
// force `many2one` widget
node.attrs.widget = "many2one";
}
return this._super(record, node, colIndex, options);
},
});
ListRenderer.include({
_renderBodyCell: function (record, node, colIndex, options) {
if (
!node.attrs.widget &&
node.attrs.name &&
this.state.fields[node.attrs.name] &&
this.state.fields[node.attrs.name].type === "many2one"
) {
// No explicit widget provided on a many2one field,
// force `many2one` widget
node.attrs.widget = "many2one";
}
return this._super(record, node, colIndex, options);
},
});

ListFieldMany2One.include({
_renderReadonly: function () {
this._super.apply(this, arguments);
var self = this;
ListFieldMany2One.include({
_renderReadonly: function () {
this._super.apply(this, arguments);
var self = this;

if (!this.noOpen && this.value) {
// Replace '<a>' element
this.$el.removeClass("o_form_uri");
this.$el = $("<span/>", {
html: this.$el.html(),
class: this.$el.attr("class") + " o_field_text",
name: this.$el.attr("name"),
});
if (!this.noOpen && this.value) {
// Replace '<a>' element
this.$el.removeClass("o_form_uri");
this.$el = $("<span/>", {
html: this.$el.html(),
class: this.$el.attr("class") + " o_field_text",
name: this.$el.attr("name"),
});

// Append button
var $a = $("<a/>", {
href: "#",
class: "o_form_uri btn btn-sm btn-secondary fa fa-angle-double-right",
}).on("click", function (ev) {
ev.preventDefault();
ev.stopPropagation();
// Append button
var $a = $("<a/>", {
href: "#",
class: "o_form_uri btn btn-sm btn-secondary fa fa-angle-double-right",
}).on("click", function (ev) {
ev.preventDefault();
ev.stopPropagation();

self.do_action({
type: "ir.actions.act_window",
res_model: self.field.relation,
res_id: self.value.res_id,
views: [[false, "form"]],
target: "target",
context: self.record.getContext({
additionalContext: self.attrs.context || {},
}),
});
});
this.$el.append($a);
}
},
});
self.do_action({
type: "ir.actions.act_window",
res_model: self.field.relation,
res_id: self.value.res_id,
views: [[false, "form"]],
target: "target",
context: self.record.getContext({
additionalContext: self.attrs.context || {},
}),
});
});
this.$el.append($a);
}
},
});
});

0 comments on commit d1c985c

Please sign in to comment.