[IMP] provide hook methods for extensions orthogonal to the event handlers themselves

bzr revid: xmo@tinyerp.com-20091210073213-4wpiu60tr6ap8lco
This commit is contained in:
Xavier Morel
2009-12-10 08:32:13 +01:00
parent 4dbb8813e4
commit b2a428c701
2 changed files with 17 additions and 4 deletions
+15 -1
View File
@@ -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()
+2 -3
View File
@@ -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: