mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-16 04:02:56 -06:00
[IMP] Take comments from LP
This commit is contained in:
parent
bd5d8c5267
commit
ec44b6acfc
@ -32,7 +32,7 @@ class ir_attachment(orm.Model):
|
||||
_inherit = 'ir.attachment'
|
||||
|
||||
_columns = {
|
||||
'id_edm': fields.char('Id of Dms', size=256, help="Id of Edm."),
|
||||
'id_dms': fields.char('Id of Dms', size=256, help="Id of Dms."),
|
||||
}
|
||||
|
||||
def create(self, cr, uid, values, context=None):
|
||||
@ -41,6 +41,7 @@ class ir_attachment(orm.Model):
|
||||
user_login = user_obj.browse(cr, uid, uid, context=context).login
|
||||
session = ConnectorSession(cr, uid, context=context)
|
||||
value = {
|
||||
'name': values.get('name'),
|
||||
'datas_fname': values.get('datas_fname'),
|
||||
'file_type': values.get('file_type') or '',
|
||||
'datas': values.get('datas'),
|
||||
@ -64,18 +65,16 @@ class ir_attachment(orm.Model):
|
||||
|
||||
for one_field in list_fields:
|
||||
dict_metadata['cmis:' + one_field] = result[one_field]
|
||||
values['datas'] = None
|
||||
res = super(ir_attachment, self).create(cr, uid, values,
|
||||
context=context)
|
||||
# Create Job
|
||||
# if bool_testdoc in context, we don't need to create
|
||||
# the doc in the DMS
|
||||
if not context.get('bool_testdoc'):
|
||||
create_doc_in_edm.delay(session,
|
||||
'ir.attachment',
|
||||
value,
|
||||
res,
|
||||
dict_metadata,
|
||||
user_login)
|
||||
create_doc_in_edm.delay(
|
||||
session, 'ir.attachment', value, res, dict_metadata,
|
||||
user_login)
|
||||
return res
|
||||
|
||||
|
||||
@ -86,12 +85,11 @@ def create_doc_in_edm(session, model_name, value, res,
|
||||
cmis_backend_obj = session.pool.get('cmis.backend')
|
||||
if session.context is None:
|
||||
session.context = {}
|
||||
#login with the cmis account
|
||||
client = cmis_backend_obj._auth(session.cr, session.uid,
|
||||
context=session.context)
|
||||
repo = client.defaultRepository
|
||||
# login with the cmis account
|
||||
repo = cmis_backend_obj._auth(session.cr, session.uid,
|
||||
context=session.context)
|
||||
root = repo.rootFolder
|
||||
ids = cmis_backend_obj.search(session.cr, session.uid, [])
|
||||
ids = cmis_backend_obj.search(session.cr, session.uid, [], session.context)
|
||||
|
||||
folder_path = cmis_backend_obj.read(
|
||||
session.cr, session.uid,
|
||||
@ -99,8 +97,14 @@ def create_doc_in_edm(session, model_name, value, res,
|
||||
['initial_directory_write'],
|
||||
context=session.context)[0]['initial_directory_write']
|
||||
# Document properties
|
||||
if value['name']:
|
||||
file_name = value['name']
|
||||
elif value['datas_fname']:
|
||||
file_name = value['datas_fname']
|
||||
else:
|
||||
file_name = value['datas_fname']
|
||||
props = {
|
||||
'cmis:name': value['datas_fname'],
|
||||
'cmis:name': file_name,
|
||||
'cmis:description': value['description'],
|
||||
'cmis:createdBy': user_login,
|
||||
}
|
||||
@ -113,14 +117,16 @@ def create_doc_in_edm(session, model_name, value, res,
|
||||
else:
|
||||
sub1 = root
|
||||
|
||||
someDoc = sub1.createDocumentFromString(value['datas_fname'], props,
|
||||
someDoc = sub1.createDocumentFromString(value['datas_fname'],
|
||||
contentString=base64.b64decode(
|
||||
value['datas']),
|
||||
contentType=value['file_type'])
|
||||
# TODO: create custom properties on a document (Alfresco)
|
||||
#someDoc.getProperties().update(props)
|
||||
# Updating ir.attachment object with the new id
|
||||
# of document generated by DMS
|
||||
ir_attach_obj.write(session.cr, session.uid, res, {
|
||||
'id_edm': someDoc.getObjectId()}, session.context)
|
||||
'id_dms': someDoc.getObjectId()}, session.context)
|
||||
return True
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
@ -20,7 +20,7 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp.osv import orm, fields, osv
|
||||
from openerp.osv import orm, fields
|
||||
|
||||
|
||||
class metadata_list(orm.Model):
|
||||
@ -38,10 +38,12 @@ class metadata(orm.Model):
|
||||
_description = "Metadata"
|
||||
_columns = {
|
||||
'name': fields.char("Name", size=64, required=True, select=1),
|
||||
'model_id': fields.many2one('ir.model', 'Model', required=True, select=1),
|
||||
'model_id': fields.many2one('ir.model', 'Model',
|
||||
required=True, select=1),
|
||||
'field_ids': fields.many2many('ir.model.fields', 'metadata_field_rel',
|
||||
'meta_id', 'field_id', 'Fields'),
|
||||
'metadata_list_ids': fields.one2many('metadata.list', 'metadata_id', 'List of fields'),
|
||||
'metadata_list_ids': fields.one2many('metadata.list', 'metadata_id',
|
||||
'List of fields'),
|
||||
'model_ids': fields.many2many('ir.model', string='Model List'),
|
||||
}
|
||||
|
||||
@ -52,10 +54,13 @@ class metadata(orm.Model):
|
||||
return {'value': {'model_ids': [(6, 0, [])]}}
|
||||
model_ids = [model_id]
|
||||
model_obj = self.pool.get('ir.model')
|
||||
active_model_obj = self.pool.get(model_obj.browse(cr, uid, model_id).model)
|
||||
active_model_obj = self.pool.get(model_obj.browse(cr, uid,
|
||||
model_id).model)
|
||||
if active_model_obj._inherits:
|
||||
for key, val in active_model_obj._inherits.items():
|
||||
found_model_ids = model_obj.search(cr, uid, [('model', '=', key)], context=context)
|
||||
found_model_ids = model_obj.search(cr,
|
||||
uid, [('model', '=', key)],
|
||||
context=context)
|
||||
model_ids += found_model_ids
|
||||
return {'value': {'model_ids': [(6, 0, model_ids)]}}
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_metadata_list_group_user,metadata.list user,model_metadata_list,base.group_document_user,1,1,1,1
|
||||
access_metadata,access_metadata,model_metadata,base.group_document_user,1,1,1,1
|
||||
|
|
Loading…
Reference in New Issue
Block a user