From 71be10ee9c4d56b752acf662db96246b44452bf8 Mon Sep 17 00:00:00 2001
From: Benjamin <35699580+benj-filament@users.noreply.github.com>
Date: Thu, 5 Dec 2019 16:27:21 +0100
Subject: [PATCH] modification channel

---
 models/riga_files_matching.py |  3 +++
 models/riga_ftp_channel.py    | 11 +----------
 models/riga_odoo_import.py    |  9 +++------
 security/ir.model.access.csv  |  2 +-
 views/riga_files_matching.xml | 12 +++++++-----
 views/riga_ftp_channel.xml    |  3 ---
 6 files changed, 15 insertions(+), 25 deletions(-)

diff --git a/models/riga_files_matching.py b/models/riga_files_matching.py
index c1a7c47..ccd4fc5 100644
--- a/models/riga_files_matching.py
+++ b/models/riga_files_matching.py
@@ -41,6 +41,9 @@ class CgscopRigaFilesMatching(models.Model):
         trim=False)
     day = fields.Integer("Décalage jour", default=False)
     params_active = fields.Boolean('Extra params actifs')
+    ftp_channel_id = fields.Many2one(
+        comodel_name='riga.ftp.channel',
+        string="Canal FTP")
 
     def sync_data(self):
         odoo_import = self.env['riga.odoo.import'].sudo()
diff --git a/models/riga_ftp_channel.py b/models/riga_ftp_channel.py
index 187e412..9555b01 100644
--- a/models/riga_ftp_channel.py
+++ b/models/riga_ftp_channel.py
@@ -13,13 +13,4 @@ class CgscopRigaFtpChannel(models.Model):
     password = fields.Char('Password')
     url = fields.Char('URL')
     path = fields.Char('Path')
-    active = fields.Boolean('Actif', default=False)
-
-    def toogle_active_config(self):
-        """ Active la connexion sélectionnée et désactive
-            toutes les autres connexions
-        """
-        for item in self.env['riga.ftp.channel'].search([]):
-            item.active = False
-        self.active = True
-
+    active = fields.Boolean('Actif', default=True)
diff --git a/models/riga_odoo_import.py b/models/riga_odoo_import.py
index ea77df5..de45bc1 100644
--- a/models/riga_odoo_import.py
+++ b/models/riga_odoo_import.py
@@ -32,7 +32,7 @@ class CgscopRigaOdooImport(models.Model):
     # ------------------------------------------------------
     # Fonctions génériques
     # ------------------------------------------------------
-    def _get_ftp_file(self, filename):
+    def _get_ftp_file(self, filename, ftp_channel):
         """ Fonction de récupértion d'ufichier sur un FTP.
 
         Cette fonction prend en paramètre un nom de fichier et recherche
@@ -44,9 +44,7 @@ class CgscopRigaOdooImport(models.Model):
 
         @return csv_file: (binary) fichier binaire à traiter
         """
-        param = self.env['riga.ftp.channel'].sudo().search([
-            ['active', '=', True]])
-        param.ensure_one()
+        param = ftp_channel
         ftp_login = param.login
         ftp_pass = param.password
         # Connexion FTP
@@ -67,7 +65,6 @@ class CgscopRigaOdooImport(models.Model):
             )
             return csv_file
         except Exception as e:
-            ftp.quit()
             raise exceptions.Warning(e)
 
     def _read_file(self, model, file, table, primary_key, header_key):
@@ -229,7 +226,7 @@ class CgscopRigaOdooImport(models.Model):
                 table.append([header.name, header.riga_name, header.relation])
             self._read_file(
                 model=model.model_id,
-                file=self._get_ftp_file(model.riga_filename),
+                file=self._get_ftp_file(model.riga_filename, model.ftp_channel_id),
                 table=table,
                 primary_key=model.primary_key,
                 header_key=model.header_key)
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index a1daf5f..94d9c64 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -3,4 +3,4 @@ access_riga_odoo_import,access_riga_odoo_import,model_riga_odoo_import,cgscop_pa
 access_riga_files_matching,access_riga_files_matching,model_riga_files_matching,cgscop_partner.group_cg_administrator,1,1,1,1
 access_riga_files_matching_header,access_riga_files_matching_header,model_riga_files_matching_header,cgscop_partner.group_cg_administrator,1,1,1,1
 access_riga_lookup_table,access_riga_lookup_table,model_riga_lookup_table,cgscop_partner.group_cg_administrator,1,1,1,1
-access_riga_ftp_channel,access_riga_ftp_channel,model_riga_ftp_channel,cgscop_partner.group_cg_administrator,1,1,1,1
\ No newline at end of file
+access_riga_ftp_channel,access_riga_ftp_channel,model_riga_ftp_channel,cgscop_partner.group_cg_administrator,1,1,1,1
diff --git a/views/riga_files_matching.xml b/views/riga_files_matching.xml
index 576232c..3572ace 100644
--- a/views/riga_files_matching.xml
+++ b/views/riga_files_matching.xml
@@ -15,6 +15,7 @@
                     <field name="riga_filename"/>
                     <field name="primary_key"/>
                     <field name="header_key"/>
+                    <field name="ftp_channel_id"/>
                     <field name="is_active"/>
                 </tree>
             </field>
@@ -31,13 +32,14 @@
                     <sheet>
                         <group>
                             <group>
-                                <field name="model_id" />
-                                <field name="riga_filename"/>
-                                <field name="riga_extension"/>
+                                <field name="model_id" required="True" />
+                                <field name="riga_filename" required="True" />
+                                <field name="riga_extension" required="True" />
+                                <field name="ftp_channel_id" required="True" />
                             </group>
                             <group>
-                                <field name="primary_key"/>
-                                <field name="header_key"/>
+                                <field name="primary_key" required="True" />
+                                <field name="header_key" required="True" />
                                 <field name="is_active" widget="boolean_toggle"/>
                             </group>
                         </group>
diff --git a/views/riga_ftp_channel.xml b/views/riga_ftp_channel.xml
index f2460d9..76c2507 100644
--- a/views/riga_ftp_channel.xml
+++ b/views/riga_ftp_channel.xml
@@ -24,9 +24,6 @@
             <field name="model">riga.ftp.channel</field>
             <field name="arch" type="xml">
                 <form>
-                    <header>
-                        <button name="toogle_active_config" type="object" string="Activer" />
-                    </header>
                     <sheet>
                         <group>
                             <group>
-- 
GitLab