From 25ca2a99d5437e4878a0e6c06d6cb98b2f1332bd Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Thu, 6 Jan 2022 16:34:11 +0100
Subject: [PATCH] [fix] check if digiforma product in SO before confirm

---
 models/sale_order.py | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/models/sale_order.py b/models/sale_order.py
index 16ba61b..266a9e2 100644
--- a/models/sale_order.py
+++ b/models/sale_order.py
@@ -45,13 +45,16 @@ class CoSavoirsSaleOrder(models.Model):
         :return: super action_confirm
         """
         for so in self:
-            digiforma_partner = so.digiforma_fetch_company()
-            if not digiforma_partner:
-                raise UserError(
-                    'Ce client n\'est pas configuré avec Digiforma')
-            else:
-                so.create_digiforma_sessions_so()
-                return super(CoSavoirsSaleOrder, so).action_confirm()
+            # check if product digiforma in SOL
+            digi_sol = so.order_line.filtered('product_id.is_formation_digi')
+            if digi_sol:
+                digiforma_partner = so.digiforma_fetch_company()
+                if not digiforma_partner:
+                    raise UserError(
+                        'Ce client n\'est pas configuré avec Digiforma')
+                else:
+                    so.create_digiforma_sessions_so()
+            return super(CoSavoirsSaleOrder, so).action_confirm()
 
     def show_digiforma_sessions_so(self):
         """
-- 
GitLab