Odoo 9 我在哪里可以找到 stock.move xml 中的操作按钮下拉菜单?

Odoo 9 where can I find action button dropdown in stock.move xml?

我想将 action 按钮下拉菜单更改为 addingdeleting stock.move class 中的子菜单(或更改导出功能),但我找不到放置在 xml 中,其中描述了带有 "export""delete" 下拉菜单的按钮 "action"。据我了解,它必须是 record model="ir.actions.act_window" 并且在 tree view.

我说的是这个菜单:


(source: part.lt)

我有这些 xml 来自核心 stock 插件:

<record id="act_product_stock_move_open" model="ir.actions.act_window">
        <field name="context">{'search_default_product_id': active_id, 'default_product_id': active_id}</field>
        <field name="name">Moves</field>
        <field name="res_model">stock.move</field>
        <field name="view_id" ref="stock.view_move_tree"/>
    </record>

    <record id="action_move_form2" model="ir.actions.act_window">
        <field name="name">Stock Moves</field>
        <field name="res_model">stock.move</field>
        <field name="type">ir.actions.act_window</field>
        <field name="view_type">form</field>
        <field name="view_id" ref="view_move_tree"/>
        <field name="search_view_id" ref="view_move_search"/>
        <field name="context">{}</field>
        <field name="help" type="html">
          <p class="oe_view_nocontent_create">
            Click to create a stock movement.
          </p><p>
            This menu gives you the full traceability of inventory
            operations on a specific product. You can filter on the product
            to see all the past or future movements for the product.
          </p>
        </field>
    </record>

    <record model="ir.actions.act_window.view" id="action_stock_move_tree_all">
        <field name="sequence" eval="1"/>
        <field name="view_mode">tree</field>
        <field name="view_id" ref="view_move_tree"/>
        <field name="act_window_id" ref="action_move_form2"/>
    </record>

    <record model="ir.actions.act_window.view" id="action_stock_move_form_all">
        <field name="sequence" eval="3"/>
        <field name="view_mode">form</field>
        <field name="view_id" ref="view_move_form"/>
    <field name="act_window_id" ref="action_move_form2"/>
    </record>

<record model="ir.actions.act_window.view" id="action_stock_move_graph_all">
    <field name="sequence" eval="3"/>
    <field name="view_mode">graph</field>
    <field name="view_id" ref="view_move_graph"/>
    <field name="act_window_id" ref="action_move_form2"/>
</record>

也许我搜索的地方不对?

base.xml(at addons/web/static/src/xml/base.xml) 有 FieldBinaryFileUploader 调用控制器 /web/binary/upload_attachment (at addons/web/controllers/main.py)

<t t-name="FieldBinaryFileUploader">
    <div t-att-style="widget.node.attrs.style" t-attf-class="oe_fileupload #{widget.node.attrs.class ? widget.node.attrs.class :''}">
        <div class="oe_placeholder_files"/>
        <div class="oe_add" t-if="!widget.get('effective_readonly')">
            <!-- uploader of file -->
            <button class="oe_attach"><i class="fa fa-paperclip"/></button>
            <span class='oe_attach_label'><t t-esc="widget.string"/></span>
            <t t-call="HiddenInputFile">
                <t t-set="fileupload_id" t-value="widget.fileupload_id"/>
                <t t-set="fileupload_action" t-translation="off">/web/binary/upload_attachment</t>
                <input type="hidden" name="model" t-att-value="widget.view.model"/>
                <input type="hidden" name="id" value="0"/>
                <input type="hidden" name="session_id" t-att-value="widget.session.session_id" t-if="widget.session.override_session"/>
            </t>
        </div>
    </div>
</t>

已编辑:用于在选项中添加新值

在 xml 中创建 model="ir.values" 的记录并将 stock.move 放入 <field name="model"> 并创建操作

<record id="my_module.my_new_action_stock_move" model="ir.actions.server">

<record id="my_module.my_new_action_stock_move" model="ir.actions.act_window">

用于处理动作的点击

示例代码 ir.values 如下:

<record model="ir.values" id="my_module.model_stock_move_values">
    <field name="model_id" ref="stock.model_stock_move" />
    <field name="name">My Options</field>
    <field name="key2">client_action_multi</field>
    <field name="value" eval="'ir.actions.act_window,'+str(ref('my_module.my_new_action_stock_move'))" />
    <field name="key">action</field>
    <field name="model">stock.move</field>
</record>

希望此参考资料有助于理解导出的工作原理。