【问题标题】:'active_id' for project in kanban view?看板视图中项目的“active_id”?
【发布时间】:2017-03-14 20:16:01
【问题描述】:

我在项目看板视图中添加了一个注释部分。问题是当我点击它时出现错误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>

【问题讨论】:

    标签: button view openerp odoo-9 kanban


    【解决方案1】:

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

    【讨论】:

    • 这绝对是个好主意,但是,它仍然返回错误。 NameError: name 'record' is not defined。真的不知道如何调试这个!
    • 更多信息:record.field 方法在 res.partner 继承视图中对我有效,但在 project.project 继承视图中无效。
    • 你能说明你正在使用哪个版本
    • 如果你是v9,那么尝试用记录获取id的值,即record.id.value
    • 是的,它是 v9。如上所述,我在“记录”上收到 NameError。即使我尝试了“record.id.value”,“record”仍然会出错。
    【解决方案2】:

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

    这完全解决了我的问题!

    【讨论】:

    • 好,下次你应该用你所有的发现和影响代码来改进你的问题
    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    相关资源
    最近更新 更多