[IMP] Add checkboxes on routes

bzr revid: jco@openerp.com-20130906115402-195wsif9wg6z6cgh
This commit is contained in:
Josse Colpaert 2013-09-06 13:54:02 +02:00
parent a4433a15ff
commit f5ad729ab5
7 changed files with 45 additions and 11 deletions

View File

@ -48,14 +48,14 @@ class sale_order(osv.osv):
class sale_order_line(osv.osv):
_inherit = 'sale.order.line'
_columns = {
'route_id': fields.many2one('stock.location.route', 'Route', domain=[('sale', '=', True)]),
'route_id': fields.many2one('stock.location.route', 'Route', domain=[('sale_selectable', '=', True)]),
}
class stock_location_route(osv.osv):
_inherit = "stock.location.route"
_columns = {
'sale':fields.boolean("Can be set on sale order line")
'sale_selectable':fields.boolean("Selectable on Sales Order Line")
}

View File

@ -44,10 +44,21 @@
<field name="inherit_id" ref="stock_location.stock_location_route_form_view"/>
<field name="model">stock.location.route</field>
<field name="arch" type="xml">
<xpath expr="//field[@name='pull_ids']" position="after">
<field name="sale"/>
<xpath expr="//field[@name='name']" position="after">
<field name="sale_selectable"/>
</xpath>
</field>
</record>
<record id="stock_location_route_tree_inherit" model="ir.ui.view">
<field name="name">stock.location.route.tree.inherit</field>
<field name="inherit_id" ref="stock_location.stock_location_route_tree"/>
<field name="model">stock.location.route</field>
<field name="arch" type="xml">
<xpath expr="//field[@name='warehouse_selectable']" position="after">
<field name="sale_selectable"/>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -23,7 +23,8 @@
<record id="route_drop_shipping" model='stock.location.route'>
<field name="name">Drop Shipping</field>
<field name="sequence">3</field>
<field name="sale">True</field>
<field name="sale_selectable" eval="True"/>
<field name="product_categ_selectable" eval="True"/>
</record>
<record id="procurement_rule_drop_shipping" model="procurement.rule">
@ -40,7 +41,9 @@
<!-- Crossdock -->
<record id="stock_location.route_warehouse0_crossdock" model='stock.location.route'>
<field name="name">Crossdock</field>
<field name="sale">True</field>
<field name="sale_selectable" eval="True"/>
<field name="product_categ_selectable" eval="True"/>
</record>
<record id="procurement_rule_customer0_xdock" model="procurement.rule">
<field name="name"> Supplier → Output</field>
@ -50,5 +53,7 @@
<field name="route_id" ref="stock_location.route_warehouse0_crossdock"/>
<field name="picking_type_id" ref="stock.picking_type_in"/>
</record>
</data>
</openerp>

View File

@ -60,4 +60,4 @@
sale_id = self.pool.get('sale.order').browse(cr, uid, ref("sale_order_route_crossdock"))
proc_ids = self.search(cr, uid, [('group_id.name', '=', sale_id.name)])
purchase_id = [proc.purchase_id for proc in self.browse(cr, uid, proc_ids) if proc.purchase_id]
assert purchase_id, 'No Purchase Quotation is created'
assert purchase_id, 'No Purchase Quotation is created'

View File

@ -34,6 +34,9 @@ class stock_location_route(osv.osv):
'sequence': fields.integer('Sequence'),
'pull_ids': fields.one2many('procurement.rule', 'route_id', 'Pull Rules'),
'push_ids': fields.one2many('stock.location.path', 'route_id', 'Push Rules'),
'product_selectable': fields.boolean('Selectable on Product'),
'product_categ_selectable': fields.boolean('Selectable on Product Category'),
'warehouse_selectable': fields.boolean('Selectable on Warehouse'),
}
_defaults = {
'sequence': lambda self,cr,uid,ctx: 0,
@ -42,7 +45,7 @@ class stock_location_route(osv.osv):
class stock_warehouse(osv.osv):
_inherit = 'stock.warehouse'
_columns = {
'route_id': fields.many2one('stock.location.route', 'Default Routes', help='Default route through the warehouse', required=True),
'route_id': fields.many2one('stock.location.route', 'Default Routes', domain="[('warehouse_selectable', '=', True)]", help='Default route through the warehouse', required=True),
}
@ -201,13 +204,13 @@ class product_removal_strategy(osv.osv):
class product_product(osv.osv):
_inherit = 'product.product'
_columns = {
'route_ids': fields.many2many('stock.location.route', 'stock_location_route_product', 'product_id', 'route_id', 'Routes'),
'route_ids': fields.many2many('stock.location.route', 'stock_location_route_product', 'product_id', 'route_id', 'Routes', domain="[('product_selectable', '=', True)]"),
}
class product_category(osv.osv):
_inherit = 'product.category'
_columns = {
'route_ids': fields.many2many('stock.location.route', 'stock_location_route_categ', 'categ_id', 'route_id', 'Routes'),
'route_ids': fields.many2many('stock.location.route', 'stock_location_route_categ', 'categ_id', 'route_id', 'Routes', domain="[('product_categ_selectable', '=', True)]"),
'removal_strategy_ids': fields.one2many('product.removal', 'product_categ_id', 'Removal Strategies'),
#'putaway_strategy_ids': fields.one2many('product.putaway', 'product_categ_id', 'Put Away Strategies'),
}

View File

@ -24,6 +24,7 @@
<record id="route_warehouse0_mts" model='stock.location.route'>
<field name="name">Sale: Ship only</field>
<field name="sequence">20</field>
<field name="warehouse_selectable" eval="True"/>
</record>
@ -49,8 +50,10 @@
<record id="route_warehouse0_mto" model='stock.location.route'>
<field name="name">Produce or buy on Customer Order</field>
<field name="name">MTO</field>
<field name="sequence">10</field>
<field name="product_selectable" eval="True"/>
<field name="product_categ_selectable" eval="True"/>
</record>
<record id="procurement_rule_customer0_mto" model="procurement.rule">
@ -66,6 +69,8 @@
<record id="route_warehouse0_crossdock" model='stock.location.route'>
<field name="name">Crossdock</field>
<field name="sequence">9</field>
<field name="product_categ_selectable" eval="True"/>
<field name="sale_selectable" eval="True"/>
</record>
<record id="procurement_rule_customer0_xdock" model="procurement.rule">
@ -81,6 +86,7 @@
<record id="route_warehouse0_pack" model='stock.location.route'>
<field name="name">Sale: Pack + Ship</field>
<field name="sequence">15</field>
<field name="warehouse_selectable" eval="True"/>
</record>
@ -130,6 +136,7 @@
<record id="route_warehouse0_pickpack" model='stock.location.route'>
<field name="name">Sale: Pick + Pack + Ship</field>
<field name="sequence">20</field>
<field name="warehouse_selectable" eval="True"/>
</record>

View File

@ -166,6 +166,9 @@
<tree string="Routes">
<field name="sequence" widget="handle" />
<field name="name"/>
<field name="product_categ_selectable"/>
<field name="product_selectable"/>
<field name="warehouse_selectable"/>
</tree>
</field>
</record>
@ -178,6 +181,11 @@
<form string="Route">
<field name="name" />
<field name="sequence" groups="base.group_no_one"/>
<group>
<field name="product_categ_selectable"/>
<field name="product_selectable"/>
<field name="warehouse_selectable"/>
</group>
<group string="Push Rules" colspan="4" >
<field name="push_ids" colspan="4" nolabel="1"/>
</group>