odoo-addon-openupgrade-scripts 16.0.1.0.3.17__py3-none-any.whl → 16.0.1.0.3.18__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/openupgrade_scripts/apriori.py +3 -0
- odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/16.0.1.0/post-migration.py +8 -0
- odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/16.0.1.0/pre-migration.py +17 -0
- odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/16.0.1.0/upgrade_analysis_work.txt +17 -0
- odoo/addons/openupgrade_scripts/scripts/base/16.0.1.3/pre-migration.py +46 -34
- odoo/addons/openupgrade_scripts/scripts/calendar/16.0.1.1/post-migration.py +1 -1
- odoo/addons/openupgrade_scripts/scripts/crm/16.0.1.8/pre-migration.py +32 -0
- odoo/addons/openupgrade_scripts/scripts/crm/16.0.1.8/upgrade_analysis_work.txt +19 -0
- odoo/addons/openupgrade_scripts/scripts/crm_iap_enrich/16.0.1.1/post-migration.py +11 -0
- odoo/addons/openupgrade_scripts/scripts/crm_iap_enrich/16.0.1.1/upgrade_analysis_work.txt +6 -0
- odoo/addons/openupgrade_scripts/scripts/crm_iap_mine/16.0.1.2/upgrade_analysis_work.txt +7 -0
- odoo/addons/openupgrade_scripts/scripts/crm_livechat/16.0.1.0/upgrade_analysis_work.txt +18 -0
- odoo/addons/openupgrade_scripts/scripts/digest/16.0.1.1/post-migration.py +20 -0
- odoo/addons/openupgrade_scripts/scripts/digest/16.0.1.1/upgrade_analysis_work.txt +5 -0
- odoo/addons/openupgrade_scripts/scripts/event/16.0.1.7/post-migration.py +16 -0
- odoo/addons/openupgrade_scripts/scripts/event/16.0.1.7/upgrade_analysis_work.txt +38 -0
- odoo/addons/openupgrade_scripts/scripts/event_crm/16.0.1.0/upgrade_analysis_work.txt +6 -0
- odoo/addons/openupgrade_scripts/scripts/iap/16.0.1.1/upgrade_analysis_work.txt +5 -0
- odoo/addons/openupgrade_scripts/scripts/im_livechat/16.0.1.0/post-migration.py +13 -0
- odoo/addons/openupgrade_scripts/scripts/im_livechat/16.0.1.0/upgrade_analysis_work.txt +73 -0
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.17.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.18.dist-info}/METADATA +1 -1
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.17.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.18.dist-info}/RECORD +24 -7
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.17.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.18.dist-info}/WHEEL +0 -0
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.17.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.18.dist-info}/top_level.txt +0 -0
@@ -39,6 +39,9 @@ merged_modules = {
|
|
39
39
|
"l10n_be_edi": "account_edi_ubl_cii",
|
40
40
|
"l10n_nl_edi": "account_edi_ubl_cii",
|
41
41
|
"l10n_no_edi": "account_edi_ubl_cii",
|
42
|
+
"note_pad": "note",
|
43
|
+
"pad": "web_editor",
|
44
|
+
"pad_project": "project",
|
42
45
|
"pos_coupon": "pos_loyalty",
|
43
46
|
"pos_gift_card": "pos_loyalty",
|
44
47
|
"sale_gift_card": "sale_loyalty",
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from openupgradelib import openupgrade
|
2
|
+
|
3
|
+
|
4
|
+
def set_type(env):
|
5
|
+
openupgrade.logged_query(
|
6
|
+
env.cr,
|
7
|
+
"""
|
8
|
+
UPDATE barcode_rule
|
9
|
+
SET type = 'pack_date'
|
10
|
+
WHERE type = 'packaging_date'
|
11
|
+
""",
|
12
|
+
)
|
13
|
+
|
14
|
+
|
15
|
+
@openupgrade.migrate()
|
16
|
+
def migrate(env, version):
|
17
|
+
set_type(env)
|
odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/16.0.1.0/upgrade_analysis_work.txt
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
---Models in module 'barcodes_gs1_nomenclature'---
|
2
|
+
---Fields in module 'barcodes_gs1_nomenclature'---
|
3
|
+
barcodes_gs1_nomenclature / barcode.rule / type (False) : selection_keys is now '['alias', 'expiration_date', 'location', 'location_dest', 'lot', 'pack_date', 'package', 'package_type', 'product', 'quantity', 'use_date']' ('['alias', 'expiration_date', 'location', 'location_dest', 'lot', 'package', 'package_type', 'packaging_date', 'product', 'quantity', 'use_date']')
|
4
|
+
|
5
|
+
# DONE: update type value = packaging_date to pack_date
|
6
|
+
|
7
|
+
---XML records in module 'barcodes_gs1_nomenclature'---
|
8
|
+
NEW barcode.rule: barcodes_gs1_nomenclature.barcode_rule_gs1_314y (noupdate)
|
9
|
+
NEW barcode.rule: barcodes_gs1_nomenclature.barcode_rule_gs1_320y (noupdate)
|
10
|
+
NEW barcode.rule: barcodes_gs1_nomenclature.barcode_rule_gs1_322y (noupdate)
|
11
|
+
NEW barcode.rule: barcodes_gs1_nomenclature.barcode_rule_gs1_323y (noupdate)
|
12
|
+
NEW barcode.rule: barcodes_gs1_nomenclature.barcode_rule_gs1_351y (noupdate)
|
13
|
+
NEW barcode.rule: barcodes_gs1_nomenclature.barcode_rule_gs1_360y (noupdate)
|
14
|
+
NEW barcode.rule: barcodes_gs1_nomenclature.barcode_rule_gs1_361y (noupdate)
|
15
|
+
NEW barcode.rule: barcodes_gs1_nomenclature.barcode_rule_gs1_364y (noupdate)
|
16
|
+
|
17
|
+
# NOTHING TO DO
|
@@ -13,32 +13,7 @@ from odoo.addons.openupgrade_scripts.apriori import merged_modules, renamed_modu
|
|
13
13
|
_logger = logging.getLogger(__name__)
|
14
14
|
|
15
15
|
|
16
|
-
|
17
|
-
def migrate(cr, version):
|
18
|
-
"""
|
19
|
-
Don't request an env for the base pre-migration as flushing the env in
|
20
|
-
odoo/modules/registry.py will break on the 'base' module not yet having
|
21
|
-
been instantiated.
|
22
|
-
"""
|
23
|
-
if "openupgrade_framework" not in tools.config["server_wide_modules"]:
|
24
|
-
_logger.error(
|
25
|
-
"openupgrade_framework is not preloaded. You are highly "
|
26
|
-
"recommended to run the Odoo with --load=openupgrade_framework "
|
27
|
-
"when migrating your database."
|
28
|
-
)
|
29
|
-
openupgrade.update_module_names(cr, renamed_modules.items())
|
30
|
-
openupgrade.update_module_names(cr, merged_modules.items(), merge_modules=True)
|
31
|
-
# restricting inherited views to groups isn't allowed any more
|
32
|
-
cr.execute(
|
33
|
-
"DELETE FROM ir_ui_view_group_rel r "
|
34
|
-
"USING ir_ui_view v "
|
35
|
-
"WHERE r.view_id=v.id AND v.inherit_id IS NOT NULL AND v.mode != 'primary'"
|
36
|
-
)
|
37
|
-
# update all translatable fields
|
38
|
-
cr.execute(
|
39
|
-
"SELECT f.name, m.model FROM ir_model_fields f "
|
40
|
-
"JOIN ir_model m ON f.model_id=m.id WHERE f.translate"
|
41
|
-
)
|
16
|
+
def update_translatable_fields(cr):
|
42
17
|
# map of nonstandard table names
|
43
18
|
model2table = {
|
44
19
|
"ir.actions.actions": "ir_actions",
|
@@ -59,6 +34,10 @@ def migrate(cr, version):
|
|
59
34
|
"ir.actions.client": ["name"],
|
60
35
|
"ir.actions.report": ["name"],
|
61
36
|
}
|
37
|
+
cr.execute(
|
38
|
+
"SELECT f.name, m.model FROM ir_model_fields f "
|
39
|
+
"JOIN ir_model m ON f.model_id=m.id WHERE f.translate"
|
40
|
+
)
|
62
41
|
for field, model in cr.fetchall():
|
63
42
|
if field in exclusions.get(model, []):
|
64
43
|
continue
|
@@ -83,20 +62,53 @@ def migrate(cr, version):
|
|
83
62
|
cr,
|
84
63
|
"""
|
85
64
|
WITH t AS (
|
86
|
-
SELECT res_id, jsonb_object_agg(lang, value) AS value
|
87
|
-
|
88
|
-
|
89
|
-
|
65
|
+
SELECT it.res_id as res_id, jsonb_object_agg(it.lang, it.value) AS value,
|
66
|
+
bool_or(imd.noupdate) AS noupdate
|
67
|
+
FROM ir_translation it
|
68
|
+
LEFT JOIN ir_model_data imd ON imd.model = %(model)s AND imd.res_id = it.res_id
|
69
|
+
WHERE it.type = 'model' AND it.name = %(name)s AND it.state = 'translated'
|
70
|
+
GROUP BY it.res_id
|
90
71
|
)
|
91
72
|
UPDATE "%(table)s" m
|
92
|
-
|
93
|
-
|
94
|
-
|
73
|
+
SET "%(field_name)s" = CASE WHEN t.noupdate THEN m.%(field_name)s || t.value
|
74
|
+
ELSE t.value || m.%(field_name)s END
|
75
|
+
FROM t
|
76
|
+
WHERE t.res_id = m.id
|
95
77
|
""",
|
96
|
-
{
|
78
|
+
{
|
79
|
+
"table": AsIs(table),
|
80
|
+
"model": model,
|
81
|
+
"name": translation_name,
|
82
|
+
"field_name": AsIs(field),
|
83
|
+
},
|
97
84
|
)
|
98
85
|
openupgrade.logged_query(
|
99
86
|
cr,
|
100
87
|
"DELETE FROM ir_translation WHERE type = 'model' AND name = %s",
|
101
88
|
[translation_name],
|
102
89
|
)
|
90
|
+
|
91
|
+
|
92
|
+
@openupgrade.migrate(use_env=False)
|
93
|
+
def migrate(cr, version):
|
94
|
+
"""
|
95
|
+
Don't request an env for the base pre-migration as flushing the env in
|
96
|
+
odoo/modules/registry.py will break on the 'base' module not yet having
|
97
|
+
been instantiated.
|
98
|
+
"""
|
99
|
+
if "openupgrade_framework" not in tools.config["server_wide_modules"]:
|
100
|
+
_logger.error(
|
101
|
+
"openupgrade_framework is not preloaded. You are highly "
|
102
|
+
"recommended to run the Odoo with --load=openupgrade_framework "
|
103
|
+
"when migrating your database."
|
104
|
+
)
|
105
|
+
openupgrade.update_module_names(cr, renamed_modules.items())
|
106
|
+
openupgrade.update_module_names(cr, merged_modules.items(), merge_modules=True)
|
107
|
+
# restricting inherited views to groups isn't allowed any more
|
108
|
+
cr.execute(
|
109
|
+
"DELETE FROM ir_ui_view_group_rel r "
|
110
|
+
"USING ir_ui_view v "
|
111
|
+
"WHERE r.view_id=v.id AND v.inherit_id IS NOT NULL AND v.mode != 'primary'"
|
112
|
+
)
|
113
|
+
# update all translatable fields
|
114
|
+
update_translatable_fields(cr)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# Copyright 2023 ACSONE SA/NV
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
3
|
+
|
4
|
+
from openupgradelib import openupgrade
|
5
|
+
|
6
|
+
_field_renames = [("crm.lead", "crm_lead", "lost_reason", "lost_reason_id")]
|
7
|
+
|
8
|
+
|
9
|
+
def res_partner_compute_team_id(env):
|
10
|
+
openupgrade.logged_query(
|
11
|
+
env.cr,
|
12
|
+
"""
|
13
|
+
UPDATE res_partner as p
|
14
|
+
SET team_id = res.parent_team_id
|
15
|
+
FROM(
|
16
|
+
SELECT p.id, parent.team_id
|
17
|
+
FROM res_partner p
|
18
|
+
JOIN res_partner parent
|
19
|
+
ON p.parent_id = parent.id
|
20
|
+
WHERE p.team_id IS NULL
|
21
|
+
AND NOT p.is_company
|
22
|
+
AND parent.team_id IS NOT NULL
|
23
|
+
) as res(partner_id, parent_team_id)
|
24
|
+
WHERE p.id = res.partner_id
|
25
|
+
""",
|
26
|
+
)
|
27
|
+
|
28
|
+
|
29
|
+
@openupgrade.migrate()
|
30
|
+
def migrate(env, version):
|
31
|
+
openupgrade.rename_fields(env, _field_renames)
|
32
|
+
res_partner_compute_team_id(env)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
---Models in module 'crm'---
|
2
|
+
---Fields in module 'crm'---
|
3
|
+
crm / crm.lead / lead_properties (properties) : NEW hasdefault: compute
|
4
|
+
# NOTHING TO DO: new feature
|
5
|
+
|
6
|
+
crm / crm.lead / lost_reason (many2one) : DEL relation: crm.lost.reason
|
7
|
+
crm / crm.lead / lost_reason_id (many2one) : NEW relation: crm.lost.reason
|
8
|
+
# DONE: pre-migration: rename column
|
9
|
+
|
10
|
+
crm / crm.team / lead_properties_definition (properties_definition): NEW
|
11
|
+
# NOTHING TO DO: new feature
|
12
|
+
|
13
|
+
crm / res.partner / team_id (False) : NEW mode: modify, hasdefault: compute
|
14
|
+
# DONE: pre-migration: compute value in DB
|
15
|
+
|
16
|
+
---XML records in module 'crm'---
|
17
|
+
NEW ir.ui.view: crm.crm_lead_merge_summary
|
18
|
+
NEW ir.ui.view: crm.crm_lead_view_tree_reporting
|
19
|
+
# NOTHING TO DO
|
@@ -0,0 +1,18 @@
|
|
1
|
+
---Models in module 'crm_livechat'---
|
2
|
+
---Fields in module 'crm_livechat'---
|
3
|
+
crm_livechat / chatbot.script.step / crm_team_id (many2one) : NEW relation: crm.team
|
4
|
+
crm_livechat / chatbot.script.step / step_type (False) : NEW selection_keys: ['create_lead', 'forward_operator', 'free_input_multi', 'free_input_single', 'question_email', 'question_phone', 'question_selection', 'text'], mode: modify
|
5
|
+
|
6
|
+
# NOTHING TO DO: new field
|
7
|
+
|
8
|
+
---XML records in module 'crm_livechat'---
|
9
|
+
NEW chatbot.script: crm_livechat.chatbot_script_lead_generation_bot (noupdate)
|
10
|
+
NEW chatbot.script.step: crm_livechat.chatbot_script_lead_generation_step_forward_operator (noupdate)
|
11
|
+
NEW chatbot.script.step: crm_livechat.chatbot_script_lead_generation_step_noone_available (noupdate)
|
12
|
+
NEW chatbot.script.step: crm_livechat.chatbot_script_lead_generation_step_welcome (noupdate)
|
13
|
+
NEW chatbot.script.step: crm_livechat.chatbot_script_welcome_step_just_looking (noupdate)
|
14
|
+
NEW chatbot.script.step: crm_livechat.chatbot_script_welcome_step_pricing_email (noupdate)
|
15
|
+
NEW ir.ui.view: crm_livechat.chatbot_script_step_view_form
|
16
|
+
NEW ir.ui.view: crm_livechat.chatbot_script_view_form
|
17
|
+
|
18
|
+
# NOTHING TO DODO: new xml
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Copyright 2023 ACSONE SA/NV
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
3
|
+
|
4
|
+
from openupgradelib import openupgrade
|
5
|
+
|
6
|
+
_translations_to_delete = [
|
7
|
+
"digest_mail_layout",
|
8
|
+
"digest_section_mobile",
|
9
|
+
"digest_tip_digest_0",
|
10
|
+
"digest_tip_digest_1",
|
11
|
+
"digest_tip_digest_2",
|
12
|
+
"digest_tip_digest_3",
|
13
|
+
"digest_tip_digest_4",
|
14
|
+
]
|
15
|
+
|
16
|
+
|
17
|
+
@openupgrade.migrate()
|
18
|
+
def migrate(env, version):
|
19
|
+
openupgrade.load_data(env.cr, "digest", "16.0.1.1/noupdate_changes.xml")
|
20
|
+
openupgrade.delete_record_translations(env.cr, "digest", _translations_to_delete)
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Copyright 2023 ACSONE SA/NV
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
3
|
+
|
4
|
+
from openupgradelib import openupgrade
|
5
|
+
|
6
|
+
_translations_to_delete = [
|
7
|
+
"event_registration_mail_template_badge",
|
8
|
+
"event_reminder",
|
9
|
+
"event_subscription",
|
10
|
+
]
|
11
|
+
|
12
|
+
|
13
|
+
@openupgrade.migrate()
|
14
|
+
def migrate(env, version):
|
15
|
+
openupgrade.load_data(env.cr, "event", "16.0.1.7/noupdate_changes.xml")
|
16
|
+
openupgrade.delete_record_translations(env.cr, "event", _translations_to_delete)
|
@@ -0,0 +1,38 @@
|
|
1
|
+
---Models in module 'event'---
|
2
|
+
---Fields in module 'event'---
|
3
|
+
event / event.event / seats_available (integer) : not stored anymore
|
4
|
+
event / event.event / seats_reserved (integer) : not stored anymore
|
5
|
+
event / event.event / seats_unconfirmed (integer) : not stored anymore
|
6
|
+
event / event.event / seats_used (integer) : not stored anymore
|
7
|
+
event / event.event.ticket / seats_available (integer) : not stored anymore
|
8
|
+
event / event.event.ticket / seats_reserved (integer) : not stored anymore
|
9
|
+
event / event.event.ticket / seats_unconfirmed (integer) : not stored anymore
|
10
|
+
event / event.event.ticket / seats_used (integer) : not stored anymore
|
11
|
+
# NOTHING TO DO
|
12
|
+
|
13
|
+
event / event.registration / date_open (datetime) : DEL
|
14
|
+
# NOTHING TO DO: obsolete feature
|
15
|
+
|
16
|
+
event / event.tag / _order : _order is now 'category_sequence, sequence, id' ('sequence')
|
17
|
+
# NOTHING TO DO
|
18
|
+
|
19
|
+
event / event.tag / category_sequence (integer) : NEW isrelated: related, stored
|
20
|
+
# NOTHING TO DO: new field
|
21
|
+
|
22
|
+
---XML records in module 'event'---
|
23
|
+
NEW ir.actions.act_window: event.event_registration_action_kanban
|
24
|
+
NEW ir.actions.act_window: event.event_registration_action_stats_from_event
|
25
|
+
# NOTHING TO DO
|
26
|
+
|
27
|
+
DEL ir.actions.act_window: event.event_event_action_pivot
|
28
|
+
DEL ir.ui.menu: event.event_event_menu_pivot_report
|
29
|
+
# NOTHING TO DO: deleted by the ORM
|
30
|
+
|
31
|
+
NEW ir.ui.view: event.event_registration_view_search_event_specific
|
32
|
+
# NOTHING TO DO
|
33
|
+
|
34
|
+
DEL ir.ui.view: event.event_event_view_graph
|
35
|
+
DEL ir.ui.view: event.event_event_view_pivot
|
36
|
+
# NOTHING TO DO: deleted by the ORM
|
37
|
+
|
38
|
+
# Done (post-migration): load noupdate_changes.xml and delete obsolete translations
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from openupgradelib import openupgrade
|
2
|
+
|
3
|
+
_translations_to_delete = [
|
4
|
+
"livechat_email_template",
|
5
|
+
]
|
6
|
+
|
7
|
+
|
8
|
+
@openupgrade.migrate()
|
9
|
+
def migrate(env, version):
|
10
|
+
openupgrade.load_data(env.cr, "im_livechat", "16.0.1.0/noupdate_changes.xml")
|
11
|
+
openupgrade.delete_record_translations(
|
12
|
+
env.cr, "im_livechat", _translations_to_delete
|
13
|
+
)
|
@@ -0,0 +1,73 @@
|
|
1
|
+
---Models in module 'im_livechat'---
|
2
|
+
new model chatbot.message
|
3
|
+
new model chatbot.script
|
4
|
+
new model chatbot.script.answer
|
5
|
+
new model chatbot.script.step
|
6
|
+
# NOTHING TO DO: new model
|
7
|
+
---Fields in module 'im_livechat'---
|
8
|
+
im_livechat / chatbot.message / mail_channel_id (many2one) : NEW relation: mail.channel, required
|
9
|
+
im_livechat / chatbot.message / mail_message_id (many2one) : NEW relation: mail.message, required
|
10
|
+
im_livechat / chatbot.message / script_step_id (many2one) : NEW relation: chatbot.script.step, required
|
11
|
+
im_livechat / chatbot.message / user_raw_answer (html) : NEW
|
12
|
+
im_livechat / chatbot.message / user_script_answer_id (many2one): NEW relation: chatbot.script.answer
|
13
|
+
im_livechat / chatbot.script / active (boolean) : NEW hasdefault: default
|
14
|
+
im_livechat / chatbot.script / image_1024 (binary) : NEW attachment: True, isrelated: related, stored
|
15
|
+
im_livechat / chatbot.script / image_128 (binary) : NEW attachment: True, isrelated: related, stored
|
16
|
+
im_livechat / chatbot.script / image_256 (binary) : NEW attachment: True, isrelated: related, stored
|
17
|
+
im_livechat / chatbot.script / image_512 (binary) : NEW attachment: True, isrelated: related, stored
|
18
|
+
im_livechat / chatbot.script / operator_partner_id (many2one): NEW relation: res.partner, required
|
19
|
+
im_livechat / chatbot.script / script_step_ids (one2many) : NEW relation: chatbot.script.step
|
20
|
+
im_livechat / chatbot.script / source_id (many2one) : NEW relation: utm.source, required
|
21
|
+
im_livechat / chatbot.script / title (char) : NEW required, hasdefault: default
|
22
|
+
im_livechat / chatbot.script.answer / name (char) : NEW required
|
23
|
+
im_livechat / chatbot.script.answer / redirect_link (char) : NEW
|
24
|
+
im_livechat / chatbot.script.answer / script_step_id (many2one) : NEW relation: chatbot.script.step, required
|
25
|
+
im_livechat / chatbot.script.answer / sequence (integer) : NEW hasdefault: default
|
26
|
+
im_livechat / chatbot.script.step / answer_ids (one2many) : NEW relation: chatbot.script.answer
|
27
|
+
im_livechat / chatbot.script.step / chatbot_script_id (many2one) : NEW relation: chatbot.script, required
|
28
|
+
im_livechat / chatbot.script.step / message (text) : NEW
|
29
|
+
im_livechat / chatbot.script.step / sequence (integer) : NEW
|
30
|
+
im_livechat / chatbot.script.step / step_type (selection) : NEW required, selection_keys: ['forward_operator', 'free_input_multi', 'free_input_single', 'question_email', 'question_phone', 'question_selection', 'text'], hasdefault: default
|
31
|
+
im_livechat / chatbot.script.step / triggering_answer_ids (many2many): NEW relation: chatbot.script.answer, hasdefault: compute
|
32
|
+
# NOTHING TO DO: fields of new model
|
33
|
+
im_livechat / im_livechat.channel.rule / action (selection) : selection_keys is now '['auto_popup', 'display_button', 'display_button_and_text', 'hide_button']' ('['auto_popup', 'display_button', 'hide_button']')
|
34
|
+
im_livechat / im_livechat.channel.rule / chatbot_only_if_no_operator (boolean): NEW
|
35
|
+
im_livechat / im_livechat.channel.rule / chatbot_script_id (many2one) : NEW relation: chatbot.script
|
36
|
+
im_livechat / mail.channel / chatbot_current_step_id (many2one): NEW relation: chatbot.script.step
|
37
|
+
im_livechat / mail.channel / chatbot_message_ids (one2many): NEW relation: chatbot.message
|
38
|
+
# NOTHING TO DO
|
39
|
+
---XML records in module 'im_livechat'---
|
40
|
+
NEW chatbot.script: im_livechat.chatbot_script_welcome_bot (noupdate)
|
41
|
+
NEW chatbot.script.answer: im_livechat.chatbot_script_welcome_step_dispatch_answer_documentation (noupdate)
|
42
|
+
NEW chatbot.script.answer: im_livechat.chatbot_script_welcome_step_dispatch_answer_just_looking (noupdate)
|
43
|
+
NEW chatbot.script.answer: im_livechat.chatbot_script_welcome_step_dispatch_answer_pricing (noupdate)
|
44
|
+
NEW chatbot.script.step: im_livechat.chatbot_script_welcome_step_dispatch (noupdate)
|
45
|
+
NEW chatbot.script.step: im_livechat.chatbot_script_welcome_step_documentation_exit (noupdate)
|
46
|
+
NEW chatbot.script.step: im_livechat.chatbot_script_welcome_step_documentation_redirect (noupdate)
|
47
|
+
NEW chatbot.script.step: im_livechat.chatbot_script_welcome_step_just_looking (noupdate)
|
48
|
+
NEW chatbot.script.step: im_livechat.chatbot_script_welcome_step_pricing (noupdate)
|
49
|
+
NEW chatbot.script.step: im_livechat.chatbot_script_welcome_step_pricing_email (noupdate)
|
50
|
+
NEW chatbot.script.step: im_livechat.chatbot_script_welcome_step_pricing_forward_operator (noupdate)
|
51
|
+
NEW chatbot.script.step: im_livechat.chatbot_script_welcome_step_pricing_noone_available (noupdate)
|
52
|
+
NEW chatbot.script.step: im_livechat.chatbot_script_welcome_step_welcome (noupdate)
|
53
|
+
NEW ir.actions.act_window: im_livechat.chatbot_script_action
|
54
|
+
NEW ir.model.access: im_livechat.access_chatbot_message_all
|
55
|
+
NEW ir.model.access: im_livechat.access_chatbot_message_user
|
56
|
+
NEW ir.model.access: im_livechat.access_chatbot_script
|
57
|
+
NEW ir.model.access: im_livechat.access_chatbot_script_answer
|
58
|
+
NEW ir.model.access: im_livechat.access_chatbot_script_answer_user
|
59
|
+
NEW ir.model.access: im_livechat.access_chatbot_script_step
|
60
|
+
NEW ir.model.access: im_livechat.access_chatbot_script_step_user
|
61
|
+
NEW ir.model.access: im_livechat.access_chatbot_script_user
|
62
|
+
NEW ir.model.constraint: im_livechat.constraint_chatbot_message__unique_mail_message_id
|
63
|
+
NEW ir.ui.menu: im_livechat.chatbot_config
|
64
|
+
NEW ir.ui.view: im_livechat.chatbot_script_answer_view_form
|
65
|
+
NEW ir.ui.view: im_livechat.chatbot_script_answer_view_tree
|
66
|
+
NEW ir.ui.view: im_livechat.chatbot_script_step_view_form
|
67
|
+
NEW ir.ui.view: im_livechat.chatbot_script_step_view_tree
|
68
|
+
NEW ir.ui.view: im_livechat.chatbot_script_view_form
|
69
|
+
NEW ir.ui.view: im_livechat.chatbot_script_view_search
|
70
|
+
NEW ir.ui.view: im_livechat.chatbot_script_view_tree
|
71
|
+
NEW ir.ui.view: im_livechat.chatbot_test_script_page
|
72
|
+
DEL ir.ui.view: im_livechat.rating_rating_view_form_livechat
|
73
|
+
# NOTHING TO DO
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odoo-addon-openupgrade-scripts
|
3
|
-
Version: 16.0.1.0.3.
|
3
|
+
Version: 16.0.1.0.3.18
|
4
4
|
Summary: Module that contains all the migrations analysis and scripts for migrate Odoo SA modules.
|
5
5
|
Home-page: https://github.com/OCA/OpenUpgrade
|
6
6
|
Author: Odoo Community Association (OCA)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
odoo/addons/openupgrade_scripts/README.rst,sha256=bOOvKEGy3L5CzUuRZaiMLehJ_LrFeQZ2bJgrIiXWXdI,2824
|
2
2
|
odoo/addons/openupgrade_scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
odoo/addons/openupgrade_scripts/__manifest__.py,sha256=pE4R-JQdRitStZ2m2AN39foAoEfLWmwuL9nhHP1i3r8,614
|
4
|
-
odoo/addons/openupgrade_scripts/apriori.py,sha256=
|
4
|
+
odoo/addons/openupgrade_scripts/apriori.py,sha256=fq2a_UY1IiptQVnz8Bg_bTqILisUuRpvby8oMm4_uYI,3090
|
5
5
|
odoo/addons/openupgrade_scripts/readme/CONFIGURE.rst,sha256=cy1swpDkuqi9-6q8L1M1QD058QyfBvAE2PN_mmdxvwI,255
|
6
6
|
odoo/addons/openupgrade_scripts/readme/DESCRIPTION.rst,sha256=ckrM5YlY8awluPWIV7WOBynTOG_QKOjXrCsXD_RhmyU,86
|
7
7
|
odoo/addons/openupgrade_scripts/readme/INSTALL.rst,sha256=tXbOmw3QIhO1KLIziMpXzuuY0tOhI8IGT2ktCArwfGM,115
|
@@ -32,10 +32,13 @@ odoo/addons/openupgrade_scripts/scripts/auth_totp_mail_enforce/16.0.1.0/noupdate
|
|
32
32
|
odoo/addons/openupgrade_scripts/scripts/auth_totp_mail_enforce/16.0.1.0/upgrade_analysis.txt,sha256=FMeF8St_Piud_mwB9YE4jRpVTa--NsX0-TgUzamELME,189
|
33
33
|
odoo/addons/openupgrade_scripts/scripts/barcodes/16.0.2.0/upgrade_analysis.txt,sha256=aVHHJpenY6xHfF_YxGygdm9MRLo165JzMd-zXtDl1nE,147
|
34
34
|
odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/16.0.1.0/noupdate_changes.xml,sha256=Zme4cLIMu45gZGnYjTmgB-kboQRNcjsgJrd3V3PLwcc,2214
|
35
|
+
odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/16.0.1.0/post-migration.py,sha256=QscbXYz-bSLnmj8Nz-ntoeufMsVT9OQVHsyNrH3hVeE,201
|
36
|
+
odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/16.0.1.0/pre-migration.py,sha256=UnOeMC4A0CEKvGJ1f26nT7JUfvQlpsqQyhkx11QUH74,304
|
35
37
|
odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/16.0.1.0/upgrade_analysis.txt,sha256=DuKXBlZI9NlwFz438dKfblWEtK9o-ptLKv-WAFZQaPo,1174
|
38
|
+
odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/16.0.1.0/upgrade_analysis_work.txt,sha256=6HrGPs9TjNpnn6LBsW_809mevfIc6Nrz2WDgUfZwj2s,1249
|
36
39
|
odoo/addons/openupgrade_scripts/scripts/base/16.0.1.3/noupdate_changes.xml,sha256=8FLfPuTaMN-uLv_iEjdJM4XtbKi4yEV7afxM37goEuk,3781
|
37
40
|
odoo/addons/openupgrade_scripts/scripts/base/16.0.1.3/post-migration.py,sha256=OU-gRxyx7crZ6IpuG-UuGgc2sVPudHE-vhGO6ZwCL8c,457
|
38
|
-
odoo/addons/openupgrade_scripts/scripts/base/16.0.1.3/pre-migration.py,sha256=
|
41
|
+
odoo/addons/openupgrade_scripts/scripts/base/16.0.1.3/pre-migration.py,sha256=hXAgPGfM9FOn9-owLBjlaGHLHJQBoRuNQ8ew2rzY3uA,4449
|
39
42
|
odoo/addons/openupgrade_scripts/scripts/base/16.0.1.3/upgrade_analysis.txt,sha256=c5Rqht4vwfgrbcxPKFeHGEsyzbDwDMLRrO9NySQPN1U,4937
|
40
43
|
odoo/addons/openupgrade_scripts/scripts/base/16.0.1.3/upgrade_analysis_work.txt,sha256=OrWO6JRFUjz3JfIg1wiJlyztoEtnPH13t3x1JkrgmL0,5118
|
41
44
|
odoo/addons/openupgrade_scripts/scripts/base/16.0.1.3/upgrade_general_log.txt,sha256=mqyVXdY3VQW6NzyRJwTdD5b5rRRrl0FM4rVst1vemR8,73020
|
@@ -58,26 +61,37 @@ odoo/addons/openupgrade_scripts/scripts/board/16.0.1.0/upgrade_analysis.txt,sha2
|
|
58
61
|
odoo/addons/openupgrade_scripts/scripts/bus/16.0.1.0/upgrade_analysis.txt,sha256=7Ki-1lAhhmDMS2VnEDlcA6KXUU9NlKIcTxPG73Mviok,126
|
59
62
|
odoo/addons/openupgrade_scripts/scripts/bus/16.0.1.0/upgrade_analysis_work.txt,sha256=3B2y3innKI-RvGXAKTymYP56ZjxtfF36djTtciGdptM,143
|
60
63
|
odoo/addons/openupgrade_scripts/scripts/calendar/16.0.1.1/noupdate_changes.xml,sha256=zc-fCvIpCCBqG3vLdavvjCFh54Ju0V3yon1Er-4o43g,24100
|
61
|
-
odoo/addons/openupgrade_scripts/scripts/calendar/16.0.1.1/post-migration.py,sha256=
|
64
|
+
odoo/addons/openupgrade_scripts/scripts/calendar/16.0.1.1/post-migration.py,sha256=iHhmfUgmMjQSj45sypl860SZ9iqcG2BB8yMLUELToOg,583
|
62
65
|
odoo/addons/openupgrade_scripts/scripts/calendar/16.0.1.1/upgrade_analysis.txt,sha256=sy-6wUDLSVkpKwub-uhskQg5SYAwmf0lb1ZmN3IcimU,931
|
63
66
|
odoo/addons/openupgrade_scripts/scripts/calendar/16.0.1.1/upgrade_analysis_work.txt,sha256=Ej-Z8ctFSkUO0DlW302CBU_ZDdgUkZ2LgFR0lKsIW_w,1107
|
64
67
|
odoo/addons/openupgrade_scripts/scripts/calendar_sms/16.0.1.1/upgrade_analysis.txt,sha256=47lk299PLtdInb0P2M8s639WNqNAx33M5V1Xxy-y-AQ,173
|
68
|
+
odoo/addons/openupgrade_scripts/scripts/crm/16.0.1.8/pre-migration.py,sha256=TVh8eAfnKbEzThj8QlcusPm75QcoSdnm3_yV9zifDws,903
|
65
69
|
odoo/addons/openupgrade_scripts/scripts/crm/16.0.1.8/upgrade_analysis.txt,sha256=pTXeYDW7Mi7MQbUFFNS7caUJEhSIubXYYOhVUVluYL8,700
|
70
|
+
odoo/addons/openupgrade_scripts/scripts/crm/16.0.1.8/upgrade_analysis_work.txt,sha256=UR7yiwXlPIw2999QaNmRzTLUrN6TB-1lU6Z4KdeSekk,857
|
71
|
+
odoo/addons/openupgrade_scripts/scripts/crm_iap_enrich/16.0.1.1/post-migration.py,sha256=OJDcSi6h-g8I2Xl-Mc_iHZfP0SLIua46CcpgPjtfJ88,245
|
66
72
|
odoo/addons/openupgrade_scripts/scripts/crm_iap_enrich/16.0.1.1/upgrade_analysis.txt,sha256=6GkSi9zcQX89J9JqLea_Nx0v_ps74VkwzCVe4jo1Vmg,202
|
73
|
+
odoo/addons/openupgrade_scripts/scripts/crm_iap_enrich/16.0.1.1/upgrade_analysis_work.txt,sha256=taoZl-Fo0hCXg-HEQ_MFWv8uHyYa1SYdvL-KBgPzYsY,261
|
67
74
|
odoo/addons/openupgrade_scripts/scripts/crm_iap_mine/16.0.1.2/upgrade_analysis.txt,sha256=atmpIoKiOP_rzZn7ZOGZF85dvvMlKlkRQu_hwdCEK4w,236
|
75
|
+
odoo/addons/openupgrade_scripts/scripts/crm_iap_mine/16.0.1.2/upgrade_analysis_work.txt,sha256=RrDMr2pWEf2oGL_ca3XALXlKsssyxxGx1oM_6PZvKaY,253
|
68
76
|
odoo/addons/openupgrade_scripts/scripts/crm_livechat/16.0.1.0/upgrade_analysis.txt,sha256=dLR4dzjp06adT5zhyuGREDVvj3587_IJNIaPsiyjBxY,1136
|
77
|
+
odoo/addons/openupgrade_scripts/scripts/crm_livechat/16.0.1.0/upgrade_analysis_work.txt,sha256=m9FHu7awHx6VJpfQfE2qeh1ldIuvzJyuK9_zzZQpUcg,1193
|
69
78
|
odoo/addons/openupgrade_scripts/scripts/data_recycle/16.0.1.3/upgrade_analysis.txt,sha256=9qPUSS6VGypt-BdA2-W3aTMDZx_6hBGesGriGEQqtC8,3681
|
70
79
|
odoo/addons/openupgrade_scripts/scripts/delivery/16.0.1.0/upgrade_analysis.txt,sha256=8_3hq28eUw-RTZgQNG81Bo86Hwhup438SCog0XHXDRo,1642
|
71
80
|
odoo/addons/openupgrade_scripts/scripts/delivery_mondialrelay/16.0.0.1/upgrade_analysis.txt,sha256=b8I5lcmNozL7-QxXWat4eRogSuXBKJ2yoDt_hOP1Kqk,186
|
72
81
|
odoo/addons/openupgrade_scripts/scripts/delivery_stock_picking_batch/16.0.1.0/upgrade_analysis.txt,sha256=eXuu3u85QNBmHk3fmCf4DaxbbyI6nE5qzqyol70x5X4,433
|
73
82
|
odoo/addons/openupgrade_scripts/scripts/digest/16.0.1.1/noupdate_changes.xml,sha256=iZkqYk1BBsm8vZzXsxtb3f0aRHadFwniakdmljB3Mq0,13839
|
83
|
+
odoo/addons/openupgrade_scripts/scripts/digest/16.0.1.1/post-migration.py,sha256=nVi-YFhUWF3hvNrioNhBipnrK81mK07xNIsArmeHaQc,570
|
74
84
|
odoo/addons/openupgrade_scripts/scripts/digest/16.0.1.1/upgrade_analysis.txt,sha256=27GKZG56lMZHgvYd87_9Ch6GC83e-oiG4bnhQuwv2gU,141
|
85
|
+
odoo/addons/openupgrade_scripts/scripts/digest/16.0.1.1/upgrade_analysis_work.txt,sha256=b_VerItwAy70F1d32-4jafI8PPSbCQ0d8Xu_SSBeuJs,192
|
75
86
|
odoo/addons/openupgrade_scripts/scripts/event/16.0.1.7/noupdate_changes.xml,sha256=6B03BWJbF_bFyNRpwghd279Nfz0zRj1bfsoT_JvIoqk,33429
|
87
|
+
odoo/addons/openupgrade_scripts/scripts/event/16.0.1.7/post-migration.py,sha256=P37bBdhv748TFUQnliW31FmlfgMu8Ga-OMof8zkialk,472
|
76
88
|
odoo/addons/openupgrade_scripts/scripts/event/16.0.1.7/upgrade_analysis.txt,sha256=SsBSMHZf-aM8GnYcKYofFhW1OKVF1YLHRxSYwKTAdzE,1570
|
89
|
+
odoo/addons/openupgrade_scripts/scripts/event/16.0.1.7/upgrade_analysis_work.txt,sha256=I-TIsTt1CEJD9JICyTGz-XXYfrQAYR15LeGWyqlqJno,1859
|
77
90
|
odoo/addons/openupgrade_scripts/scripts/event_booth/16.0.1.0/noupdate_changes.xml,sha256=9pP2FaOlk76ZD25AUR4iiskwsu7eFEX2-ZdloTXMWiY,968
|
78
91
|
odoo/addons/openupgrade_scripts/scripts/event_booth/16.0.1.0/upgrade_analysis.txt,sha256=VT5piP6BrwFrVXVM5nHCCfNSqVX9KGqv7-O7pbgkOrM,218
|
79
92
|
odoo/addons/openupgrade_scripts/scripts/event_booth_sale/16.0.1.1/upgrade_analysis.txt,sha256=LSQQSfcwI6i6IHIlONNIPilj41EYFwwBV2XohbWvHjY,784
|
80
93
|
odoo/addons/openupgrade_scripts/scripts/event_crm/16.0.1.0/upgrade_analysis.txt,sha256=fM9d2_K57GYqoLCxc_B7nPgCJNT0G-h5rhtu5VDDfJ4,177
|
94
|
+
odoo/addons/openupgrade_scripts/scripts/event_crm/16.0.1.0/upgrade_analysis_work.txt,sha256=7PDB2P-bpHemGKxLOScuRRUv7oTrFL4s6SiwThiHYzI,194
|
81
95
|
odoo/addons/openupgrade_scripts/scripts/event_sale/16.0.1.2/upgrade_analysis.txt,sha256=ehVvajkvMsWEYF3dFQJbWgmlUy9DQkqWGzF4t3cnfLM,867
|
82
96
|
odoo/addons/openupgrade_scripts/scripts/event_sms/16.0.1.0/noupdate_changes.xml,sha256=_cAf_tMXFuyZFgpit7st4KZEyaPfpYYLdetoi6cjxOo,691
|
83
97
|
odoo/addons/openupgrade_scripts/scripts/event_sms/16.0.1.0/upgrade_analysis.txt,sha256=pnGaVYE8aFEgrU4s_krQnKOo6SP1RrkO7AcMnjAJDt8,150
|
@@ -125,9 +139,12 @@ odoo/addons/openupgrade_scripts/scripts/hr_work_entry/16.0.1.0/upgrade_analysis.
|
|
125
139
|
odoo/addons/openupgrade_scripts/scripts/hr_work_entry_contract/16.0.1.0/upgrade_analysis.txt,sha256=H4xuArLCSzJ4blG0j_iWhlk1_aXLW3b5jZeaCZLp2JY,550
|
126
140
|
odoo/addons/openupgrade_scripts/scripts/hr_work_entry_holidays/16.0.1.0/upgrade_analysis.txt,sha256=-wF9U3GWdsuzBlkc7Gz2XYElk4lAGOAmtBUwX8nwVKI,189
|
127
141
|
odoo/addons/openupgrade_scripts/scripts/iap/16.0.1.1/upgrade_analysis.txt,sha256=m_-TjWi5058tgVrFB8i8ZR5UxeAX7mOTHHkwNU7iXg8,132
|
142
|
+
odoo/addons/openupgrade_scripts/scripts/iap/16.0.1.1/upgrade_analysis_work.txt,sha256=ZvGbDvdN2NOIVO53FsIezeDVEhSknG8gAlhjHfinTXk,148
|
128
143
|
odoo/addons/openupgrade_scripts/scripts/iap_crm/16.0.1.0/upgrade_analysis.txt,sha256=Qxdh9V6HQd4HpmXsmxEMxN3Vu7y8Q6v0NWL3ZrRK1oA,144
|
129
144
|
odoo/addons/openupgrade_scripts/scripts/im_livechat/16.0.1.0/noupdate_changes.xml,sha256=-9hm2HGPV2dnHV_-Qc1qi4HhCCtYO8rNi01JiI9nkIw,5900
|
145
|
+
odoo/addons/openupgrade_scripts/scripts/im_livechat/16.0.1.0/post-migration.py,sha256=nAgT1jz8zjkSM8mnYHe82YwnK6NjDO8zECcCCOtrt9M,340
|
130
146
|
odoo/addons/openupgrade_scripts/scripts/im_livechat/16.0.1.0/upgrade_analysis.txt,sha256=ro9bPGhv_oEq5jmIUZRo82y5qrV9qIqB9lTlM_JmNqs,5967
|
147
|
+
odoo/addons/openupgrade_scripts/scripts/im_livechat/16.0.1.0/upgrade_analysis_work.txt,sha256=SEQWyCU5bxqoLUmEClmSUpfoQaM8O00HMa8gvsjK-vA,6063
|
131
148
|
odoo/addons/openupgrade_scripts/scripts/im_livechat_mail_bot/16.0.1.0/upgrade_analysis.txt,sha256=xGhm2WEi7ACkVuwg3tKYA2ItfbahG5H9UENyFMPk78A,183
|
132
149
|
odoo/addons/openupgrade_scripts/scripts/l10n_ae/16.0.1.0/upgrade_analysis.txt,sha256=PPa0lnV7lkZHrf4gWWlAs81depH4i3EkepJbpD3xujc,11361
|
133
150
|
odoo/addons/openupgrade_scripts/scripts/l10n_ar/16.0.3.5/upgrade_analysis.txt,sha256=Eh_XvfrnJqp6DcApGwDUXmSVlim_zmP1Qjy4Ut1PKhY,185
|
@@ -459,7 +476,7 @@ odoo/addons/openupgrade_scripts/scripts/website_twitter/16.0.1.0/upgrade_analysi
|
|
459
476
|
odoo/addons/openupgrade_scripts/static/description/banner.png,sha256=KTIBu4gfxeZVw9zjs_fivTgFEOeaAorlBxajmCA1p6k,26859
|
460
477
|
odoo/addons/openupgrade_scripts/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
461
478
|
odoo/addons/openupgrade_scripts/static/description/index.html,sha256=Y3zNAMnpWGzBNS-ogKwHB6Zvp4kZexMk1208AUrVgC8,12083
|
462
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
463
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
464
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
465
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
479
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.18.dist-info/METADATA,sha256=fsRlyC-aNhO5r1oi_yTlkwVG589bWCltHbiV105tQlo,3450
|
480
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.18.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
|
481
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.18.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
482
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.18.dist-info/RECORD,,
|
File without changes
|