“ir.actions.act_window”会导致无法点击的标签

时间:2018-04-03 11:03:53

标签: python odoo odoo-9

首先,我对Odoo和python很新。我必须修复一个bug,但我有点迷失了。这是我的问题:

我有一个名为“患者”的自定义组织,每个患者都有日历。在左侧菜单中,我可以访问显示所有患者的“患者”视图和显示所有日历的“日历”。当我点击患者时,会出现一个“显示日历”按钮,仅显示该患者的日历。当我点击此按钮时,它会显示患者的日历,但我无法打开日历(这就像文本,没有动作)。我必须点击左侧菜单上的日历,过滤患者en然后我可以点击患者的日历(我手动按钮应该做什么......)。

按钮:

<header>
    <field name="x_is_dept_patients" invisible="1"/>
    <button name="btnVoirCalendriers"
        type="object" string="Voir Calendriers"
        attrs="{'invisible':[('x_is_dept_patients', '==', False)]}"/>
</header>

功能:

@api.multi
def btnVoirCalendriers(self):
    self.ensure_one()
    return {
        'type'     : 'ir.actions.act_window',
        'res_model': 'calendrier',
        'view_mode': 'tree',
        'domain'   : "[('patient_id', '=', %d)]" % self.id
    }

我注意到网址有点不同,当我点击“显示日历”时,我有类似“... / web#page = 0&amp; limit = 80&amp; view_type = list&amp; model = calendrier&amp; active_id = 4“当我点击左侧菜单上的”日历“以获取所有日历时,我有”... / web#page = 0&amp; limit = 80&amp; view_type = list&amp; model = calendrier&amp; menu_id = 271安培;行动= 354" 。这有什么后果吗?

由于我不知道所有这些新环境,请不要犹豫,询问更多细节。

1 个答案:

答案 0 :(得分:1)

如果我已经理解了您,那么您正在打开正确过滤的每位患者的日历列表,但问题是,当您点击任何这些记录时,它什么都不做,而您需要在表单视图中打开日历。

如果是这样,请在按钮中指定您还要打开calendrier模型的表单视图,而不仅仅是树视图:

@api.multi
def btnVoirCalendriers(self):
    self.ensure_one()
    return {
        'type'     : 'ir.actions.act_window',
        'res_model': 'calendrier',
        'view_mode': 'tree,form',
        'domain'   : "[('patient_id', '=', %d)]" % self.id
    }