diff --git a/wizard/ebics_statement_rop_import_wizard.py b/wizard/ebics_statement_rop_import_wizard.py index 13a8becae527d9dc49e8c428a947ad7275dec5c0..15b7800c1597a49e94648f11ee717cf7d92321e4 100644 --- a/wizard/ebics_statement_rop_import_wizard.py +++ b/wizard/ebics_statement_rop_import_wizard.py @@ -5,6 +5,7 @@ import logging from datetime import datetime from odoo import fields, models +from odoo.tools import html_sanitize _logger = logging.getLogger(__name__) @@ -46,11 +47,11 @@ class EbicsStatementRopImport(models.TransientModel): } ) ebics_wizard_act = ebics_mvt_obj.ebics_download() - self.log += f""" - <strong><u>Téléchargement des mouvements enrichis<u></strong><br/> - {ebics_mvt_obj.note} - <hr/> - """ + self.log += html_sanitize( + "<strong><u>Téléchargement des mouvements enrichis</u></strong><br/>" + f"{ebics_mvt_obj.note}" + "<hr/>" + ) ebics_mvt_file_id = ebics_wizard_act.get("context").get("ebics_file_ids") ebics_mvt_file = self.env["ebics.file"].browse(ebics_mvt_file_id) if ebics_mvt_file: @@ -61,23 +62,22 @@ class EbicsStatementRopImport(models.TransientModel): bank_statement = ebics_mvt_file.bank_statement_ids bank_statement.ensure_one() _logger.debug(f"Created statement : {bank_statement.date}") - self.log += f""" - <strong><u>Import des mouvements enrichis<u></strong><br/> - Référence : {bank_statement.name} - - Journal : {bank_statement.journal_id.name} - - Date : {bank_statement.date} <br/> - Solde Initial : {bank_statement.balance_start} €<br/> - Solde Final : {bank_statement.balance_end} € - <hr/> - """ + self.log += html_sanitize( + "<strong><u>Import des mouvements enrichis</u></strong><br/>" + f"Référence : {bank_statement.name}<br/>" + f" - Journal : {bank_statement.journal_id.name}<br />" + f" - Date : {bank_statement.date} <br/>" + f"Solde Initial : {bank_statement.balance_start} €<br/>" + f"Solde Final : {bank_statement.balance_end} €" + "<hr/>" + ) else: _logger.debug("No enriched moves file, no creating statements") - self.log += """ - <strong><u>Import des mouvements enrichis<u></strong><br/> - Aucune donnée n'a pu être téléchargée, - il n'y a donc pas de données à importer. - <hr/> - """ + self.log += html_sanitize( + "<strong><u>Import des mouvements enrichis</u></strong><br/>" + "Aucune donnée n'a pu être téléchargée, " + "il n'y a donc pas de données à importer.<hr/>" + ) # Download EBICS ROP _logger.debug("Creating wizard for retrieving ROP") @@ -91,11 +91,11 @@ class EbicsStatementRopImport(models.TransientModel): } ) ebics_rop_wizard_act = ebics_rop_obj.ebics_download() - self.log += f""" - <strong><u>Téléchargement des mouvements ROP<u></strong><br/> - {ebics_rop_obj.note} - <hr/> - """ + self.log += html_sanitize( + "<strong><u>Téléchargement des mouvements ROP</u></strong><br/>" + f"{ebics_rop_obj.note}" + "<hr/>" + ) ebics_rop_file_id = ebics_rop_wizard_act.get("context").get("ebics_file_ids") ebics_rop_file = self.env["ebics.file"].browse(ebics_rop_file_id) @@ -110,11 +110,11 @@ class EbicsStatementRopImport(models.TransientModel): line_nb = len(lines_to_delete) _logger.debug(f"Deleting {line_nb} statement lines : {lines_to_delete.ids}") lines_to_delete.unlink() - self.log += f""" - <strong><u>Suppression de lignes CORPORATE<u></strong><br/> - Suppression de {line_nb} lignes. - <hr/> - """ + self.log += html_sanitize( + "<strong><u>Suppression de lignes CORPORATE</u></strong><br/>" + f"Suppression de {line_nb} lignes." + "<hr/>" + ) # Ajout des lignes ROP _logger.debug("Adding statement lines for ROP files") @@ -130,23 +130,23 @@ class EbicsStatementRopImport(models.TransientModel): self.env["account.bank.statement.line"].create(ropl) ebics_rop_file.set_to_done() - self.log += f""" - <strong><u>Création des lignes ROP<u></strong><br/> - Création de {len(rop_lines)} lignes. - <hr/> - """ + self.log += html_sanitize( + "<strong><u>Création des lignes ROP</u></strong><br/>" + f"Création de {len(rop_lines)} lignes." + "<hr/>" + ) else: _logger.debug( "No ROP file to process or no bank_statements created by enriched moves" ) - self.log += """ - <strong><u>Suppression de lignes CORPORATE & - Intégration du fichier ROP<u></strong><br/> - Il n'y a pas de fichier ROP ou Mouvement disponible - donc les lignes <i>CORPORATE</i> - ne peuvent être supprimées et le fichier ROP ne peut être intégré. - <hr/> - """ + self.log += html_sanitize( + "<strong><u>Suppression de lignes CORPORATE & " + "Intégration du fichier ROP</u></strong><br/>" + "Il n'y a pas de fichier ROP ou Mouvement disponible " + "donc les lignes <i>CORPORATE</i>" + "ne peuvent être supprimées et le fichier ROP ne peut être intégré." + "<hr/>" + ) result_view = self.env.ref( "3adentaire_account_ebics.ebics_statement_import_wizard_form_result"