diff --git a/models/pre_sale_order.py b/models/pre_sale_order.py index d3cc9120745eee54536e311ab3ea1d1b84da6f8e..23cde168dc0e6c7653477518bc06f39074dfa77c 100644 --- a/models/pre_sale_order.py +++ b/models/pre_sale_order.py @@ -231,6 +231,9 @@ class PreSaleOrder(models.Model): self.update({'state': 'pending'}) def create_order(self, pso=None): + CrmTeam = self.env['crm.team'] + SaleOrder = self.env['sale.order'] + for rec in self or pso: lines = rec.pre_order_line_ids.filtered( lambda x: x.line_state_done != 'rejected' @@ -246,14 +249,13 @@ class PreSaleOrder(models.Model): ) credit_line = rec.partner_shipping_id.pricelist_ids.filtered( - lambda x: x.product_type.id == rec.product_type.id, + lambda x: x.product_type.id == rec.product_type.id ) if not len(partner_pricelist_line): raise ValidationError( _( - 'Can\'t create sale order from purchase order %s ' - 'because partner has no pricelist set.' + 'Can\'t create sale order from purchase order %s because partner has no pricelist set.' ) % rec.name ) @@ -261,7 +263,10 @@ class PreSaleOrder(models.Model): zone_id = False if self.partner_shipping_id.zone_accounts_line_ids: zone_id = self.partner_shipping_id.zone_accounts_line_ids[0].rp_za_zone.id - sale_order = self.env['sale.order'].create( + + team = CrmTeam.search([('zone', 'ilike', rec.zone_account.split('-')[0])], limit=1) + + sale_order = SaleOrder.create( { 'date_order_exit': rec.date_order_exit, 'origin': rec.name, @@ -273,6 +278,7 @@ class PreSaleOrder(models.Model): 'product_type': rec.product_type.id, 'state': 'confirmed', 'search_zone': zone_id, + 'team_id': team.id, } )