按钮单击Event..Odoo8

时间:2015-01-14 12:38:07

标签: openerp

我有一个名为action_list的按钮,它被放置在XML文件中并且正常工作。我想要的是我想从我的表中获取数据,如task_name和按钮单击时的持续时间,这应该显示在一个新的向导中,其中target = new。我正在尝试下面的代码。请在所有情况下指导我

def action_list(self,cr,uid,ids,context=None):

    cr.execute("SELECT task_name, duration FROM activity_track WHERE id =%s",ids)

    result= map(lambda x: x[0], cr.fetchall())


    return {

      'type':'ir.actions.act_window',

      'view_mode':'tree,form',

      'view_type':'tree',

      'domain':'[]',

      'nodestroy': True,

       'target': 'new',

      'res_model':'activity.track',

        }

1 个答案:

答案 0 :(得分:0)

您可以通过2种方式执行此操作

1. /您可以通过'结果'在上下文中,您将动作中的上下文与域,目标等其他参数一起传递。然后,您可以从上下文变量

中获取向导中的值
 def action_list(self,cr,uid,ids,context=None):

    cr.execute("SELECT task_name, duration FROM activity_track WHERE id =%s",ids)

    result= map(lambda x: x[0], cr.fetchall())

    context.update({myresult':result})

    return {

      'type':'ir.actions.act_window',

      'view_mode':'tree,form',

      'view_type':'tree',

      'domain':'[]',

      'nodestroy': True,

      'context':context,

       'target': 'new',

      'res_model':'activity.track',


        }

2. /在您的向导中,您将获得' active_ids',使用此功能可以直接在向导中获得结果。 active_ids将使用与您尝试使用的按钮单击事件中传递的ID相同的ID。以下行将在向导中使用。

current_ids =context.get('active_ids',False)