# Copyright 2009-2020 Noviat. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). _FILE_FORMATS = [ {'old_xml_id_name': 'ebics_ff_camt_052_001_02_stm', 'new_xml_id_name': 'ebics_ff_C52', 'new_name': 'camt.052', }, {'old_xml_id_name': 'ebics_ff_camt_053_001_02_stm', 'new_xml_id_name': 'ebics_ff_C53', 'new_name': 'camt.053', }, {'old_xml_id_name': 'ebics_ff_camt_xxx_cfonb120_stm', 'new_xml_id_name': 'ebics_ff_FDL_camt_xxx_cfonb120_stm', }, {'old_xml_id_name': 'ebics_ff_pain_001_001_03_sct', 'new_xml_id_name': 'ebics_ff_CCT', }, {'old_xml_id_name': 'ebics_ff_pain_001', 'new_xml_id_name': 'ebics_ff_XE2', 'new_name': 'pain.001.001.03', }, {'old_xml_id_name': 'ebics_ff_pain_008_001_02_sdd', 'new_xml_id_name': 'ebics_ff_CDD', }, {'old_xml_id_name': 'ebics_ff_pain_008', 'new_xml_id_name': 'ebics_ff_XE3', }, {'old_xml_id_name': 'ebics_ff_pain_008_001_02_sbb', 'new_xml_id_name': 'ebics_ff_CDB', }, {'old_xml_id_name': 'ebics_ff_pain_001_001_02_sct', 'new_xml_id_name': 'ebics_ff_FUL_pain_001_001_02_sct', }, ] def migrate(cr, version): if not version: return for ff in _FILE_FORMATS: _update_file_format(cr, ff) def _update_file_format(cr, ff): cr.execute( """ SELECT id, res_id FROM ir_model_data WHERE module='account_ebics' AND name='{}' """.format(ff['old_xml_id_name']) ) res = cr.fetchone() if res: query = """ UPDATE ir_model_data SET name='{new_xml_id_name}' WHERE id={xml_id}; """.format( new_xml_id_name=ff["new_xml_id_name"], xml_id=res[0] ) if ff.get('new_name'): query += """ UPDATE ebics_file_format SET name='{new_name}' WHERE id={ff_id}; """.format( new_name=ff["new_name"], ff_id=res[1] ) cr.execute(query)