[IMP] config wizard, launch once
bzr revid: fp@tinyerp.com-20111002115131-cf5417apx9vfa9jc
This commit is contained in:
parent
7569906597
commit
fc7675014f
|
@ -810,7 +810,7 @@ ir_actions_todo_category()
|
||||||
# This model use to register action services.
|
# This model use to register action services.
|
||||||
TODO_STATES = [('open', 'To Do'),
|
TODO_STATES = [('open', 'To Do'),
|
||||||
('done', 'Done')]
|
('done', 'Done')]
|
||||||
TODO_TYPES = [('manual', 'Launch Manually'),
|
TODO_TYPES = [('manual', 'Launch Manually'),('once', 'Launch Manually Once'),
|
||||||
('automatic', 'Launch Automatically')]
|
('automatic', 'Launch Automatically')]
|
||||||
class ir_actions_todo(osv.osv):
|
class ir_actions_todo(osv.osv):
|
||||||
"""
|
"""
|
||||||
|
@ -827,7 +827,8 @@ class ir_actions_todo(osv.osv):
|
||||||
'name': fields.char('Name', size=64),
|
'name': fields.char('Name', size=64),
|
||||||
'type': fields.selection(TODO_TYPES, 'Type', required=True,
|
'type': fields.selection(TODO_TYPES, 'Type', required=True,
|
||||||
help="""Manual: Launched manually.
|
help="""Manual: Launched manually.
|
||||||
Automatic: Runs whenever the system is reconfigured."""),
|
Automatic: Runs whenever the system is reconfigured.
|
||||||
|
Launch Manually Once: after hacing been launched manually, it sets automatically to Done."""),
|
||||||
'groups_id': fields.many2many('res.groups', 'res_groups_action_rel', 'uid', 'gid', 'Groups'),
|
'groups_id': fields.many2many('res.groups', 'res_groups_action_rel', 'uid', 'gid', 'Groups'),
|
||||||
'note': fields.text('Text', translate=True),
|
'note': fields.text('Text', translate=True),
|
||||||
'category_id': fields.many2one('ir.actions.todo.category','Category'),
|
'category_id': fields.many2one('ir.actions.todo.category','Category'),
|
||||||
|
@ -843,7 +844,7 @@ Automatic: Runs whenever the system is reconfigured."""),
|
||||||
""" Launch Action of Wizard"""
|
""" Launch Action of Wizard"""
|
||||||
wizard_id = ids and ids[0] or False
|
wizard_id = ids and ids[0] or False
|
||||||
wizard = self.browse(cr, uid, wizard_id, context=context)
|
wizard = self.browse(cr, uid, wizard_id, context=context)
|
||||||
if wizard.type == 'automatic':
|
if wizard.type in ('automatic', 'once'):
|
||||||
wizard.write({'state': 'done'})
|
wizard.write({'state': 'done'})
|
||||||
|
|
||||||
# Load action
|
# Load action
|
||||||
|
@ -890,13 +891,13 @@ Automatic: Runs whenever the system is reconfigured."""),
|
||||||
done = filter(
|
done = filter(
|
||||||
groups_match,
|
groups_match,
|
||||||
self.browse(cr, uid,
|
self.browse(cr, uid,
|
||||||
self.search(cr, uid, ['&', ('state', '!=', 'open'), ('type', '=', 'manual')], context=context),
|
self.search(cr, uid, [('state', '!=', 'open')], context=context),
|
||||||
context=context))
|
context=context))
|
||||||
|
|
||||||
total = filter(
|
total = filter(
|
||||||
groups_match,
|
groups_match,
|
||||||
self.browse(cr, uid,
|
self.browse(cr, uid,
|
||||||
self.search(cr, uid, [('type', '=', 'manual')], context=context),
|
self.search(cr, uid, [], context=context),
|
||||||
context=context))
|
context=context))
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -39,27 +39,6 @@ class res_config_configurable(osv.osv_memory):
|
||||||
_inherit = 'ir.wizard.screen'
|
_inherit = 'ir.wizard.screen'
|
||||||
__logger = logging.getLogger(_name)
|
__logger = logging.getLogger(_name)
|
||||||
|
|
||||||
def get_current_progress(self, cr, uid, context=None):
|
|
||||||
'''Return a description the current progress of configuration:
|
|
||||||
a tuple of (non_open_todos:int, total_todos: int)
|
|
||||||
'''
|
|
||||||
return itemgetter('done', 'total')(
|
|
||||||
self.pool.get('ir.actions.todo').progress(cr, uid, context=context))
|
|
||||||
|
|
||||||
def _progress(self, cr, uid, context=None):
|
|
||||||
closed, total = self.get_current_progress(cr, uid, context=context)
|
|
||||||
if total:
|
|
||||||
return round(closed*100./total)
|
|
||||||
return 100.
|
|
||||||
|
|
||||||
_columns = dict(
|
|
||||||
progress = fields.float('Configuration Progress', readonly=True),
|
|
||||||
)
|
|
||||||
|
|
||||||
_defaults = dict(
|
|
||||||
progress = _progress,
|
|
||||||
)
|
|
||||||
|
|
||||||
def _next_action(self, cr, uid, context=None):
|
def _next_action(self, cr, uid, context=None):
|
||||||
Todos = self.pool['ir.actions.todo']
|
Todos = self.pool['ir.actions.todo']
|
||||||
self.__logger.info('getting next %s', Todos)
|
self.__logger.info('getting next %s', Todos)
|
||||||
|
@ -91,11 +70,7 @@ class res_config_configurable(osv.osv_memory):
|
||||||
res = next.action_launch(context=context)
|
res = next.action_launch(context=context)
|
||||||
res['nodestroy'] = False
|
res['nodestroy'] = False
|
||||||
return res
|
return res
|
||||||
self.__logger.info('all configuration actions have been executed')
|
return {'type' : 'ir.actions.act_window_close'}
|
||||||
|
|
||||||
current_user_menu = self.pool.get('res.users').browse(cr, uid, uid).menu_id
|
|
||||||
# return the action associated with the menu
|
|
||||||
return self.pool.get(current_user_menu.type).read(cr, uid, current_user_menu.id)
|
|
||||||
|
|
||||||
def start(self, cr, uid, ids, context=None):
|
def start(self, cr, uid, ids, context=None):
|
||||||
return self.next(cr, uid, ids, context)
|
return self.next(cr, uid, ids, context)
|
||||||
|
|
Loading…
Reference in New Issue