|
| 1 | +from openupgradelib import openupgrade, openupgrade_merge_records |
| 2 | + |
| 3 | +_account_to_merge = [ |
| 4 | + (["account_assoc_canary_100"], "account_assoc_100"), |
| 5 | + (["account_assoc_canary_1030"], "account_assoc_1030"), |
| 6 | + (["account_assoc_canary_1034"], "account_assoc_1034"), |
| 7 | + (["account_assoc_canary_1040"], "account_assoc_1040"), |
| 8 | + (["account_assoc_canary_1044"], "account_assoc_1044"), |
| 9 | + (["account_assoc_canary_120"], "account_assoc_120"), |
| 10 | + (["account_assoc_canary_121"], "account_assoc_121"), |
| 11 | + (["account_assoc_canary_129"], "account_assoc_129"), |
| 12 | + (["account_assoc_canary_1300"], "account_assoc_1300"), |
| 13 | + (["account_assoc_canary_1301"], "account_assoc_1301"), |
| 14 | + (["account_assoc_canary_1320"], "account_assoc_1320"), |
| 15 | + (["account_assoc_canary_1321"], "account_assoc_1321"), |
| 16 | + (["account_assoc_canary_207"], "account_assoc_207"), |
| 17 | + (["account_assoc_canary_2400"], "account_assoc_2400"), |
| 18 | + (["account_assoc_canary_2401"], "account_assoc_2401"), |
| 19 | + (["account_assoc_canary_2402"], "account_assoc_2402"), |
| 20 | + (["account_assoc_canary_2403"], "account_assoc_2403"), |
| 21 | + (["account_assoc_canary_2404"], "account_assoc_2404"), |
| 22 | + (["account_assoc_canary_2490"], "account_assoc_2490"), |
| 23 | + (["account_assoc_canary_2491"], "account_assoc_2491"), |
| 24 | + (["account_assoc_canary_2492"], "account_assoc_2492"), |
| 25 | + (["account_assoc_canary_2493"], "account_assoc_2493"), |
| 26 | + (["account_assoc_canary_2494"], "account_assoc_2494"), |
| 27 | + (["account_assoc_canary_2807"], "account_assoc_2807"), |
| 28 | + (["account_assoc_canary_2830"], "account_assoc_2830"), |
| 29 | + (["account_assoc_canary_2831"], "account_assoc_2831"), |
| 30 | + (["account_assoc_canary_2907"], "account_assoc_2907"), |
| 31 | + (["account_assoc_canary_2935"], "account_assoc_2935"), |
| 32 | + (["account_assoc_canary_296"], "account_assoc_296"), |
| 33 | + (["account_assoc_canary_2990"], "account_assoc_2990"), |
| 34 | + (["account_assoc_canary_2991"], "account_assoc_2991"), |
| 35 | + (["account_assoc_canary_2992"], "account_assoc_2992"), |
| 36 | + (["account_assoc_canary_2993"], "account_assoc_2993"), |
| 37 | + (["account_assoc_canary_2994"], "account_assoc_2994"), |
| 38 | + (["account_assoc_canary_412"], "account_assoc_412"), |
| 39 | + (["account_assoc_canary_447"], "account_assoc_447"), |
| 40 | + (["account_assoc_canary_4480"], "account_assoc_4480"), |
| 41 | + (["account_assoc_canary_4482"], "account_assoc_4482"), |
| 42 | + (["account_assoc_canary_4489"], "account_assoc_4489"), |
| 43 | + (["account_assoc_canary_464"], "account_assoc_464"), |
| 44 | + (["account_assoc_canary_4707"], "account_assoc_4707"), |
| 45 | + (["account_assoc_canary_4757"], "account_assoc_4757"), |
| 46 | + (["account_assoc_canary_490"], "account_assoc_490"), |
| 47 | + (["account_assoc_canary_551"], "account_assoc_551"), |
| 48 | + (["account_assoc_canary_5935"], "account_assoc_5935"), |
| 49 | + (["account_assoc_canary_596"], "account_assoc_596"), |
| 50 | + (["account_assoc_canary_6501"], "account_assoc_6501"), |
| 51 | + (["account_assoc_canary_6502"], "account_assoc_6502"), |
| 52 | + (["account_assoc_canary_6503"], "account_assoc_6503"), |
| 53 | + (["account_assoc_canary_6504"], "account_assoc_6504"), |
| 54 | + (["account_assoc_canary_6510"], "account_assoc_6510"), |
| 55 | + (["account_assoc_canary_6511"], "account_assoc_6511"), |
| 56 | + (["account_assoc_canary_6512"], "account_assoc_6512"), |
| 57 | + (["account_assoc_canary_6513"], "account_assoc_6513"), |
| 58 | + (["account_assoc_canary_6514"], "account_assoc_6514"), |
| 59 | + (["account_assoc_canary_653"], "account_assoc_653"), |
| 60 | + (["account_assoc_canary_654"], "account_assoc_654"), |
| 61 | + (["account_assoc_canary_655"], "account_assoc_655"), |
| 62 | + (["account_assoc_canary_6560"], "account_assoc_6560"), |
| 63 | + (["account_assoc_canary_6561"], "account_assoc_6561"), |
| 64 | + (["account_assoc_canary_658"], "account_assoc_658"), |
| 65 | + (["account_assoc_canary_663"], "account_assoc_663"), |
| 66 | + (["account_assoc_canary_6710"], "account_assoc_6710"), |
| 67 | + (["account_assoc_canary_6711"], "account_assoc_6711"), |
| 68 | + (["account_assoc_canary_6910"], "account_assoc_6910"), |
| 69 | + (["account_assoc_canary_6911"], "account_assoc_6911"), |
| 70 | + (["account_assoc_canary_694"], "account_assoc_694"), |
| 71 | + (["account_assoc_canary_720"], "account_assoc_720"), |
| 72 | + (["account_assoc_canary_721"], "account_assoc_721"), |
| 73 | + (["account_assoc_canary_722"], "account_assoc_722"), |
| 74 | + (["account_assoc_canary_7230"], "account_assoc_7230"), |
| 75 | + (["account_assoc_canary_7231"], "account_assoc_7231"), |
| 76 | + (["account_assoc_canary_7233"], "account_assoc_7233"), |
| 77 | + (["account_assoc_canary_728"], "account_assoc_728"), |
| 78 | + (["account_assoc_canary_763"], "account_assoc_763"), |
| 79 | + (["account_assoc_canary_791"], "account_assoc_791"), |
| 80 | + (["account_assoc_canary_794"], "account_assoc_794"), |
| 81 | + (["account_assoc_canary_7962"], "account_assoc_7962"), |
| 82 | + (["account_assoc_canary_7963"], "account_assoc_7963"), |
| 83 | + (["account_common_canary_112"], "account_common_112"), |
| 84 | + (["account_common_canary_113"], "account_common_113"), |
| 85 | + (["account_full_canary_100"], "account_full_100"), |
| 86 | + (["account_full_canary_1030"], "account_full_1030"), |
| 87 | + (["account_full_canary_1034"], "account_full_1034"), |
| 88 | + (["account_full_canary_1040"], "account_full_1040"), |
| 89 | + (["account_full_canary_1044"], "account_full_1044"), |
| 90 | + (["account_full_canary_1110"], "account_full_1110"), |
| 91 | + (["account_full_canary_1111"], "account_full_1111"), |
| 92 | + (["account_full_canary_1143"], "account_full_1143"), |
| 93 | + (["account_full_canary_115"], "account_full_115"), |
| 94 | + (["account_full_canary_120"], "account_full_120"), |
| 95 | + (["account_full_canary_121"], "account_full_121"), |
| 96 | + (["account_full_canary_129"], "account_full_129"), |
| 97 | + (["account_full_canary_130"], "account_full_130"), |
| 98 | + (["account_full_canary_132"], "account_full_132"), |
| 99 | + (["account_full_canary_133"], "account_full_133"), |
| 100 | + (["account_full_canary_1340"], "account_full_1340"), |
| 101 | + (["account_full_canary_1341"], "account_full_1341"), |
| 102 | + (["account_full_canary_135"], "account_full_135"), |
| 103 | + (["account_full_canary_136"], "account_full_136"), |
| 104 | + (["account_full_canary_140"], "account_full_140"), |
| 105 | + (["account_full_canary_146"], "account_full_146"), |
| 106 | + (["account_full_canary_147"], "account_full_147"), |
| 107 | + (["account_full_canary_1765"], "account_full_1765"), |
| 108 | + (["account_full_canary_1768"], "account_full_1768"), |
| 109 | + (["account_full_canary_178"], "account_full_178"), |
| 110 | + (["account_full_canary_189"], "account_full_189"), |
| 111 | + (["account_full_canary_204"], "account_full_204"), |
| 112 | + (["account_full_canary_2403"], "account_full_2403"), |
| 113 | + (["account_full_canary_2404"], "account_full_2404"), |
| 114 | + (["account_full_canary_2405"], "account_full_2405"), |
| 115 | + (["account_full_canary_2493"], "account_full_2493"), |
| 116 | + (["account_full_canary_2494"], "account_full_2494"), |
| 117 | + (["account_full_canary_2495"], "account_full_2495"), |
| 118 | + (["account_full_canary_2550"], "account_full_2550"), |
| 119 | + (["account_full_canary_2553"], "account_full_2553"), |
| 120 | + (["account_full_canary_257"], "account_full_257"), |
| 121 | + (["account_full_canary_466"], "account_full_466"), |
| 122 | + (["account_full_canary_4707"], ""), |
| 123 | + (["account_full_canary_4757"], ""), |
| 124 | + (["account_full_canary_490"], "account_full_490"), |
| 125 | + (["account_full_canary_501"], "account_full_501"), |
| 126 | + (["account_full_canary_5091"], "account_full_5091"), |
| 127 | + (["account_full_canary_5296"], "account_full_5296"), |
| 128 | + (["account_full_canary_5297"], "account_full_5297"), |
| 129 | + (["account_full_canary_551"], "account_full_551"), |
| 130 | + (["account_full_canary_5530"], "account_full_5530"), |
| 131 | + (["account_full_canary_5531"], "account_full_5531"), |
| 132 | + (["account_full_canary_5532"], "account_full_5532"), |
| 133 | + (["account_full_canary_5533"], "account_full_5533"), |
| 134 | + (["account_full_canary_5593"], "account_full_5593"), |
| 135 | + (["account_full_canary_5598"], "account_full_5598"), |
| 136 | + (["account_full_canary_569"], "account_full_569"), |
| 137 | + (["account_full_canary_580"], "account_full_580"), |
| 138 | + (["account_full_canary_581"], "account_full_581"), |
| 139 | + (["account_full_canary_582"], "account_full_582"), |
| 140 | + (["account_full_canary_583"], "account_full_583"), |
| 141 | + (["account_full_canary_584"], "account_full_584"), |
| 142 | + (["account_full_canary_585"], "account_full_585"), |
| 143 | + (["account_full_canary_586"], "account_full_586"), |
| 144 | + (["account_full_canary_587"], "account_full_587"), |
| 145 | + (["account_full_canary_588"], "account_full_588"), |
| 146 | + (["account_full_canary_589"], "account_full_589"), |
| 147 | + (["account_full_canary_5990"], "account_full_5990"), |
| 148 | + (["account_full_canary_5991"], "account_full_5991"), |
| 149 | + (["account_full_canary_5992"], "account_full_5992"), |
| 150 | + (["account_full_canary_5993"], "account_full_5993"), |
| 151 | + (["account_full_canary_5994"], "account_full_5994"), |
| 152 | + (["account_full_canary_643"], "account_full_643"), |
| 153 | + (["account_full_canary_6440"], "account_full_6440"), |
| 154 | + (["account_full_canary_6442"], "account_full_6442"), |
| 155 | + (["account_full_canary_6450"], "account_full_6450"), |
| 156 | + (["account_full_canary_6457"], "account_full_6457"), |
| 157 | + (["account_full_canary_650"], "account_full_650"), |
| 158 | + (["account_full_canary_6510"], "account_full_6510"), |
| 159 | + (["account_full_canary_6511"], "account_full_6511"), |
| 160 | + (["account_full_canary_659"], "account_full_659"), |
| 161 | + (["account_full_canary_6630"], "account_full_6630"), |
| 162 | + (["account_full_canary_6631"], "account_full_6631"), |
| 163 | + (["account_full_canary_6632"], "account_full_6632"), |
| 164 | + (["account_full_canary_6633"], "account_full_6633"), |
| 165 | + (["account_full_canary_671"], "account_full_671"), |
| 166 | + (["account_full_canary_691"], "account_full_691"), |
| 167 | + (["account_full_canary_694"], "account_full_694"), |
| 168 | + (["account_full_canary_7630"], "account_full_7630"), |
| 169 | + (["account_full_canary_7631"], "account_full_7631"), |
| 170 | + (["account_full_canary_7632"], "account_full_7632"), |
| 171 | + (["account_full_canary_7633"], "account_full_7633"), |
| 172 | + (["account_full_canary_767"], "account_full_767"), |
| 173 | + (["account_full_canary_774"], "account_full_774"), |
| 174 | + (["account_full_canary_791"], "account_full_791"), |
| 175 | + (["account_full_canary_794"], "account_full_794"), |
| 176 | + (["account_full_canary_7950"], "account_full_7950"), |
| 177 | + (["account_full_canary_7956"], "account_full_7956"), |
| 178 | + (["account_full_canary_7957"], "account_full_7957"), |
| 179 | + (["account_full_canary_800"], "account_full_800"), |
| 180 | + (["account_full_canary_802"], "account_full_802"), |
| 181 | + (["account_full_canary_810"], "account_full_810"), |
| 182 | + (["account_full_canary_811"], "account_full_811"), |
| 183 | + (["account_full_canary_812"], "account_full_812"), |
| 184 | + (["account_full_canary_813"], "account_full_813"), |
| 185 | + (["account_full_canary_820"], "account_full_820"), |
| 186 | + (["account_full_canary_821"], "account_full_821"), |
| 187 | + (["account_full_canary_8300"], "account_full_8300"), |
| 188 | + (["account_full_canary_8301"], "account_full_8301"), |
| 189 | + (["account_full_canary_833"], "account_full_833"), |
| 190 | + (["account_full_canary_834"], "account_full_834"), |
| 191 | + (["account_full_canary_835"], "account_full_835"), |
| 192 | + (["account_full_canary_836"], "account_full_836"), |
| 193 | + (["account_full_canary_837"], "account_full_837"), |
| 194 | + (["account_full_canary_838"], "account_full_838"), |
| 195 | + (["account_full_canary_840"], "account_full_840"), |
| 196 | + (["account_full_canary_841"], "account_full_841"), |
| 197 | + (["account_full_canary_842"], "account_full_842"), |
| 198 | + (["account_full_canary_850"], "account_full_850"), |
| 199 | + (["account_full_canary_851"], "account_full_851"), |
| 200 | + (["account_full_canary_860"], "account_full_860"), |
| 201 | + (["account_full_canary_862"], "account_full_862"), |
| 202 | + (["account_full_canary_891"], "account_full_891"), |
| 203 | + (["account_full_canary_892"], "account_full_892"), |
| 204 | + (["account_full_canary_900"], "account_full_900"), |
| 205 | + (["account_full_canary_902"], "account_full_902"), |
| 206 | + (["account_full_canary_910"], "account_full_910"), |
| 207 | + (["account_full_canary_911"], "account_full_911"), |
| 208 | + (["account_full_canary_912"], "account_full_912"), |
| 209 | + (["account_full_canary_913"], "account_full_913"), |
| 210 | + (["account_full_canary_920"], "account_full_920"), |
| 211 | + (["account_full_canary_921"], "account_full_921"), |
| 212 | + (["account_full_canary_940"], "account_full_940"), |
| 213 | + (["account_full_canary_941"], "account_full_941"), |
| 214 | + (["account_full_canary_942"], "account_full_942"), |
| 215 | + (["account_full_canary_950"], "account_full_950"), |
| 216 | + (["account_full_canary_951"], "account_full_951"), |
| 217 | + (["account_full_canary_960"], "account_full_960"), |
| 218 | + (["account_full_canary_962"], "account_full_962"), |
| 219 | + (["account_full_canary_991"], "account_full_991"), |
| 220 | + (["account_full_canary_992"], "account_full_992"), |
| 221 | + (["account_full_canary_993"], "account_full_993"), |
| 222 | + (["account_full_canary_994"], "account_full_994"), |
| 223 | + (["account_pymes_canary_100"], "account_pymes_100"), |
| 224 | + (["account_pymes_canary_1030"], "account_pymes_1030"), |
| 225 | + (["account_pymes_canary_1034"], "account_pymes_1034"), |
| 226 | + (["account_pymes_canary_1040"], "account_pymes_1040"), |
| 227 | + (["account_pymes_canary_1044"], "account_pymes_1044"), |
| 228 | + (["account_pymes_canary_120"], "account_pymes_120"), |
| 229 | + (["account_pymes_canary_121"], "account_pymes_121"), |
| 230 | + (["account_pymes_canary_129"], "account_pymes_129"), |
| 231 | + (["account_pymes_canary_130"], "account_pymes_130"), |
| 232 | + (["account_pymes_canary_132"], "account_pymes_132"), |
| 233 | + (["account_pymes_canary_2403"], "account_pymes_2403"), |
| 234 | + (["account_pymes_canary_2404"], "account_pymes_2404"), |
| 235 | + (["account_pymes_canary_2405"], "account_pymes_2405"), |
| 236 | + (["account_pymes_canary_2493"], "account_pymes_2493"), |
| 237 | + (["account_pymes_canary_2494"], "account_pymes_2494"), |
| 238 | + (["account_pymes_canary_2495"], "account_pymes_2495"), |
| 239 | + (["account_pymes_canary_255"], "account_pymes_255"), |
| 240 | + (["account_pymes_canary_2935"], "account_pymes_2935"), |
| 241 | + (["account_pymes_canary_296"], "account_pymes_296"), |
| 242 | + (["account_pymes_canary_490"], "pgc_pyme_490"), |
| 243 | + (["account_pymes_canary_551"], "pgc_pyme_551"), |
| 244 | + (["account_pymes_canary_4707"], ""), |
| 245 | + (["account_pymes_canary_4757"], ""), |
| 246 | + (["account_pymes_canary_5935"], "account_pymes_5935"), |
| 247 | + (["account_pymes_canary_596"], "account_pymes_596"), |
| 248 | + (["account_pymes_canary_650"], "account_pymes_650"), |
| 249 | + (["account_pymes_canary_6510"], "account_pymes_6510"), |
| 250 | + (["account_pymes_canary_6511"], "account_pymes_6511"), |
| 251 | + (["account_pymes_canary_659"], "account_pymes_659"), |
| 252 | + (["account_pymes_canary_663"], "account_pymes_663"), |
| 253 | + (["account_pymes_canary_671"], "account_pymes_671"), |
| 254 | + (["account_pymes_canary_691"], "account_pymes_691"), |
| 255 | + (["account_pymes_canary_694"], "account_pymes_694"), |
| 256 | + (["account_pymes_canary_763"], "account_pymes_763"), |
| 257 | + (["account_pymes_canary_791"], "account_pymes_791"), |
| 258 | + (["account_pymes_canary_794"], "account_pymes_794"), |
| 259 | + (["account_pymes_canary_7962"], "account_pymes_7962"), |
| 260 | + (["account_pymes_canary_7963"], "account_pymes_7963"), |
| 261 | +] |
| 262 | + |
| 263 | +_xml_ids_renames = [ |
| 264 | + ("fp_canary", "fp_canary_1"), |
| 265 | +] |
| 266 | + |
| 267 | + |
| 268 | +def rename_fiscal_position_xmlids(env, company): |
| 269 | + _xml_ids_renames_company = [ |
| 270 | + ( |
| 271 | + f"account.{company.id}_{xml_ids[0]}", |
| 272 | + f"account.{company.id}_{xml_ids[1]}", |
| 273 | + ) |
| 274 | + for xml_ids in _xml_ids_renames |
| 275 | + ] |
| 276 | + |
| 277 | + openupgrade.rename_xmlids(env.cr, _xml_ids_renames_company) |
| 278 | + |
| 279 | + |
| 280 | +def merge_accounts(env, company): |
| 281 | + for accounts in _account_to_merge: |
| 282 | + account_to_merge = env["account.account"] |
| 283 | + for account in accounts[0]: |
| 284 | + account_id = env.ref(f"account.{company.id}_{account}", False) |
| 285 | + if account_id: |
| 286 | + account_to_merge |= account_id |
| 287 | + account_to_merge_into = env.ref(f"account.{company.id}_{accounts[1]}", False) |
| 288 | + if len(account_to_merge) > 0 and account_to_merge_into: |
| 289 | + openupgrade_merge_records.merge_records( |
| 290 | + env, |
| 291 | + "account.account", |
| 292 | + account_to_merge.ids, |
| 293 | + account_to_merge_into.id, |
| 294 | + method="sql", |
| 295 | + ) |
| 296 | + |
| 297 | + |
| 298 | +@openupgrade.migrate() |
| 299 | +def migrate(env, version): |
| 300 | + for company in env["res.company"].search([]): |
| 301 | + rename_fiscal_position_xmlids(env, company) |
| 302 | + merge_accounts(env, company) |
0 commit comments