Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# © 2019 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import dateutil.parser
import pytz
from odoo import models, fields
class AlfrescoPartner(models.Model):
_name = 'res.partner'
_inherit = ['res.partner', 'connector.alfresco']
id_alfresco = fields.Char('ID Dossier Alfresco')
def get_partner_files(self):
""" Liste l'ensemble des fichiers pour un organisme
La fonction fait appel à l'API Alfresco et enregistre le résultat
dans un modèle Transient.
L'ID user est ajouté à la table pour définir les requêtes propres à
chaque user
@return: ir.act.window
"""
files = self.alfresco_list_docs(self.name).get('docs', '')
uid = self.env.user.id
alfresco_obj = self.env["alfresco.partner.files"]
alfresco_obj.search([['user_id', '=', uid]]).unlink()
for doc in files:
alfresco_obj.create({
'name': doc['name'],
'type': doc['type'],
'file_id': doc['nodeRef'].replace('workspace://SpacesStore/', ''),
'user_id': uid,
'periode': doc['periode'],
'validite': doc['validite'],
'last_modification': dateutil.parser.parse(
doc['modifiedOn']).astimezone(pytz.utc),
'partner_id': self.id,
})
return {
"type": "ir.actions.act_window",
"name": "Fichiers liés",
"res_model": "alfresco.partner.files",
"views": [[False, "tree"]],
"search_view_id": self.env.ref(
"connector_alfresco.alfresco_partner_files_search").id,
'context': {'search_default_group_periode': True}