diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 3f77051e7f1..ca3f8ab3b1b 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -2004,7 +2004,7 @@ class stock_inventory(osv.osv):
'location_id': _default_stock_location,
}
- def set_checked_qty(self , cr ,uid ,ids ,context=None):
+ def set_checked_qty(self, cr, uid, ids, context=None):
inventory = self.browse(cr, uid, ids[0], context=context)
line_ids = [line.id for line in inventory.line_ids]
self.pool.get('stock.inventory.line').write(cr, uid, line_ids, {'product_qty': 0})
@@ -2144,7 +2144,7 @@ class stock_inventory(osv.osv):
for product_line in cr.dictfetchall():
#replace the None the dictionary by False, because falsy values are tested later on
for key, value in product_line.items():
- if value == None:
+ if not value:
product_line[key] = False
product_line['inventory_id'] = inventory.id
product_line['th_qty'] = product_line['product_qty']
@@ -2211,7 +2211,7 @@ class stock_inventory_line(osv.osv):
if not product:
return {'value': {'product_qty': 0.0, 'product_uom_id': False}}
uom_obj = self.pool.get('product.uom')
- ctx=context.copy()
+ ctx = context.copy()
ctx['location'] = location_id
ctx['lot_id'] = lot_id
ctx['owner_id'] = owner_id
@@ -2230,23 +2230,7 @@ class stock_inventory_line(osv.osv):
class stock_warehouse(osv.osv):
_name = "stock.warehouse"
_description = "Warehouse"
-
-
- def show_field_default_wh_resupply(self,cr,uid,ids,name,args,context=None):
- res = {}
- for wh in self.browse(cr,uid,ids,context=context):
- res[wh.id] = (len(wh.resupply_wh_ids) > 0)
- return res
-
- def init_filtre_default_resupply_wh_id(self,cr,uid,ids,name,args,context=None):
- res = {}
- for wh in self.browse(cr,uid,ids,context=context):
- wh_res = []
- for resupply_id in wh.resupply_wh_ids:
- wh_res += [resupply_id.id]
- res[wh.id] = [wh_res]
- return res
-
+
_columns = {
'name': fields.char('Name', size=128, required=True, select=True),
'company_id': fields.many2one('res.company', 'Company', required=True, select=True),
@@ -2280,28 +2264,13 @@ class stock_warehouse(osv.osv):
'resupply_wh_ids': fields.many2many('stock.warehouse', 'stock_wh_resupply_table', 'supplied_wh_id', 'supplier_wh_id', 'Resupply Warehouses'),
'resupply_route_ids': fields.one2many('stock.location.route', 'supplied_wh_id', 'Resupply Routes'),
'default_resupply_wh_id': fields.many2one('stock.warehouse', 'Default Resupply Warehouse', domain="[('id','in',resupply_init_filter)]"),
- 'show_default_resupply_wh_id': fields.function(show_field_default_wh_resupply,type='boolean',string="Show field default_resupply_wh_id"),
- 'resupply_init_filter' : fields.function(init_filtre_default_resupply_wh_id, type='many2one', string='test',relation='stock.warehouse'),
}
- def onchange_filtre_default_resupply_wh_id(self, cr, uid, ids, resupply_wh_ids,default_resupply_wh_id, context=None):
- resupply_wh_ids = [x['id'] for x in (self.resolve_2many_commands(cr, uid, 'resupply_wh_ids',resupply_wh_ids, ['id']))]
- print(default_resupply_wh_id,resupply_wh_ids)
-
- retval = {'show_default_resupply_wh_id' : len(resupply_wh_ids)>0 }
- warning = {}
-
- if (default_resupply_wh_id and default_resupply_wh_id not in resupply_wh_ids):
- retval['default_resupply_wh_id'] = False
- warning = {
- 'title': 'Information',
- 'message': 'Default resupply warehouse has been changed because old default value is not in this list !'
- }
- return {
- 'value': retval,
- 'domain':{ 'default_resupply_wh_id':[('id','in',resupply_wh_ids)] },
- 'warning': warning
- }
+ def onchange_filter_default_resupply_wh_id(self, cr, uid, ids, default_resupply_wh_id, resupply_wh_ids, context=None):
+ resupply_wh_ids = set([x['id'] for x in (self.resolve_2many_commands(cr, uid, 'resupply_wh_ids', resupply_wh_ids, ['id']))])
+ resupply_wh_ids.add(default_resupply_wh_id)
+ resupply_wh_ids = list(resupply_wh_ids)
+ return {'value': {'resupply_wh_ids': resupply_wh_ids}}
def _get_inter_wh_location(self, cr, uid, warehouse, context=None):
''' returns a tuple made of the browse record of customer location and the browse record of supplier location'''
@@ -2357,7 +2326,7 @@ class stock_warehouse(osv.osv):
def _default_stock_id(self, cr, uid, context=None):
#lot_input_stock = self.pool.get('ir.model.data').get_object(cr, uid, 'stock', 'stock_location_stock')
try:
- warehouse = self.pool.get('ir.model.data').get_object(cr, uid, 'stock', 'warehouse0')
+ warehouse = self.pool.get('ir.model.data').get_object(cr, uid, 'stock', 'warehouse0')
return warehouse.lot_stock_id.id
except:
return False
@@ -2370,7 +2339,8 @@ class stock_warehouse(osv.osv):
}
_sql_constraints = [
('warehouse_name_uniq', 'unique(name, company_id)', 'The name of the warehouse must be unique per company!'),
- ('warehouse_code_uniq', 'unique(code, company_id)', 'The code of the warehouse must be unique per company !'),
+ ('warehouse_code_uniq', 'unique(code, company_id)', 'The code of the warehouse must be unique per company!'),
+ ('default_resupply_wh_diff', 'check (id != default_resupply_wh_id)', 'The default resupply warehouse should be different that the warehouse itself!'),
]
def _get_partner_locations(self, cr, uid, ids, context=None):
@@ -2447,6 +2417,7 @@ class stock_warehouse(osv.osv):
return push_rules_list, pull_rules_list
def _get_mto_pull_rule(self, cr, uid, warehouse, values, context=None):
+ route_obj = self.pool.get('stock.location.route')
data_obj = self.pool.get('ir.model.data')
try:
mto_route_id = data_obj.get_object_reference(cr, uid, 'stock', 'route_warehouse0_mto')[1]
@@ -2817,7 +2788,7 @@ class stock_warehouse(osv.osv):
return super(stock_warehouse, self).unlink(cr, uid, ids, context=context)
def get_all_routes_for_wh(self, cr, uid, warehouse, context=None):
- all_routes = []
+ all_routes = []
all_routes += [warehouse.crossdock_route_id.id]
all_routes += [warehouse.reception_route_id.id]
all_routes += [warehouse.delivery_route_id.id]
@@ -2830,8 +2801,7 @@ class stock_warehouse(osv.osv):
all_routes = []
for wh in self.browse(cr, uid, ids, context=context):
all_routes += self.get_all_routes_for_wh(cr, uid, wh, context=context)
-
- res_id = ids and ids[0] or False
+
domain = [('id', 'in', all_routes)]
return {
'name': _('Warehouse\'s Routes'),
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 47b32f17ff0..ca2cc7824d4 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -667,11 +667,8 @@
-
-
-
-
-
+
+