diff --git a/static/src/js/form_widgets.js b/static/src/js/form_widgets.js index b0f78a67c2897ec0cd7af4e0591859624ba9ffed..c6fa0cb682538b54b293269ee6804082ae3b97ed 100644 --- a/static/src/js/form_widgets.js +++ b/static/src/js/form_widgets.js @@ -10,6 +10,26 @@ odoo.define('cgscop_alfresco.form_widgets', function(require) { var form_widgets = require('cmis_web.form_widgets'); var session = require('web.session'); + form_widgets.CmisObjectWrapper.include({ + /* Surcharge les fonction parse_object (téléchargement) + * et get_content_url (preview) pour passer le ticket + * l'url appelée + */ + parse_object: function (cmis_object) { + this._super.apply(this, arguments); + if (this.cmis_session.alf_ticket) { + this.url = this.cmis_session.getContentStreamURL(this.objectId, 'attachment', {'alf_ticket': this.cmis_session.alf_ticket}); + } + }, + get_content_url: function () { + var options = {} + if (this.cmis_session.alf_ticket) { + options = {'alf_ticket': this.cmis_session.alf_ticket}; + } + return this.cmis_session.getContentStreamURL(this.objectId, 'inline', options); + }, + }), + form_widgets.FieldCmisFolder.include({ /** * Surcharge la fonction d'initialisation de la session CMIS pour @@ -25,9 +45,9 @@ odoo.define('cgscop_alfresco.form_widgets', function(require) { self._rpc({route:'/web/alfresco/session', params:{ 'username': session.username }}).done(function (result) { + self.cmis_session['alf_ticket'] = 'result'; self.cmis_session.setCredentials('ROLE_TICKET', result); }); - self.cmis_session_initialized.resolve(); self.cmis_session.setCharacterSet(document.characterSet); });