'active_id' 用于看板视图中的项目?

'active_id' for project in kanban view?

我在项目看板视图中添加了注释部分。问题是当我点击它时出现错误 NameError: name 'active_id' is not defined

我已经使用这种方法在项目、联系人和产品表单视图中创建了智能按钮,并且效果很好。当您单击智能按钮时,它将重定向到预先过滤的笔记页面。我担心由于没有真正打开的 "active" 项目,所以不会有 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>

请尝试 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>

好的,我稍微调整了我的方法,因为上下文实际上应该在 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>

新建注释Window 操作:

<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}"/>

这完全解决了我的问题!