Odoo 9哪里可以找到stock.move xml中的动作按钮下拉列表?

时间:2016-06-01 06:02:33

标签: xml treeview openerp odoo-9 odoo-view

我想更改action的{​​{1}}按钮下拉菜单或adding deleting中的stock.move class子项(或更改导出功能),但我找不到该位置使用xml"action"下拉菜单向"export"按钮"delete"进行了描述。据我所知,它必须是记录模型= "ir.actions.act_window"tree视图。

我说的是这个菜单:

http://www.part.lt/img/thumb/5ca9481df84ab612afc0ccacb2f25581446.png

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

<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>

也许我不是在正确的地方寻找?

1 个答案:

答案 0 :(得分:1)

base.xml(在addons / web / static / src / xml / base.xml中)有 FieldBinaryFileUploader ,它调用控制器/web/binary/upload_attachment(在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">

OR

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

用于处理onclick of action

示例代码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>

希望此参考可能有助于理解出口的工作方式。