2
# -*- encoding: utf-8 -*-
3
##############################################################################
5
# OpenERP, Open Source Management Solution
6
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
9
# This program is free software: you can redistribute it and/or modify
10
# it under the terms of the GNU General Public License as published by
11
# the Free Software Foundation, either version 3 of the License, or
12
# (at your option) any later version.
14
# This program is distributed in the hope that it will be useful,
15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
# GNU General Public License for more details.
19
# You should have received a copy of the GNU General Public License
20
# along with this program. If not, see <http://www.gnu.org/licenses/>.
22
##############################################################################
25
from osv import osv, fields
27
class etl_component_openobject_lines(osv.osv):
28
_name='etl.component.openobject.lines'
30
'source_field' : fields.char('Source Field', size=124),
31
'dest_field' : fields.char('Destination Field', size=124),
32
'component_id' : fields.many2one('etl.component', 'Model'),
35
etl_component_openobject_lines()
37
class etl_component_open_object_out(osv.osv):
39
_inherit = 'etl.component'
42
'openobject_field_ids' : fields.one2many('etl.component.openobject.lines', 'component_id', 'Fields'),
43
'model_id' : fields.many2one('ir.model', 'Model'),
44
'connector_id' : fields.many2one('etl.connector', 'Connector'),
47
def create_instance(self, cr, uid, id, context={}):
48
val=super(etl_component_open_object_out, self).create_instance(cr, uid, id, context)
49
obj_connector=self.pool.get('etl.connector')
50
obj_transformer = self.pool.get('etl.transformer')
51
cmp=self.browse(cr, uid, id)
53
if cmp.type_id.name == 'output.openobject_out':
57
conn_instance=obj_connector.get_instance(cr, uid, cmp.connector_id.id , context)
59
if cmp.transformer_id:
60
trans_instance=obj_transformer.get_instance(cr, uid, cmp.transformer_id.id, context)
63
for data in cmp.openobject_field_ids:
64
field_ids[data.source_field] = data.dest_field
65
val = etl.component.output.openobject_out(conn_instance, cmp.model_id.model, field_ids, 'component.output.openobject_out', trans_instance)
70
etl_component_open_object_out()
71
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: