Skip to content
Extraits de code Groupes Projets
Valider 8ba057af rédigé par Benjamin's avatar Benjamin
Parcourir les fichiers

add gestion mimetypes

parent e821bf74
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -121,7 +121,7 @@ class ConnectorAlfresco(models.AbstractModel): ...@@ -121,7 +121,7 @@ class ConnectorAlfresco(models.AbstractModel):
return self.get_nodeRef( return self.get_nodeRef(
self.alfresco_get_by_url(url=url, call_type='post', json=json)) self.alfresco_get_by_url(url=url, call_type='post', json=json))
def alfresco_upload(self, raisonSociale, type, periode, validite, filename, doc): def alfresco_upload(self, raisonSociale, type, periode, validite, filename, mimetype, doc):
""" Upload d'un document sur Alfresco """ Upload d'un document sur Alfresco
:param doc: document encodé en base64 :param doc: document encodé en base64
...@@ -134,7 +134,7 @@ class ConnectorAlfresco(models.AbstractModel): ...@@ -134,7 +134,7 @@ class ConnectorAlfresco(models.AbstractModel):
'periode': periode, 'periode': periode,
'type': type, 'type': type,
'nomOrigine': filename, 'nomOrigine': filename,
'mimeType': "application/octet-stream", 'mimeType': mimetype,
'validite': validite, 'validite': validite,
'contentBase64': doc, 'contentBase64': doc,
} }
......
# © 2019 Le Filament (<http://www.le-filament.com>) # © 2019 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import mimetypes
from odoo import api, fields, models from odoo import api, fields, models
from odoo.tools.mimetypes import guess_mimetype
class AddFileWizard(models.TransientModel): class AddFileWizard(models.TransientModel):
...@@ -39,7 +42,6 @@ class AddFileWizard(models.TransientModel): ...@@ -39,7 +42,6 @@ class AddFileWizard(models.TransientModel):
validite = fields.Selection(selection=_get_validite, string='Validité') validite = fields.Selection(selection=_get_validite, string='Validité')
file = fields.Binary('Fichier') file = fields.Binary('Fichier')
filename = fields.Char('Nom') filename = fields.Char('Nom')
content_type = fields.Char('MimeType')
partner_id = fields.Many2one( partner_id = fields.Many2one(
comodel_name='res.partner', comodel_name='res.partner',
string='Organisme', string='Organisme',
...@@ -47,12 +49,18 @@ class AddFileWizard(models.TransientModel): ...@@ -47,12 +49,18 @@ class AddFileWizard(models.TransientModel):
@api.multi @api.multi
def add_file(self): 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( self.alfresco_upload(
raisonSociale=self.partner_id.name, raisonSociale=self.partner_id.name,
type=self.type, type=self.type,
periode=self.periode, periode=self.periode,
validite=self.validite, validite=self.validite,
filename=self.filename, filename=self.filename,
mimetype=content_type,
doc=self.file.decode('utf-8')) doc=self.file.decode('utf-8'))
return { return {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter