mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-26 10:28:40 -06:00
Fix Url sidebar
This commit is contained in:
parent
65e4a1998f
commit
6caf5e74aa
@ -1,56 +1,25 @@
|
||||
/* © 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com)
|
||||
* Pedro M. Baeza <pedro.baeza@serviciosbaeza.com>
|
||||
* © 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||
* 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();
|
||||
},
|
||||
});
|
||||
|
||||
});
|
||||
});
|
@ -1,8 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<t t-name="AddUrlDocumentItem">
|
||||
<li class="oe_sidebar_add_url">
|
||||
<span class="oe_url_attachment">Add URL...</span>
|
||||
</li>
|
||||
</t>
|
||||
</templates>
|
||||
|
||||
<templates>
|
||||
<t t-extend="Sidebar">
|
||||
<!-- oe_ for Odoo CE, and o_ for Odoo EE -->
|
||||
<t t-jquery=".oe_sidebar_add_attachment, .o_sidebar_add_attachment"
|
||||
t-operation="after">
|
||||
<li class="oe_sidebar_add_url"
|
||||
t-if="section.name == 'files' and widget.options.editable">
|
||||
<a class="oe_file_attachment"
|
||||
data-section="url_doc"
|
||||
data-index="0">Add URL...</a>
|
||||
</li>
|
||||
</t>
|
||||
</t>
|
||||
</templates>
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user