Skip to content

Commit e7f6c5e

Browse files
[OU-ADD] iap
1 parent 4e92aa0 commit e7f6c5e

3 files changed

Lines changed: 81 additions & 1 deletion

File tree

docsource/modules170-180.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ Module coverage 17.0 -> 18.0
222222
+---------------------------------------------------+----------------------+-------------------------------------------------+
223223
| http_routing |Nothing to do | |
224224
+---------------------------------------------------+----------------------+-------------------------------------------------+
225-
| iap | | |
225+
| iap |Done | |
226226
+---------------------------------------------------+----------------------+-------------------------------------------------+
227227
| iap_crm | |No DB layout changes. |
228228
+---------------------------------------------------+----------------------+-------------------------------------------------+
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Copyright 2025 ForgeFlow S.L. (https://www.forgeflow.com)
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
from openupgradelib import openupgrade
5+
6+
model_renames = [
7+
("iap.account.info", "iap.service"),
8+
]
9+
10+
table_renames = [
11+
("iap_account_info", "iap_service"),
12+
]
13+
14+
15+
@openupgrade.migrate()
16+
def migrate(env, version):
17+
openupgrade.logged_query(
18+
env.cr,
19+
"""UPDATE ir_model
20+
SET transient = FALSE
21+
WHERE model = 'iap.account.info'""",
22+
)
23+
openupgrade.rename_models(env.cr, model_renames)
24+
openupgrade.rename_tables(env.cr, table_renames)
25+
openupgrade.logged_query(
26+
env.cr,
27+
"""UPDATE iap_account ia
28+
SET name = service_name
29+
WHERE COALESCE(name, '') != ''""",
30+
)
31+
openupgrade.logged_query(
32+
env.cr,
33+
"""
34+
WITH sub AS (
35+
INSERT INTO iap_service (name, technical_name, account_id, )
36+
SELECT name, service_name, ia.id as account_id,
37+
FROM iap_account
38+
RETURNING id, account_id
39+
)
40+
UPDATE iap_account ia
41+
SET service_id = sub.id
42+
FROM sub
43+
WHERE ia.id = sub.account_id
44+
""",
45+
)
46+
openupgrade.rename_columns(env.cr, {"iap_service": [("account_id", None)]})
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---Models in module 'iap'---
2+
obsolete model iap.account.info [transient]
3+
new model iap.service
4+
# DONE: pre-migration: renamed model and table (and remove transitoriness)
5+
6+
---Fields in module 'iap'---
7+
iap / iap.account / account_info_ids (one2many) : DEL relation: iap.account.info
8+
iap / iap.account / balance (char) : is now stored
9+
iap / iap.account / balance (char) : not a function anymore
10+
iap / iap.account / service_locked (boolean) : NEW hasdefault: default
11+
iap / iap.account / service_name (char) : not stored anymore
12+
iap / iap.account / service_name (char) : now related
13+
iap / iap.account / show_token (boolean) : DEL
14+
iap / iap.account / state (selection) : NEW selection_keys: ['banned', 'registered', 'unregistered']
15+
iap / iap.account / warning_threshold (float) : is now stored
16+
iap / iap.account / warning_threshold (float) : not related anymore
17+
iap / iap.account / warning_user_ids (many2many) : NEW relation: res.users
18+
# NOTHING TO DO
19+
20+
iap / iap.account / service_id (many2one) : NEW relation: iap.service, required
21+
iap / iap.service / description (char) : NEW required
22+
iap / iap.service / integer_balance (boolean) : NEW required
23+
iap / iap.service / name (char) : NEW required
24+
iap / iap.service / technical_name (char) : NEW required
25+
iap / iap.service / unit_name (char) : NEW required
26+
# DONE: pre-migration: create new service for each iap.account record and link them
27+
28+
---XML records in module 'iap'---
29+
NEW iap.service: iap.iap_service_reveal
30+
NEW ir.model.access: iap.access_iap_service_manager
31+
NEW ir.model.access: iap.access_iap_service_user
32+
DEL ir.model.access: iap.access_iap_account_info
33+
NEW ir.model.constraint: iap.constraint_iap_service_unique_technical_name
34+
# NOTHING TO DO

0 commit comments

Comments
 (0)