# © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import mimetypes from odoo import api, fields, models from odoo.tools.mimetypes import guess_mimetype class AddFileWizard(models.TransientModel): _name = 'add.file.wizard' _inherit = 'connector.alfresco' _description = "Ajout de fichier dans Alfresco" # Default functions def _get_selection(self, value): file_type = self.alfresco_list_type()[value] select_type = [] for type in file_type: select_type.append( (type, type)) return select_type @api.model def _get_type(self): return self._get_selection('type') @api.model def _get_periode(self): return self._get_selection('periode') @api.model def _get_validite(self): return self._get_selection('validite') @api.model def _default_partner_id(self): return self.env.context.get('active_id') type = fields.Selection(selection=_get_type, string='Type') periode = fields.Selection(selection=_get_periode, string='Période') validite = fields.Selection(selection=_get_validite, string='Validité') file = fields.Binary('Fichier') filename = fields.Char('Nom') partner_id = fields.Many2one( comodel_name='res.partner', string='Organisme', default=_default_partner_id,) @api.multi def add_file(self): content_type = mimetypes.guess_type(self.filename) if content_type[0]: content_type = content_type[0] else: content_type = guess_mimetype(self.file) self.alfresco_upload( raisonSociale=self.partner_id.name, type=self.type, periode=self.periode, validite=self.validite, filename=self.filename, mimetype=content_type, doc=self.file.decode('utf-8')) return { "type": "ir.actions.act_window", "name": "Fichiers liés", "res_model": "alfresco.partner.files", "views": [[False, "tree"]], "target": "main", "search_view_id": self.env.ref( "connector_alfresco.alfresco_partner_files_search").id, }