From 570f34b49f56f9aa5c958cac44a9ee9f5cd8bfe9 Mon Sep 17 00:00:00 2001 From: "mga@tinyerp.com" <> Date: Tue, 26 Aug 2008 14:21:10 +0530 Subject: [PATCH] Change for the View Implement the Create operation for the Server Action bzr revid: mga@tinyerp.com-20080826085110-1jrladvftq7hs45k --- bin/addons/base/ir/ir.xml | 4 ++-- bin/addons/base/ir/ir_actions.py | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/bin/addons/base/ir/ir.xml b/bin/addons/base/ir/ir.xml index 3a44b8c55e3..77bad368dae 100755 --- a/bin/addons/base/ir/ir.xml +++ b/bin/addons/base/ir/ir.xml @@ -1065,7 +1065,7 @@ - + @@ -1075,7 +1075,7 @@
- +
diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py index ac15909c014..9ff5d7f0cb9 100755 --- a/bin/addons/base/ir/ir_actions.py +++ b/bin/addons/base/ir/ir_actions.py @@ -380,7 +380,7 @@ class actions_server(osv.osv): 'child_ids': fields.one2many('ir.actions.actions', 'parent_id', 'Others Actions'), 'usage': fields.char('Action Usage', size=32), 'type': fields.char('Report Type', size=32, required=True), - 'srcmodel_id': fields.many2one('ir.model', 'Model', required=True), + 'srcmodel_id': fields.many2one('ir.model', 'Model'), 'fields_lines': fields.one2many('ir.server.object.lines', 'server_id', 'Fields Mapping'), } _defaults = { @@ -522,7 +522,18 @@ class actions_server(osv.osv): obj_pool.write(cr, uid, [context.get('active_id')], res) if action.state == 'object_create': - pass + res = {} + for exp in action.fields_lines: + euq = exp.value + if exp.type == 'equation': + expr = self.merge_message(cr, uid, euq, action, context) + expr = eval(expr) + else: + expr = exp.value + res[exp.col1.name] = expr + obj_pool = self.pool.get(action.model_id.model) + id = context.get('active_id') + obj_pool.copy(cr, uid, id, res) return False actions_server()