我在项目看板视图中添加了备注部分。问题是当我点击它时出现错误NameError: name 'active_id' is not defined
我已经使用此方法在项目,联系人和产品表单视图中创建智能按钮,并且效果很好。单击智能按钮时,它将重定向到预先过滤的备注页面。我担心,因为那里并不是一个活跃的"项目打开,不会有active_id。如果是这种情况,我该如何根据我点击的那个进行过滤?
看板视图
<record id="view_project_notes_kanban" model="ir.ui.view">
<field name="name">triangle.project.note.kanban</field>
<field name="model">project.project</field>
<field name="inherit_id" ref="project.view_project_kanban"/>
<field name="arch" type="xml">
<data>
<xpath expr="//div[@class='o_project_kanban_boxes']" position="inside">
<div class="o_project_kanban_box">
<a name="%(note.action_note_note)d" type="action" context="{'search_default_project': active_id, 'default_project': active_id}">
<span class="o_value"><field name="note_count"/></span>
<span class="o_label">Notes</span>
</a>
</div>
</xpath>
</data>
</field>
</record>
表格视图(有效)
<record id="view_project_notes_form" model="ir.ui.view">
<field name="name">triangle.project.note.form</field>
<field name="model">project.project</field>
<field name="inherit_id" ref="project.edit_project"/>
<field name="arch" type="xml">
<data>
<xpath expr="//div[@name='button_box']" position="inside">
<button class="oe_stat_button" type="action" name="%(note.action_note_note)d"
icon="fa-sticky-note" context="{'search_default_project': active_id, 'default_project': active_id}">
<field string="Notes" name="note_count" widget="statinfo"/>
</button>
</xpath>
</data>
</field>
</record>
答案 0 :(得分:2)
请尝试使用record.id而不是active_id,即: -
<record id="view_project_notes_kanban" model="ir.ui.view">
<field name="name">triangle.project.note.kanban</field>
<field name="model">project.project</field>
<field name="inherit_id" ref="project.view_project_kanban"/>
<field name="arch" type="xml">
<data>
<xpath expr="//div[@class='o_project_kanban_boxes']" position="inside">
<div class="o_project_kanban_box">
<a name="%(note.action_note_note)d" type="action" context="{'search_default_project': record.id, 'default_project': record.id}">
<span class="o_value"><field name="note_count"/></span>
<span class="o_label">Notes</span>
</a>
</div>
</xpath>
</data>
</field>
</record>
答案 1 :(得分:0)
好的,我调整了一下我的方法,因为上下文实际上应该在note.note操作上,而不是project.project视图。
新项目看板:
<record id="view_project_notes_kanban" model="ir.ui.view">
<field name="name">triangle.project.note.kanban</field>
<field name="model">project.project</field>
<field name="inherit_id" ref="project.view_project_kanban"/>
<field name="arch" type="xml">
<data>
<xpath expr="//div[@class='o_project_kanban_boxes']" position="inside">
<a name="%(triangle.act_project_2_note)d" type="action" class="o_project_kanban_box">
<span class="o_value"><field name="note_count"/></span>
<span class="o_label">Notes</span>
</a>
</xpath>
</data>
</field>
</record>
新笔记窗口操作:
<act_window id="act_project_2_note"
name="Notes"
res_model="note.note"
view_mode="kanban,tree,form"
context="{'search_default_project': [active_id], 'default_project': active_id}"/>
这完全解决了我的问题!