Skip to content
Extraits de code Groupes Projets
Valider 2761a085 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[add] resync option from log

parent 997ccc78
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -28,6 +28,7 @@ class CgscopRigaOdooImport(models.Model):
is_warning = fields.Boolean('Warning', default=False)
log = fields.Text('Log')
is_error = fields.Boolean('Erreur Synchro', default=False)
is_resync = fields.Boolean('Re-Synchronisé', default=False)
filename = fields.Char('Nom du fichier')
# ------------------------------------------------------
......@@ -68,7 +69,7 @@ class CgscopRigaOdooImport(models.Model):
except Exception as e:
raise exceptions.Warning(e)
def _read_file(self, model, file, table, primary_key, header_key):
def _read_file(self, model, file, table, primary_key, header_key, resync=False):
""" Cette fonction prend en paramètre un fichier CSV et lit
chaque ligne pour mettre à jour la ligne de la table correspondante
si elle existe ou la créer si l'organisme existe
......@@ -80,6 +81,7 @@ class CgscopRigaOdooImport(models.Model):
:param primary_key (string): header du fichier CSV correspondant à la clé
:param parent_id (string): header du fichier CSV pour lequel on va
rechercher l'ID RIGA de l'organisme
:param resync (bool): le fichier a été synchronisé manuellement
"""
try:
file.seek(0)
......@@ -143,6 +145,7 @@ class CgscopRigaOdooImport(models.Model):
" - Création de " + str(crea_nb) + " lignes\n" +
" - Mise à jour de " + str(maj_nb) + " lignes\n\n" + log),
'is_warning': True if log else False,
'is_resync': resync,
})
except Exception as e:
......@@ -235,3 +238,17 @@ class CgscopRigaOdooImport(models.Model):
table=table,
primary_key=model.primary_key,
header_key=model.header_key)
def resync_file(self):
model = self.env['riga.files.matching'].sudo().search([
['model_id', '=', self.model_id.id]])
table = []
for header in model.matching_table_ids:
table.append([header.name, header.riga_name, header.relation])
self._read_file(
model=self.model_id,
file=self._get_ftp_file(self.filename, model.ftp_channel_id),
table=table,
primary_key=model.primary_key,
header_key=model.header_key,
resync=True)
......@@ -27,6 +27,9 @@
<field name="model">riga.odoo.import</field>
<field name="arch" type="xml">
<form>
<header>
<button type="object" string="Re-Synchroniser" name="resync_file"></button>
</header>
<sheet>
<group>
<group>
......@@ -38,6 +41,7 @@
<field name="is_sync"/>
<field name="is_warning" readonly="1" />
<field name="is_error" readonly="1" />
<field name="is_resync" readonly="1" />
</group>
</group>
<group>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter