diff --git a/models/riga_files_matching.py b/models/riga_files_matching.py index c1a7c47aaa4ee566b52aab6beb41ff8c2637840d..ccd4fc5db8e21f1f30ea3e634aff8f3d3844d3b4 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 187e4121a13d57daa7b5086e5b7b6414531dd844..9555b01543b97a3ae48d28f838bc84dcd6a7b6b5 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 ea77df5fe4f9cc5194a23799c2628455aa7aae7a..de45bc1e9d6f52d9400f05c8cf1dbebcd32b4e6b 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 a1daf5f67107dd89cce2096762a3ec6187d3aeb3..94d9c642967f82497bdd100df3f40d5c40fa361d 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 576232c72abedb5b20572cf0b87a972b497442cc..3572ace625df1215a805d0ed62950cf00bf84ec2 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 f2460d92ecc3ce138ea8e9c0f1efe4efca8d822f..76c25079f15d5d490f5457b4df9a592231f7c857 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>