Fix sale_from_private_stock
This commit is contained in:
@@ -23,18 +23,14 @@ class ResPartner(models.Model):
|
|||||||
help="Stock location route used by default in sale order lines"
|
help="Stock location route used by default in sale order lines"
|
||||||
"for this customer.")
|
"for this customer.")
|
||||||
|
|
||||||
@api.multi
|
@api.model
|
||||||
def create_private_location_route(self, location_name=False):
|
def _create_private_location_records(self, location_name):
|
||||||
self.ensure_one()
|
assert location_name, 'missing arg location_name'
|
||||||
assert not self.default_sale_route_id,\
|
|
||||||
'Already has a default_sale_route_id'
|
|
||||||
slo = self.env['stock.location']
|
slo = self.env['stock.location']
|
||||||
swo = self.env['stock.warehouse']
|
swo = self.env['stock.warehouse']
|
||||||
pro = self.env['procurement.rule']
|
pro = self.env['procurement.rule']
|
||||||
slro = self.env['stock.location.route']
|
slro = self.env['stock.location.route']
|
||||||
company = self.env.user.company_id
|
company = self.env.user.company_id
|
||||||
if not location_name:
|
|
||||||
location_name = self.name
|
|
||||||
warehouses = swo.search([
|
warehouses = swo.search([
|
||||||
('company_id', '=', company.id),
|
('company_id', '=', company.id),
|
||||||
('private_stock_out_type_id', '!=', False)])
|
('private_stock_out_type_id', '!=', False)])
|
||||||
@@ -69,7 +65,21 @@ class ResPartner(models.Model):
|
|||||||
'warehouse_selectable': False,
|
'warehouse_selectable': False,
|
||||||
'sale_selectable': True,
|
'sale_selectable': True,
|
||||||
})
|
})
|
||||||
self.default_sale_route_id = route.id
|
return {
|
||||||
|
'location': private_stock_loc,
|
||||||
|
'rule': rule,
|
||||||
|
'route': route,
|
||||||
|
}
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def create_private_location_route(self):
|
||||||
|
self.ensure_one()
|
||||||
|
assert not self.default_sale_route_id,\
|
||||||
|
'Already has a default_sale_route_id'
|
||||||
|
location_name = self._context.get('location_name') or self.name
|
||||||
|
res_dict = self._create_private_location_records(
|
||||||
|
location_name)
|
||||||
|
self.default_sale_route_id = res_dict['route'].id
|
||||||
|
|
||||||
|
|
||||||
class SaleOrderLine(models.Model):
|
class SaleOrderLine(models.Model):
|
||||||
@@ -77,9 +87,6 @@ class SaleOrderLine(models.Model):
|
|||||||
|
|
||||||
@api.onchange('product_id')
|
@api.onchange('product_id')
|
||||||
def _set_default_sale_route(self):
|
def _set_default_sale_route(self):
|
||||||
print "DO NOT EXECUTE"
|
|
||||||
commercial_partner = self.order_id.partner_id.commercial_partner_id
|
commercial_partner = self.order_id.partner_id.commercial_partner_id
|
||||||
if commercial_partner.default_sale_route_id:
|
if commercial_partner.default_sale_route_id:
|
||||||
self.route_id = commercial_partner.default_sale_route_id
|
self.route_id = commercial_partner.default_sale_route_id
|
||||||
|
|
||||||
# TODO: check compat between warehouse and route ?
|
|
||||||
|
|||||||
Reference in New Issue
Block a user