Many2one fields resolve to strings when used as `self` within the @context or @filter_domain attributes of a search field, because they must be able to support partial matches, e.g. search for "Sto" to match "Stock". In many case the code was not prepared to accept string for the magic context values, so the magic fields now caused crashes. The widget="selection" attribute was dropped during the search view cleanup for 7.0, without noticing this unfortunate side-effect, at revision: addons 7.0 revno 7142 revid:qdp-launchpad@openerp.com-20120731150358-jqd3eoz06imzlx01 lp bug: https://launchpad.net/bugs/1192484 fixed bzr revid: odo@openerp.com-20131004105218-edvb5ewduqar3x88
231 lines
13 KiB
XML
231 lines
13 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<openerp>
|
|
<data>
|
|
|
|
<record id="product_search_form_view_stock" model="ir.ui.view">
|
|
<field name="name">product.search.stock.form</field>
|
|
<field name="model">product.product</field>
|
|
<field name="inherit_id" ref="product.product_search_form_view"/>
|
|
<field name="arch" type="xml">
|
|
<field name="pricelist_id" position="before">
|
|
<field name="location_id" widget="selection" context="{'location': self}"/>
|
|
<field name="warehouse_id" widget="selection" context="{'warehouse': self}"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_category_property_form" model="ir.ui.view">
|
|
<field name="name">product.category.stock.property.form.inherit</field>
|
|
<field name="model">product.category</field>
|
|
<field name="inherit_id" ref="account.view_category_property_form"/>
|
|
<field name="arch" type="xml">
|
|
<data>
|
|
<group name="account_property" position="after">
|
|
<group name="account_stock_property" string="Account Stock Properties" colspan="2">
|
|
<field name="property_stock_account_input_categ" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
|
<field name="property_stock_account_output_categ" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
|
<field name="property_stock_valuation_account_id" domain="[('type','<>','view'), ('type','<>','consolidation')]"/>
|
|
<field name="property_stock_journal"/>
|
|
</group>
|
|
</group>
|
|
</data>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_template_property_form" model="ir.ui.view">
|
|
<field name="name">product.template.stock.property.form.inherit</field>
|
|
<field name="model">product.template</field>
|
|
<field name="inherit_id" ref="product.product_template_form_view"/>
|
|
<field name="arch" type="xml">
|
|
<group name="delay" position="inside">
|
|
<field name="sale_delay" attrs="{'readonly':[('sale_ok','=',False)]}"/>
|
|
</group>
|
|
<group name="delay" position="after">
|
|
<group name="store" string="Storage Location">
|
|
<field name="loc_rack"/>
|
|
<field name="loc_row"/>
|
|
<field name="loc_case"/>
|
|
</group>
|
|
</group>
|
|
<page position="after" string="Information">
|
|
<page string="Properties">
|
|
<group string="Counter-Part Locations Properties" groups="stock.group_locations">
|
|
<field name="property_stock_procurement" domain="[('usage','=','procurement')]"/>
|
|
<field name="property_stock_production" domain="[('usage','=','production')]"/>
|
|
<field name="property_stock_inventory" domain="[('usage','=','inventory')]"/>
|
|
</group>
|
|
<group string="Accounting Entries">
|
|
<field name="property_stock_account_input" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
|
<field name="property_stock_account_output" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
|
</group>
|
|
</page>
|
|
</page>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_normal_procurement_locations_form" model="ir.ui.view">
|
|
<field name="name">product.normal.procurement.locations.inherit</field>
|
|
<field name="model">product.product</field>
|
|
<field name="inherit_id" ref="product.product_normal_form_view"/>
|
|
<field name="arch" type="xml">
|
|
<group name="procurement_uom" position="before">
|
|
<group name="delay" string="Delays">
|
|
<label for="produce_delay" attrs="{'invisible':[('type','=','service')]}"/>
|
|
<div attrs="{'invisible':[('type','=','service')]}">
|
|
<field name="produce_delay" class="oe_inline"/> days
|
|
</div>
|
|
<field name="active"/>
|
|
</group>
|
|
</group>
|
|
<xpath expr="//group[@string='Sale Conditions']" position="inside">
|
|
<label for="sale_delay"/>
|
|
<div>
|
|
<field name="sale_delay" class="oe_inline"/> days
|
|
</div>
|
|
</xpath>
|
|
<group name="status" position="before" version="7.0">
|
|
<group string="Stock and Expected Variations" attrs="{'invisible': [('type', '=', 'service')]}" groups="base.group_user">
|
|
<label for="qty_available"/>
|
|
<div>
|
|
<field name="qty_available" class="oe_inline"/>
|
|
<button name="%(action_view_change_product_quantity)d" string="update"
|
|
type="action"
|
|
class="oe_link"/>
|
|
</div>
|
|
<field name="incoming_qty" class="oe_inline"/>
|
|
<field name="outgoing_qty" class="oe_inline"/>
|
|
<field name="virtual_available" class="oe_inline"/>
|
|
</group>
|
|
<group name="lot" groups="stock.group_tracking_lot,stock.group_production_lot" string="Lots">
|
|
<field name="track_production" groups="stock.group_production_lot"/>
|
|
<field name="track_incoming" groups="stock.group_tracking_lot"/>
|
|
<field name="track_outgoing" groups="stock.group_tracking_lot"/>
|
|
</group>
|
|
</group>
|
|
<group name="status" position="after" version="7.0">
|
|
<group name="store" string="Storage Location">
|
|
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
|
<field name="loc_rack" attrs="{'invisible':[('type','=','service')]}"/>
|
|
<field name="loc_row" attrs="{'invisible':[('type','=','service')]}"/>
|
|
<field name="loc_case" attrs="{'invisible':[('type','=','service')]}"/>
|
|
</group>
|
|
</group>
|
|
<group name="Weights" position="after">
|
|
<group name="store" groups="stock.group_locations" string="Counter-Part Locations Properties">
|
|
<field name="property_stock_procurement" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','procurement')]"/>
|
|
<field name="property_stock_production" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','production')]"/>
|
|
<field name="property_stock_inventory" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','inventory')]"/>
|
|
</group>
|
|
</group>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_product_standard_price_form" model="ir.ui.view">
|
|
<field name="name">product.product.standard.price.form.inherit</field>
|
|
<field name="model">product.product</field>
|
|
<field name="inherit_id" ref="product.product_normal_form_view"/>
|
|
<field name="arch" type="xml">
|
|
<field name="standard_price" position="replace" version="7.0">
|
|
<label string="Cost Price" for="standard_price" align="1.0" groups="base.group_user"/>
|
|
<div groups="base.group_user">
|
|
<field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}" nolabel="1"/>
|
|
<button name="%(action_view_change_standard_price)d" string="- update"
|
|
type="action" attrs="{'invisible':[('cost_method','<>','average')]}"
|
|
class="oe_link" groups="product.group_costing_method"/>
|
|
</div>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_normal_property_acc_form" model="ir.ui.view">
|
|
<field name="name">product.normal.stock.acc.property.form.inherit</field>
|
|
<field name="model">product.product</field>
|
|
<field name="inherit_id" ref="product.product_normal_form_view"/>
|
|
<field name="priority">26</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//group[@name='properties']" position="before">
|
|
<group groups="stock.group_inventory_valuation">
|
|
<separator string="Inventory Valuation" colspan="4"/>
|
|
<group colspan="2" col="2">
|
|
<field name="valuation" attrs="{'readonly':[('type', '=', 'service')]}"/>
|
|
</group>
|
|
<group colspan="2" col="2">
|
|
<field name="property_stock_account_input" attrs="{'invisible':[('valuation', '!=', 'real_time')]}"
|
|
domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
|
<field name="property_stock_account_output" attrs="{'invisible':[('valuation', '!=', 'real_time')]}"
|
|
domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
|
</group>
|
|
</group>
|
|
<newline/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
<record id="action_receive_move" model="ir.actions.act_window">
|
|
<field name="name">Receptions</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_mode">tree,form</field>
|
|
<field name="domain">[('picking_id.type','=','in')]</field>
|
|
<field name="view_id" ref="view_move_tree_reception_picking"/>
|
|
<field name="context" eval="'{\'search_default_product_id\': [active_id]}'"/>
|
|
<field name="help" type="html">
|
|
<p class="oe_view_nocontent_create">
|
|
Click to register a reception for this product.
|
|
</p><p>
|
|
Here you will find the history of all receptions related to
|
|
this product, as well as all future receptions you are waiting
|
|
from your suppliers.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_deliver_move" model="ir.actions.act_window">
|
|
<field name="name">Deliveries</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_mode">tree,form</field>
|
|
<field name="domain">[('picking_id.type','=','out')]</field>
|
|
<field name="view_id" ref="view_move_tree_reception_picking"/>
|
|
<field name="context" eval="'{\'search_default_product_id\': [active_id]}'"/>
|
|
<field name="help" type="html">
|
|
<p class="oe_view_nocontent_create">
|
|
Click to add a delivery order for this product.
|
|
</p><p>
|
|
Here you will find the history of all past deliveries related to
|
|
this product, as well as all the products you must deliver to
|
|
customers.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="product_kanban_stock_view">
|
|
<field name="name">Product Kanban Stock</field>
|
|
<field name="model">product.product</field>
|
|
<field name="inherit_id" ref="product.product_kanban_view"/>
|
|
<field name="arch" type="xml">
|
|
<field name="list_price" position="after">
|
|
<field name="reception_count"/>
|
|
<field name="delivery_count"/>
|
|
</field>
|
|
<xpath expr="//div[@name='tags']" position="inside">
|
|
<a name="%(action_receive_move)d" type="action" t-if="record.reception_count.raw_value>0">
|
|
<t t-esc="record.reception_count.value"/> Receptions
|
|
</a>
|
|
<a name="%(action_deliver_move)d" type="action" t-if="record.delivery_count.raw_value>0">
|
|
<t t-esc="record.delivery_count.value"/> Deliveries
|
|
</a>
|
|
</xpath>
|
|
<ul position="inside">
|
|
<li t-if="record.type.raw_value != 'service'">On hand: <field name="qty_available"/> <field name="uom_id"/></li>
|
|
<li t-if="record.type.raw_value != 'service'">Forecasted: <field name="virtual_available"/> <field name="uom_id"/></li>
|
|
</ul>
|
|
</field>
|
|
</record>
|
|
|
|
</data>
|
|
</openerp>
|