<field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
+ <filter string="Inventories Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" help="Physical Inventories by Month"/>
</group>
</search>
</field>
</page>
<page string="Posted Inventory">
- <field name="move_ids" context="{'inventory_id':active_id}" >
+ <field name="move_ids" context="{'inventory_id':active_id}" options='{"reload_on_button": true}' >
<tree string="Stock Moves">
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="model">stock.move</field>
<field name="field_parent">move_history_ids</field>
<field name="arch" type="xml">
- <tree colors="grey:state == 'cancel'" string="Moves">
+ <tree colors="grey:state == 'cancel'" string="Moves" create="false">
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="model">stock.move</field>
<field name="field_parent">move_history_ids2</field>
<field name="arch" type="xml">
- <tree colors="grey:state == 'cancel'" string="Moves">
+ <tree colors="grey:state == 'cancel'" string="Moves" create="false">
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
</tree>
</field>
</record>
+ <record model="ir.actions.act_window" id="action_product_location_tree">
+ <field name="context">{'product_id': active_id}</field>
+ <field name="name">Stock by Location</field>
+ <field name="res_model">stock.location</field>
+ </record>
+ <record id="act_product_stock_move_open" model="ir.actions.act_window">
+ <field name="context">{'search_default_done': 1,'search_default_product_id': active_id, 'default_product_id': active_id}</field>
+ <field name="name">Moves</field>
+ <field name="res_model">stock.move</field>
+ </record>
<record id="action_location_tree" model="ir.actions.act_window">
<field name="name">Location Structure</field>
<field name="res_model">stock.location</field>
<!-- <button name="action_assign" states="confirmed" string="Check Availability" type="object"/> -->
<button name="force_assign" states="confirmed" string="Force Availability" type="object" class="oe_highlight" groups="base.group_user"/>
<button name="action_process" states="assigned" string="Confirm & Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/>
- <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice/Refund" attrs="{'invisible': ['|','|',('state','<>','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" class="oe_highlight" groups="base.group_user"/>
+ <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice/Refund" attrs="{'invisible': ['|','|',('state','<>','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" context="{'group_field_invisible': True}" type="action" class="oe_highlight" groups="base.group_user"/>
<button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action" groups="base.group_user"/>
- <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" groups="base.group_user"/>
+ <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel Transfer" groups="base.group_user"/>
<field name="state" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
</header>
<sheet>
</group>
<notebook>
<page string="Products">
- <field name="move_lines" context="{'address_in_id': partner_id, 'form_view_ref':'view_move_picking_form', 'tree_view_ref':'view_move_picking_tree', 'picking_type': 'internal'}"/>
+ <field name="move_lines" context="{'address_in_id': partner_id, 'form_view_ref':'view_move_picking_form', 'tree_view_ref':'view_move_picking_tree', 'picking_type': 'internal'}" options='{"reload_on_button": true}'/>
<field name="note" placeholder="Add an internal note..." class="oe_inline"/>
</page>
<page string="Additional Info">
<filter icon="terp-check" name="available" string="Ready" domain="[('state','=','assigned')]" help="Assigned Internal Moves"/>
<filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Internal Moves"/>
<filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Pickings already processed"/>
- <field name="partner_id"/>
+ <field name="partner_id" filter_domain="[('partner_id','child_of',self)]"/>
<field name="product_id"/>
<field name="stock_journal_id"/>
<group expand="0" string="Group By...">
<field name="state" nolabel="1" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
</xpath>
<xpath expr="//field[@name='partner_id']" position="replace">
- <field name="partner_id" on_change="onchange_partner_in(partner_id)" string="Customer"/>
+ <field name="partner_id" on_change="onchange_partner_in(partner_id)" string="Customer" domain="[('customer','=',True)]" />
</xpath>
<xpath expr="//field[@name='move_lines']" position="replace">
- <field name="move_lines" context="{'address_out_id': partner_id, 'picking_type': 'out', 'form_view_ref':'view_move_picking_form', 'tree_view_ref':'view_move_picking_tree'}"/>
+ <field name="move_lines" context="{'address_out_id': partner_id, 'picking_type': 'out', 'form_view_ref':'view_move_picking_form', 'tree_view_ref':'view_move_picking_tree'}" options='{"reload_on_button": true}'/>
</xpath>
<xpath expr="/form/sheet" position="after">
<div class="oe_chatter">
<filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
<separator/>
<filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Delivery orders to invoice"/>
+ <field name="partner_id" filter_domain="[('partner_id','child_of',self)]"/>
<field name="stock_journal_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
- <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
+ <filter string="Order Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
+ <filter string="Expected Month" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
</group>
</search>
<button name="action_process" states="assigned" string="Receive" type="object" class="oe_highlight"/>
</xpath>
<xpath expr="//field[@name='partner_id']" position="replace">
- <field name="partner_id" on_change="onchange_partner_in(partner_id)" string="Supplier"/>
+ <field name="partner_id" on_change="onchange_partner_in(partner_id)" string="Supplier" domain="[('supplier','=',True)]" />
</xpath>
<xpath expr="//field[@name='move_lines']" position="replace">
- <field name="move_lines" context="{'address_in_id': partner_id, 'picking_type': 'in', 'form_view_ref':'view_move_picking_form', 'tree_view_ref':'view_move_picking_tree'}"/>
+ <field name="move_lines" context="{'address_in_id': partner_id, 'picking_type': 'in', 'form_view_ref':'view_move_picking_form', 'tree_view_ref':'view_move_picking_tree'}" options='{"reload_on_button": true}'/>
</xpath>
<xpath expr="/form/sheet" position="after">
<div class="oe_chatter">
<filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
<separator/>
<filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/>
+ <field name="partner_id" filter_domain="[('partner_id','child_of',self)]"/>
<field name="stock_journal_id"/>
<field name="product_id"/>
<group expand="0" string="Group By...">
<filter icon="terp-stock_effects-object-colorize" name="state" string="Status" domain="[]" context="{'group_by':'state'}"/>
- <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
- <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
+ <filter string="Order Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
+ <filter string="Expected Month" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
</group>
</search>
<field name="model">stock.move</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
- <tree colors="grey:state == 'cancel';red:(state not in ('cancel','done')) and date > current_date" string="Moves" editable="top">
+ <tree colors="grey:state == 'cancel';red:(state not in ('cancel','done')) and date > current_date" string="Moves">
<field name="name"/>
<field name="picking_id" string="Reference"/>
<field name="origin"/>
<button name="%(action_partial_move_server)d" string="Process Partially" type="action" states="assigned" class="oe_highlight"/>
<button name="action_done" states="draft,assigned,confirmed" string="Process Entirely" type="object" class="oe_highlight"/>
<button name="force_assign" states="confirmed" string="Set Available" type="object" class="oe_highlight"/>
- <button name="action_cancel" states="assigned,confirmed" string="_Cancel" type="object"/>
+ <button name="action_cancel" states="assigned,confirmed" string="Cancel Move" type="object"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"waiting":"blue","confirmed":"blue"}'/>
</header>
<sheet>
<field name="location_dest_id" groups="stock.group_locations"/>
<field name="partner_id" context="{'contact_display':'partner'}"
groups="stock.group_locations"/>
- <field name="date_expected" on_change="onchange_date(date,date_expected)"/>
- <field name="date" groups="base.group_no_one"/>
+ <field name="date_expected" on_change="onchange_date(date,date_expected)" attrs="{'invisible': [('state', '=', 'done')]}"/>
+ <field name="date" attrs="{'invisible': [('state', '!=', 'done')]}"/>
</group>
<group string="Traceability"
groups="stock.group_tracking_lot">
<field eval="3" name="priority"/>
<field name="arch" type="xml">
<search string="Stock Moves">
- <field name="origin" domain="['|',('origin','ilike',self),('picking_id','ilike',self)]" string="Reference"/>
+ <field name="origin" filter_domain="['|',('origin','ilike',self),('picking_id','ilike',self)]" string="Reference"/>
<field name="date" groups="base.group_no_one"/>
<filter icon="terp-camera_test" string="Ready" name="ready" domain="[('state','=','assigned')]" help="Stock moves that are Available (Ready to process)"/>
<filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders processed Today or planned for Today"/>
<field name="product_id"/>
<field name="name" string="Location" filter_domain="['|',('location_id','ilike',self),('location_dest_id','ilike',self)]"/>
- <field name="partner_id" string="Partner" filter_domain="[('picking_id.partner_id','ilike',self)]"/>
+ <field name="partner_id" string="Partner" filter_domain="[('picking_id.partner_id','child_of',self)]"/>
<field name="prodlot_id"/>
<group expand="0" string="Group By...">
<filter string="Product" name="by_product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Picking" name="groupby_picking_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'picking_id'}"/>
<filter string="Serial Number" name="groupby_prodlot_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'prodlot_id'}"/>
<filter string="Pack" name="groupby_tracking_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'tracking_id'}"/>
- <filter string="Source" name="groupby_location_id" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'location_id'}"/>
- <filter string="Destination" name="groupby_dest_location_id" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'location_dest_id'}"/>
+ <filter string="Source" name="groupby_location_id" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'location_id'}" groups="stock.group_locations"/>
+ <filter string="Destination" name="groupby_dest_location_id" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'location_dest_id'}" groups="stock.group_locations"/>
<filter icon="terp-stock_effects-object-colorize" string="Status" domain="[]" context="{'group_by':'state'}"/>
<filter string="Creation" name="groupby_create_date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
<filter string="Scheduled" name="groupby_date" icon="terp-go-month" domain="[]" context="{'group_by':'date_expected'}"/>
<field name="location_id" invisible="1"/>
<field name="location_dest_id" invisible="1"/>
<field name="create_date" invisible="1"/>
+ <field name="date_expected" invisible="1"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="terp-gtk-jump-to-ltr" context="{'scrap': True}"
res_model="product.product"
src_model="stock.location"/>
- <act_window
- context="{'search_default_done': 1,'search_default_product_id': [active_id], 'default_product_id': active_id}"
- id="act_product_stock_move_open"
- name="Inventory Move"
- res_model="stock.move"
- src_model="product.product"/>
-
- <act_window
- context="{'search_default_future': 1,'search_default_product_id': [active_id], 'default_product_id': active_id}"
- domain="[('state','in',('waiting','confirmed','assigned'))]"
- id="act_product_stock_move_futur_open"
- name="Future Stock Moves"
- res_model="stock.move"
- src_model="product.product"/>
-
<record id="ir_act_product_location_open" model="ir.values">
<field name="key2">tree_but_open</field>
<field name="model">stock.location</field>
<form string="Stock Journal" version="7.0">
<group>
<field name="name"/>
- <field name="user_id"/>
+ <field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'account.group_account_invoice', 'stock.group_stock_manager']}"/>
</group>
</form>
</field>