Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 934a246a5925fabf007fd77e4ed51a44e273e684
  • master par défaut protégée
2 résultats

check_docker.sh

Blame
  • form_widgets.js 2,27 Kio
    /*---------------------------------------------------------------
        Copyright 2020 Le Filament
        License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
    ------------------------------------------------------------------*/
    
    odoo.define('cgscop_alfresco.form_widgets', function(require) {
        "use strict";
    
        var core = require('web.core');
        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
             * passer le token de l'utilisateur
             */
             init_cmis_session: function () {
                var self = this;
                $.when(this.cmis_config_loaded).done(function () {
                    self.cmis_session = cmis.createSession(self.cmis_location);
                    self.cmis_session.setGlobalHandlers(self.on_cmis_error, self.on_cmis_error);
    
                    // CGSCOP : appel vers la fonction custom
                    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);
                });
            },
        });
    
    });