如何使用按钮调用特定记录的视图?
我需要帮助,想用一个按钮来显示特定的记录在列表视图里。
现在我用的是下面这段代码:
<button name="%(action_menu_activitydata)d" type='action'/>
<record id="action_menu_activitydata" model="ir.actions.act_window">
<field name="name">ActivityData</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">budget.activitydata</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="activitydata"/>
</record>
当我点击这个按钮的时候,我可以看到列表视图里的所有记录。那我该怎么做才能打开一个表单视图,显示特定的记录呢?
1 个回答
0
为了这个目的,使用对象而不是动作。
看看这个例子,可能会对你有帮助。
使用你的模块树视图,表单视图,然后查看你需要的资源ID(这一步是可选的)。
def redirect_phonecall_view(self, cr, uid, phonecall_id, context=None):
model_data = self.pool.get('ir.model.data')
# Select the view
tree_view = model_data.get_object_reference(cr, uid, 'crm', 'crm_case_phone_tree_view')
form_view = model_data.get_object_reference(cr, uid, 'crm', 'crm_case_phone_form_view')
search_view = model_data.get_object_reference(cr, uid, 'crm', 'view_crm_case_phonecalls_filter')
value = {
'name': _('Phone Call'),
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'crm.phonecall',
'res_id' : int(phonecall_id),
'views': [(form_view and form_view[1] or False, 'form'), (tree_view and tree_view[1] or False, 'tree'), (False, 'calendar')],
'type': 'ir.actions.act_window',
'search_view_id': search_view and search_view[1] or False,
}
return value