mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-16 20:22:57 -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'
|
_inherit = 'ir.attachment'
|
||||||
|
|
||||||
_columns = {
|
_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):
|
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
|
user_login = user_obj.browse(cr, uid, uid, context=context).login
|
||||||
session = ConnectorSession(cr, uid, context=context)
|
session = ConnectorSession(cr, uid, context=context)
|
||||||
value = {
|
value = {
|
||||||
|
'name': values.get('name'),
|
||||||
'datas_fname': values.get('datas_fname'),
|
'datas_fname': values.get('datas_fname'),
|
||||||
'file_type': values.get('file_type') or '',
|
'file_type': values.get('file_type') or '',
|
||||||
'datas': values.get('datas'),
|
'datas': values.get('datas'),
|
||||||
@ -64,18 +65,16 @@ class ir_attachment(orm.Model):
|
|||||||
|
|
||||||
for one_field in list_fields:
|
for one_field in list_fields:
|
||||||
dict_metadata['cmis:' + one_field] = result[one_field]
|
dict_metadata['cmis:' + one_field] = result[one_field]
|
||||||
|
values['datas'] = None
|
||||||
res = super(ir_attachment, self).create(cr, uid, values,
|
res = super(ir_attachment, self).create(cr, uid, values,
|
||||||
context=context)
|
context=context)
|
||||||
# Create Job
|
# Create Job
|
||||||
# if bool_testdoc in context, we don't need to create
|
# if bool_testdoc in context, we don't need to create
|
||||||
# the doc in the DMS
|
# the doc in the DMS
|
||||||
if not context.get('bool_testdoc'):
|
if not context.get('bool_testdoc'):
|
||||||
create_doc_in_edm.delay(session,
|
create_doc_in_edm.delay(
|
||||||
'ir.attachment',
|
session, 'ir.attachment', value, res, dict_metadata,
|
||||||
value,
|
user_login)
|
||||||
res,
|
|
||||||
dict_metadata,
|
|
||||||
user_login)
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
@ -86,12 +85,11 @@ def create_doc_in_edm(session, model_name, value, res,
|
|||||||
cmis_backend_obj = session.pool.get('cmis.backend')
|
cmis_backend_obj = session.pool.get('cmis.backend')
|
||||||
if session.context is None:
|
if session.context is None:
|
||||||
session.context = {}
|
session.context = {}
|
||||||
#login with the cmis account
|
# login with the cmis account
|
||||||
client = cmis_backend_obj._auth(session.cr, session.uid,
|
repo = cmis_backend_obj._auth(session.cr, session.uid,
|
||||||
context=session.context)
|
context=session.context)
|
||||||
repo = client.defaultRepository
|
|
||||||
root = repo.rootFolder
|
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(
|
folder_path = cmis_backend_obj.read(
|
||||||
session.cr, session.uid,
|
session.cr, session.uid,
|
||||||
@ -99,8 +97,14 @@ def create_doc_in_edm(session, model_name, value, res,
|
|||||||
['initial_directory_write'],
|
['initial_directory_write'],
|
||||||
context=session.context)[0]['initial_directory_write']
|
context=session.context)[0]['initial_directory_write']
|
||||||
# Document properties
|
# 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 = {
|
props = {
|
||||||
'cmis:name': value['datas_fname'],
|
'cmis:name': file_name,
|
||||||
'cmis:description': value['description'],
|
'cmis:description': value['description'],
|
||||||
'cmis:createdBy': user_login,
|
'cmis:createdBy': user_login,
|
||||||
}
|
}
|
||||||
@ -113,14 +117,16 @@ def create_doc_in_edm(session, model_name, value, res,
|
|||||||
else:
|
else:
|
||||||
sub1 = root
|
sub1 = root
|
||||||
|
|
||||||
someDoc = sub1.createDocumentFromString(value['datas_fname'], props,
|
someDoc = sub1.createDocumentFromString(value['datas_fname'],
|
||||||
contentString=base64.b64decode(
|
contentString=base64.b64decode(
|
||||||
value['datas']),
|
value['datas']),
|
||||||
contentType=value['file_type'])
|
contentType=value['file_type'])
|
||||||
|
# TODO: create custom properties on a document (Alfresco)
|
||||||
|
#someDoc.getProperties().update(props)
|
||||||
# Updating ir.attachment object with the new id
|
# Updating ir.attachment object with the new id
|
||||||
# of document generated by DMS
|
# of document generated by DMS
|
||||||
ir_attach_obj.write(session.cr, session.uid, res, {
|
ir_attach_obj.write(session.cr, session.uid, res, {
|
||||||
'id_edm': someDoc.getObjectId()}, session.context)
|
'id_dms': someDoc.getObjectId()}, session.context)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# 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):
|
class metadata_list(orm.Model):
|
||||||
@ -38,10 +38,12 @@ class metadata(orm.Model):
|
|||||||
_description = "Metadata"
|
_description = "Metadata"
|
||||||
_columns = {
|
_columns = {
|
||||||
'name': fields.char("Name", size=64, required=True, select=1),
|
'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',
|
'field_ids': fields.many2many('ir.model.fields', 'metadata_field_rel',
|
||||||
'meta_id', 'field_id', 'Fields'),
|
'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'),
|
'model_ids': fields.many2many('ir.model', string='Model List'),
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,10 +54,13 @@ class metadata(orm.Model):
|
|||||||
return {'value': {'model_ids': [(6, 0, [])]}}
|
return {'value': {'model_ids': [(6, 0, [])]}}
|
||||||
model_ids = [model_id]
|
model_ids = [model_id]
|
||||||
model_obj = self.pool.get('ir.model')
|
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:
|
if active_model_obj._inherits:
|
||||||
for key, val in active_model_obj._inherits.items():
|
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
|
model_ids += found_model_ids
|
||||||
return {'value': {'model_ids': [(6, 0, 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
|
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_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