From a77561ab61e88dfa839f305d4caf7efea0b92926 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ram=C3=B3n=20V=C3=A1squez?= <ramon.vasquez@eynes.com.ar>
Date: Mon, 15 Apr 2024 16:32:33 -0300
Subject: [PATCH] [ADD][T3905] Get team_id when creating SO

---
 models/pre_sale_order.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/models/pre_sale_order.py b/models/pre_sale_order.py
index d3cc912..23cde16 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,
                 }
             )
 
-- 
GitLab