首先,我对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" 。这有什么后果吗?
由于我不知道所有这些新环境,请不要犹豫,询问更多细节。
答案 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
}