[IMP] action: formatting of ShareWizardController.index, bail out early to reduce nesting

bzr revid: xmo@openerp.com-20101122121813-ih6qf4d5jrif914d
This commit is contained in:
Xavier Morel 2010-11-22 13:18:13 +01:00
parent fa3bda7f54
commit c8b4041d70
1 changed files with 28 additions and 12 deletions

View File

@ -12,19 +12,35 @@ class ShareWizardController(openerp.controllers.SecuredController):
@expose()
def index(self, domain, search_domain, context, name):
context = ast.literal_eval(context)
view_name = context.get('_terp_view_name') or name
if not view_name: return
action_id = rpc.RPCProxy('ir.actions.actions').search(
[('name','=',view_name)], 0, 0, 0, context)
if not action_id: return
domain = ast.literal_eval(domain)
search_domain = ast.literal_eval(search_domain)
domain.extend(search_domain)
context = ast.literal_eval(context)
view_name = context.get('_terp_view_name') or name
if view_name:
action_id = rpc.RPCProxy('ir.actions.actions').search([('name','=',view_name)], 0, 0, 0, context)
if action_id:
action_id = action_id[0]
share_model = 'share.wizard'
share_root_url = cherrypy.request.base
share_wiz_id = rpc.RPCProxy('ir.ui.menu').search([('name','=', 'Share Wizard')])
context.update({'active_ids': share_wiz_id, 'active_id': share_wiz_id[0], '_terp_view_name': 'Share Wizard', 'share_root_url': share_root_url})
sharing_view_id = rpc.RPCProxy(share_model).create({'domain': str(domain), 'action_id':action_id}, context)
return actions.execute(rpc.session.execute('object', 'execute', share_model, 'go_step_1', [sharing_view_id], context), ids=[sharing_view_id], context=context)
action_id = action_id[0]
share_model = 'share.wizard'
share_root_url = cherrypy.request.base
share_wiz_id = rpc.RPCProxy('ir.ui.menu').search(
[('name','=', 'Share Wizard')])
context.update({
'active_ids': share_wiz_id,
'active_id': share_wiz_id[0],
'_terp_view_name': 'Share Wizard',
'share_root_url': share_root_url
})
sharing_view_id = rpc.RPCProxy(share_model).create({
'domain': str(domain),
'action_id':action_id
}, context)
return actions.execute(
rpc.session.execute('object', 'execute', share_model, 'go_step_1',
[sharing_view_id], context),
ids=[sharing_view_id], context=context)