From f31af383385cc8529a2289dab5fa94cc7d619e88 Mon Sep 17 00:00:00 2001 From: Xander De Matteis Date: Fri, 17 Jun 2022 12:30:37 +0200 Subject: [PATCH] [MIG] web_tree_many2one_clickable: Migration to 15.0 --- web_tree_many2one_clickable/__manifest__.py | 12 +- .../src/css/web_tree_many2one_clickable.scss | 14 +-- .../src/js/web_tree_many2one_clickable.js | 106 +++++++++--------- web_tree_many2one_clickable/views/assets.xml | 22 ---- 4 files changed, 69 insertions(+), 85 deletions(-) delete mode 100644 web_tree_many2one_clickable/views/assets.xml diff --git a/web_tree_many2one_clickable/__manifest__.py b/web_tree_many2one_clickable/__manifest__.py index 20a31f4f0..32fa1fb7b 100644 --- a/web_tree_many2one_clickable/__manifest__.py +++ b/web_tree_many2one_clickable/__manifest__.py @@ -7,7 +7,7 @@ { "name": "Clickable many2one fields for tree views", "summary": "Open the linked resource when clicking on their name", - "version": "14.0.1.0.2", + "version": "15.0.1.0.0", "category": "Hidden", "website": "https://github.com/OCA/web", "author": "Therp BV, " @@ -17,5 +17,13 @@ "license": "AGPL-3", "installable": True, "depends": ["web"], - "data": ["views/assets.xml"], + "data": [], + "assets": { + "web.assets_backend": [ + "web_tree_many2one_clickable/static/src/js/*.js", + ], + "web.assets_common": [ + "web_tree_many2one_clickable/static/src/css/web_tree_many2one_clickable.scss", + ], + }, } diff --git a/web_tree_many2one_clickable/static/src/css/web_tree_many2one_clickable.scss b/web_tree_many2one_clickable/static/src/css/web_tree_many2one_clickable.scss index 67d2e41a1..de3216d00 100644 --- a/web_tree_many2one_clickable/static/src/css/web_tree_many2one_clickable.scss +++ b/web_tree_many2one_clickable/static/src/css/web_tree_many2one_clickable.scss @@ -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; + } } diff --git a/web_tree_many2one_clickable/static/src/js/web_tree_many2one_clickable.js b/web_tree_many2one_clickable/static/src/js/web_tree_many2one_clickable.js index 47cb0cfe6..31c5300cf 100644 --- a/web_tree_many2one_clickable/static/src/js/web_tree_many2one_clickable.js +++ b/web_tree_many2one_clickable/static/src/js/web_tree_many2one_clickable.js @@ -7,64 +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 '' element - this.$el.removeClass("o_form_uri"); - this.$el = $("", { - html: this.$el.html(), - class: this.$el.attr("class") + " o_field_text", - name: this.$el.attr("name"), - }); + if (!this.noOpen && this.value) { + // Replace '' element + this.$el.removeClass("o_form_uri"); + this.$el = $("", { + html: this.$el.html(), + class: this.$el.attr("class") + " o_field_text", + name: this.$el.attr("name"), + }); - // Append button - var $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 = $("", { + 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); + } + }, + }); }); diff --git a/web_tree_many2one_clickable/views/assets.xml b/web_tree_many2one_clickable/views/assets.xml deleted file mode 100644 index 755a256c8..000000000 --- a/web_tree_many2one_clickable/views/assets.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -