diff --git a/bin/addons/base/base_data.xml b/bin/addons/base/base_data.xml index 2dbb136eb4b..80bc8953cb5 100644 --- a/bin/addons/base/base_data.xml +++ b/bin/addons/base/base_data.xml @@ -1276,7 +1276,7 @@ default - + EUR @@ -1314,7 +1314,6 @@ - CAD CAD @@ -1485,7 +1484,7 @@ - + Tiny sprl diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml index 8aaf6384a11..fbc24121f9c 100644 --- a/bin/addons/base/base_update.xml +++ b/bin/addons/base/base_update.xml @@ -38,17 +38,16 @@ form
- - - - - + + + + - + - - + + @@ -59,7 +58,11 @@ - + + + + + @@ -94,12 +97,12 @@ form
- + + + + + - - - - @@ -108,9 +111,11 @@ - - - + + + + + @@ -139,11 +144,11 @@ form
- + + + + - - - @@ -151,9 +156,6 @@ - - - diff --git a/bin/addons/base/ir/ir.xml b/bin/addons/base/ir/ir.xml index 2492f70d37d..d16402f9bc7 100755 --- a/bin/addons/base/ir/ir.xml +++ b/bin/addons/base/ir/ir.xml @@ -1066,15 +1066,15 @@ - + - + - + - + diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py index 38a30888929..78abfa54ed0 100755 --- a/bin/addons/base/ir/ir_actions.py +++ b/bin/addons/base/ir/ir_actions.py @@ -385,7 +385,7 @@ class actions_server(osv.osv): 'otype': fields.selection([ ('copy','Create in Same Model'), ('new','Create in Other Model') - ], 'Create Model', required=True, size=32, change_default=True), + ], 'Create Model', size=32, change_default=True), } _defaults = { 'state': lambda *a: 'dummy', @@ -399,7 +399,8 @@ class actions_server(osv.osv): # - uid # - ids # If you plan to return an action, assign: action = {...} -""" +""", + 'otype': lambda *a: 'copy', } def get_field_value(self, cr, uid, action, context): @@ -496,7 +497,6 @@ class actions_server(osv.osv): logger.notifyChannel('sms', netsvc.LOG_INFO, 'SMS successfully send to : %s' % (action.address)) else: logger.notifyChannel('sms', netsvc.LOG_ERROR, 'Failed to send SMS to : %s' % (action.address)) - if action.state == 'other': localdict = { 'self': self.pool.get(action.model_id.model), @@ -535,9 +535,15 @@ class actions_server(osv.osv): 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) + + obj_pool = None + if action.state == 'object_create' and action.otype == 'new': + obj_pool = self.pool.get(action.srcmodel_id.model) + obj_pool.create(cr, uid, res) + else: + 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() diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index ceb454d40fa..21ca01f9d1f 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -275,7 +275,7 @@ class module(osv.osv): mdemo = True for dep in module.dependencies_id: if dep.state == 'unknown': - raise orm.except_orm(_('Error'), _('Unmet dependency: %s') % (dep.name,)) + raise orm.except_orm(_('Error'), _('You try to install a module that depends on the module: %s.\nBut this module is not available in your system.') % (dep.name,)) if dep.state != newstate: ids2 = self.search(cr, uid, [('name','=',dep.name)]) mdemo = self.state_update(cr, uid, ids2, newstate, states_to_update, context, level-1,) and mdemo diff --git a/bin/addons/base/module/module_view.xml b/bin/addons/base/module/module_view.xml index a482a8ee2e3..f3df21aa3af 100644 --- a/bin/addons/base/module/module_view.xml +++ b/bin/addons/base/module/module_view.xml @@ -104,7 +104,7 @@ ir.module.module tree - + diff --git a/bin/addons/base/module/module_wizard.xml b/bin/addons/base/module/module_wizard.xml index 536b2f01648..7c091353f39 100644 --- a/bin/addons/base/module/module_wizard.xml +++ b/bin/addons/base/module/module_wizard.xml @@ -31,8 +31,8 @@ - - + +