From 6caf5e74aaad4116b7fbc9db4787a9237b0d0b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s?= Date: Tue, 15 Nov 2016 22:57:32 +0000 Subject: [PATCH] Fix Url sidebar --- document_url/static/src/js/url.js | 67 ++++++++--------------------- document_url/static/src/xml/url.xml | 22 +++++++--- document_url/wizard/document_url.py | 2 +- 3 files changed, 34 insertions(+), 57 deletions(-) diff --git a/document_url/static/src/js/url.js b/document_url/static/src/js/url.js index 0eaefa47..c5ee7358 100644 --- a/document_url/static/src/js/url.js +++ b/document_url/static/src/js/url.js @@ -1,56 +1,25 @@ -/* © 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com) - * Pedro M. Baeza - * © 2016 ACSONE SA/NV () - * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - */ odoo.define('document_url', function(require) { - - var core = require('web.core'); + "use strict"; var Sidebar = require('web.Sidebar'); - var ActionManager = require('web.ActionManager'); - - var _t = core._t, - QWeb = core.qweb; Sidebar.include({ - redraw: function() { - var self = this; - this._super.apply(this, arguments); - self.$el.find("a[href]").attr('target', '_blank'); - self.$el.find('.oe_sidebar_add_attachment, .o_sidebar_add_attachment').after(QWeb.render('AddUrlDocumentItem', {widget: self})) - self.$el.find('.oe_sidebar_add_url').on('click', function (e) { - self.on_url_doc(); - }); + init: function (parent, options) { + var result = this._super(parent, options); + this.items.url_doc = [ + { + action: { + id: "document_url.action_ir_attachment_add_url", + }, + }, + ]; + return result; }, - on_url_doc: function() { - var self = this; - var view = self.getParent(); - var ids = ( view.fields_view.type != "form" )? view.groups.get_selection().ids : [ view.datarecord.id ]; - if( !_.isEmpty(ids) ){ - view.sidebar_eval_context().done(function (context) { - self.rpc("/web/action/load", { action_id: "document_url.action_ir_attachment_add_url" }).done(function(result) { - self.getParent().do_action(result, { - additional_context: { - 'active_ids': ids, - 'active_id': [ids[0]], - 'active_model': view.dataset.model, - }, - }); - }); - }); - } + + redraw: function () { + var result = this._super(); + // Open URLs in a different browser tab + this.$el.find("a[href]").attr('target', '_blank'); + return result; }, }); - - ActionManager = ActionManager.include({ - ir_actions_act_close_wizard_and_reload_view: function (action, options) { - if (!this.dialog) { - options.on_close(); - } - this.dialog_stop(); - this.inner_widget.views[this.inner_widget.active_view.type].controller.reload(); - return $.when(); - }, - }); - -}); +}); \ No newline at end of file diff --git a/document_url/static/src/xml/url.xml b/document_url/static/src/xml/url.xml index 57e0e301..8d5a3dfa 100644 --- a/document_url/static/src/xml/url.xml +++ b/document_url/static/src/xml/url.xml @@ -1,8 +1,16 @@ - - -
  • - Add URL... -
  • -
    -
    + + + + + +
  • + Add URL... +
  • +
    +
    +
    \ No newline at end of file diff --git a/document_url/wizard/document_url.py b/document_url/wizard/document_url.py index d9d4a1df..649ae726 100644 --- a/document_url/wizard/document_url.py +++ b/document_url/wizard/document_url.py @@ -19,7 +19,7 @@ class AddUrlWizard(models.TransientModel): @api.multi def action_add_url(self): """Adds the URL with the given name as an ir.attachment record.""" - + if not self._context.get('active_model'): return for form in self: