From b2a428c701140a355ba1c89fa492ffab3fa06e76 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 10 Dec 2009 08:32:13 +0100 Subject: [PATCH] [IMP] provide hook methods for extensions orthogonal to the event handlers themselves bzr revid: xmo@tinyerp.com-20091210073213-4wpiu60tr6ap8lco --- bin/addons/base/res/res_config.py | 16 +++++++++++++++- bin/addons/base/res/res_user.py | 5 ++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/bin/addons/base/res/res_config.py b/bin/addons/base/res/res_config.py index 9902d3de890..36f44a674c2 100644 --- a/bin/addons/base/res/res_config.py +++ b/bin/addons/base/res/res_config.py @@ -80,7 +80,21 @@ class res_config_configurable(osv.osv_memory): return {'type': 'ir.actions.act_window_close'} def next(self, cr, uid, *args, **kwargs): return self._next(cr, uid) - def action_skip(self, cr, uid, *args, **kwargs): + + def execute(self, cr, uid, ids, context=None): + raise NotImplementedError( + 'Configuration items need to implement execute') + def cancel(self, cr, uid, ids, context=None): + pass + + def action_next(self, cr, uid, ids, context=None): + next = self.execute(cr, uid, ids, context=None) + if next: return next + return self._next(cr, uid) + + def action_skip(self, cr, uid, ids, context=None): + next = self.cancel(cr, uid, ids, context=None) + if next: return next return self._next(cr, uid) res_config_configurable() diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py index 94cdc227545..376985b120f 100644 --- a/bin/addons/base/res/res_user.py +++ b/bin/addons/base/res/res_user.py @@ -270,7 +270,7 @@ class config_users(osv.osv_memory): self.pool.get('res.users').create( cr, uid, self.user_data(cr, uid, new_id, context), context) - def action_next(self, cr, uid, ids, context=None): + def execute(self, cr, uid, ids, context=None): self.create_user(cr, uid, ids[0], context=context) return { 'view_type': 'form', @@ -301,7 +301,7 @@ class res_config_view(osv.osv_memory): 'view':lambda *args: 'simple', } - def action_next(self, cr, uid, ids, context=None): + def execute(self, cr, uid, ids, context=None): res=self.read(cr,uid,ids)[0] users_obj = self.pool.get('res.users') group_obj=self.pool.get('res.groups') @@ -311,7 +311,6 @@ class res_config_view(osv.osv_memory): users_obj.write(cr, uid, [uid],{ 'groups_id':[(4,group_ids[0])] }, context=context) - return self.next(cr, uid) res_config_view() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: