odoo-addon-openupgrade-scripts 16.0.1.0.3.155__py3-none-any.whl → 16.0.1.0.3.162__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/scripts/hr_hourly_cost/16.0.1.0/upgrade_analysis_work.txt +15 -0
- odoo/addons/openupgrade_scripts/scripts/hr_timesheet/16.0.1.0/pre-migration.py +76 -0
- odoo/addons/openupgrade_scripts/scripts/hr_timesheet/16.0.1.0/upgrade_analysis_work.txt +76 -0
- odoo/addons/openupgrade_scripts/scripts/hr_timesheet_attendance/{16.0.1.0/upgrade_analysis.txt → 16.0.1.1/upgrade_analysis_work.txt} +1 -0
- odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/post-migration.py +18 -0
- odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/pre-migration.py +170 -0
- odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/tests/__init__.py +1 -0
- odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/tests/test_project_migration.py +13 -0
- odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/upgrade_analysis_work.txt +101 -0
- odoo/addons/openupgrade_scripts/scripts/sale_project/16.0.1.0/upgrade_analysis_work.txt +22 -0
- odoo/addons/openupgrade_scripts/scripts/sale_timesheet/16.0.1.0/pre-migration.py +36 -0
- odoo/addons/openupgrade_scripts/scripts/sale_timesheet/16.0.1.0/upgrade_analysis_work.txt +58 -0
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.155.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.162.dist-info}/METADATA +1 -1
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.155.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.162.dist-info}/RECORD +16 -5
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.155.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.162.dist-info}/WHEEL +0 -0
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.155.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.162.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
---Models in module 'hr_hourly_cost'---
|
2
|
+
---Fields in module 'hr_hourly_cost'---
|
3
|
+
hr_hourly_cost / hr.employee / currency_id (many2one) : previously in module hr_timesheet
|
4
|
+
|
5
|
+
# NOTHING TO DO
|
6
|
+
|
7
|
+
hr_hourly_cost / hr.employee / hourly_cost (float) : NEW hasdefault: default
|
8
|
+
|
9
|
+
# NOTHING TO DO: This field renamed from timesheet_cost and it handled in hr_timsheet (because this module is split from hr_timsheet
|
10
|
+
to a new module so that can't put migration script in itself).
|
11
|
+
|
12
|
+
---XML records in module 'hr_hourly_cost'---
|
13
|
+
NEW ir.ui.view: hr_hourly_cost.view_employee_form
|
14
|
+
|
15
|
+
#NOTHING TO DO
|
@@ -0,0 +1,76 @@
|
|
1
|
+
from openupgradelib import openupgrade
|
2
|
+
|
3
|
+
|
4
|
+
def update_rename_field(env):
|
5
|
+
openupgrade.logged_query(
|
6
|
+
env.cr,
|
7
|
+
"""
|
8
|
+
ALTER TABLE hr_employee
|
9
|
+
ADD COLUMN IF NOT EXISTS hourly_cost numeric
|
10
|
+
""",
|
11
|
+
)
|
12
|
+
|
13
|
+
openupgrade.logged_query(
|
14
|
+
env.cr,
|
15
|
+
"""
|
16
|
+
UPDATE hr_employee
|
17
|
+
SET hourly_cost = timesheet_cost
|
18
|
+
""",
|
19
|
+
)
|
20
|
+
|
21
|
+
|
22
|
+
def create_ancestor_task_id(env):
|
23
|
+
openupgrade.logged_query(
|
24
|
+
env.cr,
|
25
|
+
"""
|
26
|
+
ALTER TABLE account_analytic_line
|
27
|
+
ADD COLUMN IF NOT EXISTS ancestor_task_id integer
|
28
|
+
""",
|
29
|
+
)
|
30
|
+
|
31
|
+
openupgrade.logged_query(
|
32
|
+
env.cr,
|
33
|
+
"""
|
34
|
+
UPDATE account_analytic_line AS aal
|
35
|
+
SET ancestor_task_id = pt.ancestor_id
|
36
|
+
FROM project_task AS pt
|
37
|
+
WHERE pt.id = aal.task_id
|
38
|
+
""",
|
39
|
+
)
|
40
|
+
|
41
|
+
|
42
|
+
def create_manager_id(env):
|
43
|
+
openupgrade.logged_query(
|
44
|
+
env.cr,
|
45
|
+
"""
|
46
|
+
ALTER TABLE account_analytic_line
|
47
|
+
ADD COLUMN IF NOT EXISTS manager_id integer
|
48
|
+
""",
|
49
|
+
)
|
50
|
+
|
51
|
+
openupgrade.logged_query(
|
52
|
+
env.cr,
|
53
|
+
"""
|
54
|
+
UPDATE account_analytic_line AS aal
|
55
|
+
SET manager_id = he.parent_id
|
56
|
+
FROM hr_employee AS he
|
57
|
+
WHERE he.id = aal.employee_id
|
58
|
+
""",
|
59
|
+
)
|
60
|
+
|
61
|
+
|
62
|
+
def delete_constraint_project_task_create_timesheet_time_positive(env):
|
63
|
+
openupgrade.delete_sql_constraint_safely(
|
64
|
+
env,
|
65
|
+
"hr_timesheet",
|
66
|
+
"project_task",
|
67
|
+
"create_timesheet_time_positive",
|
68
|
+
)
|
69
|
+
|
70
|
+
|
71
|
+
@openupgrade.migrate()
|
72
|
+
def migrate(env, version):
|
73
|
+
update_rename_field(env)
|
74
|
+
create_ancestor_task_id(env)
|
75
|
+
create_manager_id(env)
|
76
|
+
delete_constraint_project_task_create_timesheet_time_positive(env)
|
@@ -0,0 +1,76 @@
|
|
1
|
+
---Models in module 'hr_timesheet'---
|
2
|
+
obsolete model project.task.create.timesheet [transient]
|
3
|
+
new model timesheets.analysis.report [sql_view]
|
4
|
+
|
5
|
+
# NOTHING TO DO
|
6
|
+
|
7
|
+
---Fields in module 'hr_timesheet'---
|
8
|
+
hr_timesheet / account.analytic.line / ancestor_task_id (many2one) : NEW relation: project.task, isrelated: related, stored
|
9
|
+
hr_timesheet / account.analytic.line / manager_id (many2one) : NEW relation: hr.employee, isrelated: related, stored
|
10
|
+
|
11
|
+
# DONE: create column and load data in pre-migration
|
12
|
+
|
13
|
+
hr_timesheet / account.analytic.line / partner_id (False) : module is now 'account' ('hr_timesheet')
|
14
|
+
hr_timesheet / hr.employee / currency_id (many2one) : module is now 'hr_hourly_cost' ('hr_timesheet')
|
15
|
+
|
16
|
+
# NOTHING TO DO
|
17
|
+
|
18
|
+
hr_timesheet / hr.employee / timesheet_cost (float) : DEL
|
19
|
+
|
20
|
+
# DONE: changed to hourly_cost field in pre-migration
|
21
|
+
|
22
|
+
hr_timesheet / project.project / allocated_hours (float) : NEW
|
23
|
+
|
24
|
+
# NOTHING TO DO: remove in master
|
25
|
+
|
26
|
+
hr_timesheet / project.project / timesheet_count (boolean) : type is now 'integer' ('boolean')
|
27
|
+
|
28
|
+
# NOTHING TO DO: field store = False
|
29
|
+
|
30
|
+
---XML records in module 'hr_timesheet'---
|
31
|
+
NEW ir.actions.act_window.view: hr_timesheet.act_hr_timesheet_line_by_project_view_form
|
32
|
+
NEW ir.actions.act_window.view: hr_timesheet.act_hr_timesheet_line_by_project_view_graph
|
33
|
+
NEW ir.actions.act_window.view: hr_timesheet.act_hr_timesheet_line_by_project_view_kanban
|
34
|
+
NEW ir.actions.act_window.view: hr_timesheet.act_hr_timesheet_line_by_project_view_pivot
|
35
|
+
NEW ir.actions.act_window.view: hr_timesheet.act_hr_timesheet_line_by_project_view_tree
|
36
|
+
DEL ir.actions.act_window.view: hr_timesheet.act_hr_timesheet_report_form
|
37
|
+
DEL ir.actions.act_window.view: hr_timesheet.act_hr_timesheet_report_kanban
|
38
|
+
DEL ir.actions.act_window.view: hr_timesheet.act_hr_timesheet_report_tree
|
39
|
+
DEL ir.actions.act_window.view: hr_timesheet.timesheet_action_view_report_by_project_form
|
40
|
+
DEL ir.actions.act_window.view: hr_timesheet.timesheet_action_view_report_by_project_kanban
|
41
|
+
DEL ir.actions.act_window.view: hr_timesheet.timesheet_action_view_report_by_project_tree
|
42
|
+
DEL ir.actions.act_window.view: hr_timesheet.timesheet_action_view_report_by_task_form
|
43
|
+
DEL ir.actions.act_window.view: hr_timesheet.timesheet_action_view_report_by_task_kanban
|
44
|
+
DEL ir.actions.act_window.view: hr_timesheet.timesheet_action_view_report_by_task_tree
|
45
|
+
NEW ir.actions.report: hr_timesheet.timesheet_report_task_timesheets
|
46
|
+
NEW ir.model.access: hr_timesheet.access_timesheets_analysis_report_manager
|
47
|
+
NEW ir.model.access: hr_timesheet.access_timesheets_analysis_report_user
|
48
|
+
DEL ir.model.access: hr_timesheet.access_project_task_create_timesheet
|
49
|
+
|
50
|
+
# NOTHING TO DO
|
51
|
+
|
52
|
+
DEL ir.model.constraint: hr_timesheet.constraint_project_task_create_timesheet_time_positive
|
53
|
+
|
54
|
+
# DONE : delete safely in pre-migration
|
55
|
+
|
56
|
+
NEW ir.rule: hr_timesheet.timesheets_analysis_report_comp_rule (noupdate)
|
57
|
+
NEW ir.ui.view: hr_timesheet.hr_timesheet_report_search
|
58
|
+
NEW ir.ui.view: hr_timesheet.project_project_view_tree_inherit_sale_project
|
59
|
+
NEW ir.ui.view: hr_timesheet.project_sharing_project_task_view_search_inherit_timesheet
|
60
|
+
NEW ir.ui.view: hr_timesheet.project_update_view_search_inherit
|
61
|
+
NEW ir.ui.view: hr_timesheet.rating_rating_view_search_project_inherited
|
62
|
+
NEW ir.ui.view: hr_timesheet.report_timesheet_task
|
63
|
+
NEW ir.ui.view: hr_timesheet.timesheet_project_task_page
|
64
|
+
NEW ir.ui.view: hr_timesheet.timesheets_analysis_report_graph_employee
|
65
|
+
NEW ir.ui.view: hr_timesheet.timesheets_analysis_report_graph_project
|
66
|
+
NEW ir.ui.view: hr_timesheet.timesheets_analysis_report_graph_task
|
67
|
+
NEW ir.ui.view: hr_timesheet.timesheets_analysis_report_pivot_employee
|
68
|
+
NEW ir.ui.view: hr_timesheet.timesheets_analysis_report_pivot_project
|
69
|
+
NEW ir.ui.view: hr_timesheet.timesheets_analysis_report_pivot_task
|
70
|
+
NEW ir.ui.view: hr_timesheet.view_hr_timesheet_line_graph_by_employee
|
71
|
+
NEW ir.ui.view: hr_timesheet.view_project_project_filter_inherit_timesheet
|
72
|
+
NEW ir.ui.view: hr_timesheet.view_task_search_form_hr_extended
|
73
|
+
DEL ir.ui.view: hr_timesheet.project_sharing_inherit_project_task_view_search
|
74
|
+
DEL ir.ui.view: hr_timesheet.project_task_create_timesheet_view_form
|
75
|
+
|
76
|
+
# NOTHING TO DO
|
@@ -5,3 +5,4 @@ NEW ir.actions.act_window.view: hr_timesheet_attendance.action_hr_timesheet_atte
|
|
5
5
|
NEW ir.rule: hr_timesheet_attendance.hr_timesheet_attendance_report_rule_approver (noupdate)
|
6
6
|
NEW ir.rule: hr_timesheet_attendance.hr_timesheet_attendance_report_rule_manager (noupdate)
|
7
7
|
NEW ir.rule: hr_timesheet_attendance.hr_timesheet_attendance_report_rule_user (noupdate)
|
8
|
+
# NOTHING TO DO: Handled by ORM
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Copyright 2023 Trần Trường Sơn
|
2
|
+
# Copyright 2023 Rémy Taymans
|
3
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
4
|
+
|
5
|
+
from openupgradelib import openupgrade
|
6
|
+
|
7
|
+
_translations_to_delete = [
|
8
|
+
"mail_template_data_project_task",
|
9
|
+
"project_manager_all_project_tasks_rule",
|
10
|
+
"project_message_user_assigned",
|
11
|
+
"rating_project_request_email_template",
|
12
|
+
]
|
13
|
+
|
14
|
+
|
15
|
+
@openupgrade.migrate()
|
16
|
+
def migrate(env, version):
|
17
|
+
openupgrade.load_data(env.cr, "project", "16.0.1.2/noupdate_changes.xml")
|
18
|
+
openupgrade.delete_record_translations(env.cr, "project", _translations_to_delete)
|
@@ -0,0 +1,170 @@
|
|
1
|
+
# Copyright 2023 Trần Trường Sơn
|
2
|
+
# Copyright 2023 Rémy Taymans
|
3
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
4
|
+
|
5
|
+
from openupgradelib import openupgrade
|
6
|
+
|
7
|
+
_new_fields = [
|
8
|
+
(
|
9
|
+
"is_closed", # Field name
|
10
|
+
"project.task", # Model name
|
11
|
+
"project_task", # Table name
|
12
|
+
"boolean", # Odoo Field type (in lower case)
|
13
|
+
False, # [Optional] SQL type (if custom fields)
|
14
|
+
"project", # Module name
|
15
|
+
False, # [Optional] Default value
|
16
|
+
),
|
17
|
+
(
|
18
|
+
"ancestor_id", # Field name
|
19
|
+
"project.task", # Model name
|
20
|
+
"project_task", # Table name
|
21
|
+
"many2one", # Odoo Field type (in lower case)
|
22
|
+
False, # [Optional] SQL type (if custom fields)
|
23
|
+
"project", # Module name
|
24
|
+
False, # [Optional] Default value
|
25
|
+
),
|
26
|
+
(
|
27
|
+
"is_analytic_account_id_changed", # Field name
|
28
|
+
"project.task", # Model name
|
29
|
+
"project_task", # Table name
|
30
|
+
"boolean", # Odoo Field type (in lower case)
|
31
|
+
False, # [Optional] SQL type (if custom fields)
|
32
|
+
"project", # Module name
|
33
|
+
False, # [Optional] Default value
|
34
|
+
),
|
35
|
+
(
|
36
|
+
"allow_milestones", # Field name
|
37
|
+
"project.project", # Model name
|
38
|
+
"project_project", # Table name
|
39
|
+
"boolean", # Odoo Field type (in lower case)
|
40
|
+
False, # [Optional] SQL type (if custom fields)
|
41
|
+
"project", # Module name
|
42
|
+
False, # [Optional] Default value
|
43
|
+
),
|
44
|
+
]
|
45
|
+
|
46
|
+
|
47
|
+
def _set_task_type_fold_if_is_closed(env):
|
48
|
+
"""Field `is_closed` on project.task.type is removed. The field
|
49
|
+
`fold` can be used instead.
|
50
|
+
"""
|
51
|
+
openupgrade.logged_query(
|
52
|
+
env.cr,
|
53
|
+
"""
|
54
|
+
UPDATE project_task_type
|
55
|
+
SET fold = TRUE
|
56
|
+
WHERE is_closed = TRUE;
|
57
|
+
""",
|
58
|
+
)
|
59
|
+
|
60
|
+
|
61
|
+
def _fill_project_task_is_closed(env):
|
62
|
+
"""Field `is_closed` on project.task is now a stored field."""
|
63
|
+
openupgrade.logged_query(
|
64
|
+
env.cr,
|
65
|
+
"""
|
66
|
+
UPDATE project_task task
|
67
|
+
SET is_closed = stage.fold
|
68
|
+
FROM project_task_type stage
|
69
|
+
WHERE task.stage_id = stage.id;
|
70
|
+
""",
|
71
|
+
)
|
72
|
+
|
73
|
+
|
74
|
+
def _fill_project_last_update_status_if_null(env):
|
75
|
+
"""In some cases, the user can go to the DB and reset the
|
76
|
+
`last_update_status` field to NULL. In version 16.0 it is necessary
|
77
|
+
to reset it to `to_define` because it has a `required` attribute.
|
78
|
+
"""
|
79
|
+
openupgrade.logged_query(
|
80
|
+
env.cr,
|
81
|
+
"""
|
82
|
+
UPDATE project_project project
|
83
|
+
SET last_update_status = 'to_define'
|
84
|
+
WHERE last_update_status IS NULL;
|
85
|
+
""",
|
86
|
+
)
|
87
|
+
|
88
|
+
|
89
|
+
def _compute_project_task_ancestor_id(env):
|
90
|
+
"""
|
91
|
+
New column at version 16.0. valid as the ancestor of the current task
|
92
|
+
"""
|
93
|
+
openupgrade.logged_query(
|
94
|
+
env.cr,
|
95
|
+
"""
|
96
|
+
WITH RECURSIVE task_ancestors AS (
|
97
|
+
SELECT id, parent_id, id AS ancestor_id
|
98
|
+
FROM project_task
|
99
|
+
WHERE parent_id IS NULL
|
100
|
+
|
101
|
+
UNION ALL
|
102
|
+
|
103
|
+
SELECT pt.id, pt.parent_id, ta.ancestor_id
|
104
|
+
FROM project_task pt
|
105
|
+
INNER JOIN task_ancestors ta ON pt.parent_id = ta.id
|
106
|
+
)
|
107
|
+
UPDATE project_task pt
|
108
|
+
SET ancestor_id = ta.ancestor_id
|
109
|
+
FROM task_ancestors ta
|
110
|
+
WHERE pt.id = ta.id;
|
111
|
+
|
112
|
+
UPDATE project_task pt
|
113
|
+
SET ancestor_id = NULL
|
114
|
+
WHERE id = ancestor_id;
|
115
|
+
""",
|
116
|
+
)
|
117
|
+
|
118
|
+
|
119
|
+
def _compute_project_task_is_analytic_account_id_changed(env):
|
120
|
+
"""
|
121
|
+
`is_analytic_account_id_changed` is a new field at version 16.0.
|
122
|
+
It has a value of False if you have the same admin account as the project,
|
123
|
+
otherwise it will have a value of True
|
124
|
+
"""
|
125
|
+
openupgrade.logged_query(
|
126
|
+
env.cr,
|
127
|
+
"""
|
128
|
+
UPDATE project_task task
|
129
|
+
SET is_analytic_account_id_changed = CASE
|
130
|
+
WHEN project_id IS NOT NULL
|
131
|
+
AND task.project_id = project.id
|
132
|
+
AND task.analytic_account_id != project.analytic_account_id
|
133
|
+
THEN TRUE
|
134
|
+
ELSE FALSE
|
135
|
+
END
|
136
|
+
FROM project_project as project;
|
137
|
+
""",
|
138
|
+
)
|
139
|
+
|
140
|
+
|
141
|
+
def _fill_project_allow_milestones(env):
|
142
|
+
"""New field allow_milestones on project.project depends on the
|
143
|
+
value of the configuration (based on a group)
|
144
|
+
project.group_project_milestone.
|
145
|
+
Previously, milestone where visible by default on a project. To keep
|
146
|
+
this behaviour with existing project, allow_milestones need to be
|
147
|
+
set to True.
|
148
|
+
"""
|
149
|
+
openupgrade.logged_query(
|
150
|
+
env.cr,
|
151
|
+
"""
|
152
|
+
UPDATE project_project project
|
153
|
+
SET allow_milestones = true
|
154
|
+
""",
|
155
|
+
)
|
156
|
+
|
157
|
+
|
158
|
+
@openupgrade.migrate()
|
159
|
+
def migrate(env, version):
|
160
|
+
openupgrade.add_fields(env, _new_fields)
|
161
|
+
_set_task_type_fold_if_is_closed(env)
|
162
|
+
_fill_project_task_is_closed(env)
|
163
|
+
_fill_project_last_update_status_if_null(env)
|
164
|
+
_compute_project_task_ancestor_id(env)
|
165
|
+
_compute_project_task_is_analytic_account_id_changed(env)
|
166
|
+
|
167
|
+
# Remove SQL view project_task_burndown_chart_report not used anymore in Odoo v16.0
|
168
|
+
openupgrade.logged_query(
|
169
|
+
env.cr, "DROP VIEW IF EXISTS project_task_burndown_chart_report CASCADE"
|
170
|
+
)
|
@@ -0,0 +1 @@
|
|
1
|
+
from . import test_project_migration
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from odoo.tests import TransactionCase
|
2
|
+
|
3
|
+
|
4
|
+
class TestProjectMigration(TransactionCase):
|
5
|
+
def test_project_allow_milestones(self):
|
6
|
+
"""Test that the allow_milestones field on a project is correctly set.
|
7
|
+
On a database with demo data, project.group_project_milestone
|
8
|
+
option is set to true. So allow_milestones should be true on
|
9
|
+
projects.
|
10
|
+
"""
|
11
|
+
projects = self.env["project.project"].search([])
|
12
|
+
for project in projects:
|
13
|
+
self.assertTrue(project.allow_milestones)
|
@@ -0,0 +1,101 @@
|
|
1
|
+
---Models in module 'project'---
|
2
|
+
obsolete model project.delete.wizard [transient]
|
3
|
+
# NOTHING TO DO: wizard removed
|
4
|
+
|
5
|
+
---Fields in module 'project'---
|
6
|
+
project / account.analytic.tag / task_ids (many2many) : DEL relation: project.task
|
7
|
+
project / project.task / analytic_tag_ids (many2many) : DEL relation: account.analytic.tag
|
8
|
+
# NOTHING TO DO: lost feature
|
9
|
+
|
10
|
+
project / project.milestone / task_ids (one2many) : NEW relation: project.task
|
11
|
+
project / project.project / task_properties_definition (properties_definition): NEW
|
12
|
+
project / project.task / task_properties (properties) : NEW hasdefault: compute
|
13
|
+
project / res.company / analytic_plan_id (many2one) : NEW relation: account.analytic.plan, hasdefault: compute
|
14
|
+
# NOTHING TO DO: new features
|
15
|
+
|
16
|
+
project / project.tags / project_ids (many2many) : NEW relation: project.project
|
17
|
+
project / project.tags / task_ids (many2many) : NEW relation: project.task
|
18
|
+
# NOTHING TO DO: reverse relation that already exists on project.project and project.task
|
19
|
+
|
20
|
+
pad_project / project.project / description_pad (char) : DEL
|
21
|
+
pad_project / project.project / use_pads (boolean) : DEL
|
22
|
+
pad_project / project.task / description_pad (char) : DEL
|
23
|
+
# TODO: Module pad_project has been removed
|
24
|
+
|
25
|
+
project / project.project / allow_milestones (boolean) : NEW hasdefault: default
|
26
|
+
# DONE: pre-migration: create field and set default value.
|
27
|
+
|
28
|
+
project / project.project / last_update_status (selection): not a function anymore
|
29
|
+
project / project.project / last_update_status (selection): now required
|
30
|
+
project / project.project / last_update_status (selection): selection_keys is now '['at_risk', 'off_track', 'on_hold', 'on_track', 'to_define']' ('['at_risk', 'off_track', 'on_hold', 'on_track']')
|
31
|
+
# DONE: pre-migration: Set value of last_update_status to 'to_define' where field is empty
|
32
|
+
|
33
|
+
project / project.task.type / is_closed (boolean) : DEL
|
34
|
+
# DONE: pre-migration: Field removed, field 'fold' should be used instead. Moving values from 'is_closed' to 'fold'.
|
35
|
+
|
36
|
+
project / project.task / is_closed (boolean) : is now stored
|
37
|
+
# DONE: pre-migration: Add new column & set value for it
|
38
|
+
|
39
|
+
project / project.task / ancestor_id (many2one) : NEW relation: project.task, isfunction: function, stored
|
40
|
+
project / project.task / is_analytic_account_id_changed (boolean): NEW isfunction: function, stored
|
41
|
+
# DONE: pre-migration: pre-compute value for new computed fields
|
42
|
+
|
43
|
+
project / project.task / is_blocked (boolean) : NEW isfunction: function, stored
|
44
|
+
project / project.task / milestone_id (many2one) : NEW relation: project.milestone, hasdefault: compute
|
45
|
+
# TODO (speed improvement): pre-migration: pre-compute value for new computed fields
|
46
|
+
|
47
|
+
|
48
|
+
---XML records in module 'project'---
|
49
|
+
NEW digest.tip: project.digest_tip_project_1
|
50
|
+
NEW ir.actions.act_window: project.action_send_mail_project_project
|
51
|
+
NEW ir.actions.act_window: project.action_send_mail_project_task
|
52
|
+
NEW ir.actions.act_window: project.action_view_task_from_milestone
|
53
|
+
NEW ir.actions.act_window: project.open_view_project_all_config_group_stage
|
54
|
+
NEW ir.actions.act_window: project.project_sharing_project_task_action_sub_task
|
55
|
+
NEW ir.actions.act_window: project.project_task_action_sub_task
|
56
|
+
DEL ir.actions.act_window: project.project_milestone_all
|
57
|
+
NEW ir.actions.act_window.view: project.open_view_all_task_list_calendar
|
58
|
+
NEW ir.actions.act_window.view: project.open_view_all_task_list_kanban
|
59
|
+
NEW ir.actions.act_window.view: project.open_view_all_task_list_tree
|
60
|
+
NEW ir.actions.act_window.view: project.open_view_project_all_config_group_stage_kanban_action_view
|
61
|
+
NEW ir.actions.act_window.view: project.open_view_project_all_config_group_stage_tree_action_view
|
62
|
+
NEW ir.actions.act_window.view: project.project_all_task_activity_action_view
|
63
|
+
NEW ir.actions.act_window.view: project.project_all_task_calendar_action_view
|
64
|
+
NEW ir.actions.act_window.view: project.project_all_task_graph_action_view
|
65
|
+
NEW ir.actions.act_window.view: project.project_all_task_pivot_action_view
|
66
|
+
NEW ir.actions.act_window.view: project.project_sharing_subtasks_form_action_view
|
67
|
+
NEW ir.actions.act_window.view: project.project_sharing_subtasks_kanban_action_view
|
68
|
+
NEW ir.actions.act_window.view: project.project_sharing_subtasks_tree_action_view
|
69
|
+
NEW ir.actions.act_window.view: project.project_task_form_action_view
|
70
|
+
NEW ir.actions.act_window.view: project.project_task_kanban_action_view
|
71
|
+
NEW ir.actions.act_window.view: project.project_task_tree_action_view
|
72
|
+
NEW ir.actions.act_window.view: project.rating_rating_action_task_kanban
|
73
|
+
NEW ir.actions.act_window.view: project.rating_rating_action_view_project_rating_kanban
|
74
|
+
DEL ir.actions.server: project.unlink_project_action
|
75
|
+
NEW ir.model.access: project.access_project_task_burndown_chart_report_user
|
76
|
+
NEW ir.model.access: project.access_report_project_task_user_project_user
|
77
|
+
DEL ir.model.access: project.access_project_delete_wizard
|
78
|
+
NEW ir.rule: project.burndown_chart_project_manager_rule (noupdate)
|
79
|
+
NEW ir.rule: project.burndown_chart_project_user_rule (noupdate)
|
80
|
+
NEW ir.rule: project.report_project_task_manager_rule (noupdate)
|
81
|
+
NEW ir.rule: project.report_project_task_user_rule (noupdate)
|
82
|
+
NEW ir.ui.menu: project.menu_projects_config_group_stage
|
83
|
+
NEW ir.ui.view: project.rating_rating_project_view_kanban
|
84
|
+
NEW ir.ui.view: project.task_type_tree_inherited
|
85
|
+
NEW ir.ui.view: project.view_project_calendar
|
86
|
+
NEW ir.ui.view: project.view_project_config_kanban
|
87
|
+
NEW ir.ui.view: project.view_project_task_pivot_inherit
|
88
|
+
NEW ir.ui.view: project.view_project_task_type_unarchive_wizard
|
89
|
+
NEW ir.ui.view: project.view_task_all_calendar
|
90
|
+
NEW ir.ui.view: project.view_task_kanban_inherit_my_task
|
91
|
+
DEL ir.ui.view: pad_project.project_project_view_form
|
92
|
+
DEL ir.ui.view: pad_project.res_config_settings_view_form
|
93
|
+
DEL ir.ui.view: pad_project.view_task_form2_inherit_pad_project
|
94
|
+
DEL ir.ui.view: project.project_collaborator_view_form
|
95
|
+
DEL ir.ui.view: project.project_delete_wizard_form
|
96
|
+
DEL ir.ui.view: project.project_task_burndown_chart_report_view_pivot
|
97
|
+
NEW mail.message.subtype: project.mt_project_update_create (noupdate)
|
98
|
+
NEW mail.message.subtype: project.mt_task_progress (noupdate)
|
99
|
+
NEW mail.message.subtype: project.mt_update_create (noupdate)
|
100
|
+
NEW res.groups: project.group_project_milestone
|
101
|
+
# NOTHING TO DO
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---Models in module 'sale_project'---
|
2
|
+
---Fields in module 'sale_project'---
|
3
|
+
sale_project / product.product / service_policy (selection) : previously in module sale_timesheet
|
4
|
+
sale_project / product.template / service_policy (selection) : previously in module sale_timesheet
|
5
|
+
sale_project / project.project / allow_billable (boolean) : previously in module sale_timesheet
|
6
|
+
sale_project / project.project / invoice_count (integer) : previously in module account_sale_timesheet
|
7
|
+
sale_project / project.project / vendor_bill_count (integer) : previously in module sale_project_account
|
8
|
+
# NOTHING TO DO: Covered by ORM
|
9
|
+
|
10
|
+
sale_project / product.template / service_type (False) : NEW selection_keys: ['manual', 'milestones'], mode: modify
|
11
|
+
sale_project / project.milestone / quantity_percentage (float) : NEW
|
12
|
+
sale_project / project.milestone / sale_line_id (many2one) : NEW relation: sale.order.line
|
13
|
+
sale_project / sale.order.line / qty_delivered_method (False) : NEW selection_keys: ['analytic', 'manual', 'milestones', 'stock_move'], mode: modify
|
14
|
+
sale_project / sale.order.line / reached_milestones_ids (one2many): NEW relation: project.milestone
|
15
|
+
# NOTHING TO DO: New feature of billing by milestones.
|
16
|
+
|
17
|
+
---XML records in module 'sale_project'---
|
18
|
+
NEW ir.ui.view: sale_project.project_milestone_view_form
|
19
|
+
NEW ir.ui.view: sale_project.project_milestone_view_tree
|
20
|
+
NEW ir.ui.view: sale_project.sale_project_milestone_view_tree
|
21
|
+
DEL ir.ui.view: sale_project.project_task_view_form_inherit_sale_line_editable
|
22
|
+
# NOTHING TO DO: noupdate="0" records
|
@@ -0,0 +1,36 @@
|
|
1
|
+
from openupgradelib import openupgrade
|
2
|
+
|
3
|
+
|
4
|
+
def _update_account_analytic_line_timesheet_invoice_type(env):
|
5
|
+
openupgrade.logged_query(
|
6
|
+
env.cr,
|
7
|
+
"""
|
8
|
+
WITH timesheet_info as (
|
9
|
+
SELECT aal.id as id,
|
10
|
+
product_tmpl.service_type as service_type
|
11
|
+
FROM account_analytic_line aal
|
12
|
+
JOIN sale_order_line sol
|
13
|
+
ON sol.id = aal.so_line
|
14
|
+
JOIN product_product product
|
15
|
+
ON product.id = sol.product_id
|
16
|
+
JOIN product_template product_tmpl
|
17
|
+
ON product_tmpl.id = product.product_tmpl_id
|
18
|
+
WHERE product_tmpl.type = 'service'
|
19
|
+
AND product_tmpl.invoice_policy = 'delivery'
|
20
|
+
AND product_tmpl.service_type IN ('milestones', 'manual')
|
21
|
+
)
|
22
|
+
UPDATE account_analytic_line aal
|
23
|
+
SET timesheet_invoice_type = CONCAT('billable_', info.service_type)
|
24
|
+
FROM timesheet_info info
|
25
|
+
WHERE aal.id = info.id
|
26
|
+
""",
|
27
|
+
)
|
28
|
+
|
29
|
+
|
30
|
+
@openupgrade.migrate()
|
31
|
+
def migrate(env, version):
|
32
|
+
_update_account_analytic_line_timesheet_invoice_type(env)
|
33
|
+
# Remove SQL view project_profitability_report not used anymore in Odoo 16
|
34
|
+
openupgrade.logged_query(
|
35
|
+
env.cr, "DROP VIEW IF EXISTS project_profitability_report CASCADE"
|
36
|
+
)
|
@@ -0,0 +1,58 @@
|
|
1
|
+
---Models in module 'sale_timesheet'---
|
2
|
+
obsolete model project.profitability.report [sql_view]
|
3
|
+
# NOTHING TO DO
|
4
|
+
|
5
|
+
---Fields in module 'sale_timesheet'---
|
6
|
+
sale_timesheet / account.analytic.line / timesheet_invoice_type (selection): selection_keys is now '['billable_fixed', 'billable_manual', 'billable_milestones', 'billable_time', 'non_billable', 'other_costs', 'other_revenues', 'service_revenues', 'timesheet_revenues']' ('['billable_fixed', 'billable_time', 'non_billable', 'other_costs', 'other_revenues', 'service_revenues', 'timesheet_revenues']')
|
7
|
+
# DONE: pre-migration: update the value for timesheet_invoice_type.
|
8
|
+
|
9
|
+
sale_timesheet / product.product / service_policy (selection) : module is now 'sale_project' ('sale_timesheet')
|
10
|
+
sale_timesheet / product.template / service_policy (selection) : module is now 'sale_project' ('sale_timesheet')
|
11
|
+
sale_timesheet / project.project / allow_billable (boolean) : module is now 'sale_project' ('sale_timesheet')
|
12
|
+
# NOTHING TO DO: Module changes handled by ORM.
|
13
|
+
|
14
|
+
sale_timesheet / product.template / service_policy (selection) : selection_keys is now 'function' ('['delivered_manual', 'delivered_timesheet', 'ordered_timesheet']')
|
15
|
+
# NOTHING TO DO: store="False"
|
16
|
+
|
17
|
+
sale_timesheet / product.template / service_type (False) : selection_keys is now '['manual', 'milestones', 'timesheet']' ('['manual', 'timesheet']')
|
18
|
+
sale_timesheet / sale.order.line / qty_delivered_method (False) : selection_keys is now '['analytic', 'manual', 'milestones', 'stock_move', 'timesheet']' ('['analytic', 'manual', 'stock_move', 'timesheet']')
|
19
|
+
sale_timesheet / sale.order.line / timesheet_ids (one2many) : NEW relation: account.analytic.line
|
20
|
+
# NOTHING TO DO: New feature of invoicing by milestones.
|
21
|
+
|
22
|
+
sale_timesheet / project.project / allocated_hours (False) : NEW mode: modify, hasdefault: compute
|
23
|
+
# NOTHING TO DO
|
24
|
+
|
25
|
+
---XML records in module 'sale_timesheet'---
|
26
|
+
NEW ir.actions.act_window: sale_timesheet.timesheet_action_from_sales_order_item
|
27
|
+
NEW ir.actions.act_window.view: sale_timesheet.timesheet_action_from_sales_order_item_form
|
28
|
+
NEW ir.actions.act_window.view: sale_timesheet.timesheet_action_from_sales_order_item_graph
|
29
|
+
NEW ir.actions.act_window.view: sale_timesheet.timesheet_action_from_sales_order_item_kanban
|
30
|
+
NEW ir.actions.act_window.view: sale_timesheet.timesheet_action_from_sales_order_item_pivot
|
31
|
+
NEW ir.actions.act_window.view: sale_timesheet.timesheet_action_from_sales_order_item_tree
|
32
|
+
DEL ir.actions.act_window.view: sale_timesheet.timesheet_action_view_report_by_billing_rate_form
|
33
|
+
DEL ir.actions.act_window.view: sale_timesheet.timesheet_action_view_report_by_billing_rate_kanban
|
34
|
+
DEL ir.actions.act_window.view: sale_timesheet.timesheet_action_view_report_by_billing_rate_tree
|
35
|
+
NEW ir.actions.report: sale_timesheet.timesheet_report_account_move
|
36
|
+
NEW ir.actions.report: sale_timesheet.timesheet_report_sale_order
|
37
|
+
DEL ir.filters: sale_timesheet.ir_filter_project_profitability_report_costs_and_revenues
|
38
|
+
DEL ir.model.access: sale_timesheet.access_project_profitability_report_analysis_manager
|
39
|
+
NEW ir.ui.view: sale_timesheet.hr_timesheet_report_search_sale_timesheet
|
40
|
+
NEW ir.ui.view: sale_timesheet.project_project_view_kanban_inherit_sale_timesheet_so_button
|
41
|
+
NEW ir.ui.view: sale_timesheet.project_sharing_inherit_project_task_view_tree_sale_timesheet
|
42
|
+
NEW ir.ui.view: sale_timesheet.report_timesheet_account_move
|
43
|
+
NEW ir.ui.view: sale_timesheet.report_timesheet_sale_order
|
44
|
+
NEW ir.ui.view: sale_timesheet.timesheet_sale_page
|
45
|
+
NEW ir.ui.view: sale_timesheet.timesheets_analysis_report_graph_inherit
|
46
|
+
NEW ir.ui.view: sale_timesheet.timesheets_analysis_report_graph_invoice_type
|
47
|
+
NEW ir.ui.view: sale_timesheet.timesheets_analysis_report_pivot_inherit
|
48
|
+
NEW ir.ui.view: sale_timesheet.timesheets_analysis_report_pivot_invoice_type
|
49
|
+
NEW ir.ui.view: sale_timesheet.view_hr_timesheet_line_graph_employee_per_date
|
50
|
+
NEW ir.ui.view: sale_timesheet.view_task_tree2_inherited
|
51
|
+
DEL ir.ui.view: sale_timesheet.project_profitability_report_view_graph
|
52
|
+
DEL ir.ui.view: sale_timesheet.project_profitability_report_view_pivot
|
53
|
+
DEL ir.ui.view: sale_timesheet.project_profitability_report_view_search
|
54
|
+
DEL ir.ui.view: sale_timesheet.project_profitability_report_view_tree
|
55
|
+
DEL ir.ui.view: sale_timesheet.project_project_view_form_salesman
|
56
|
+
DEL ir.ui.view: sale_timesheet.project_task_view_form_inherit_sale_timesheet_editable
|
57
|
+
DEL ir.ui.view: sale_timesheet.timesheet_view_pivot_revenue
|
58
|
+
# NOTHING TO DO: noupdate="0" records
|
@@ -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.162
|
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)
|
@@ -157,6 +157,7 @@ odoo/addons/openupgrade_scripts/scripts/hr_holidays/16.0.1.5/upgrade_analysis_wo
|
|
157
157
|
odoo/addons/openupgrade_scripts/scripts/hr_holidays_attendance/16.0.1.0/noupdate_changes.xml,sha256=OzxdaoxV1NybA2Xp2qjTU-nG7auZaqwmpHCYoSLZglk,168
|
158
158
|
odoo/addons/openupgrade_scripts/scripts/hr_holidays_attendance/16.0.1.0/upgrade_analysis.txt,sha256=iIq0WvegXemuojBa9KNPlGlhwcCG_xMgIKgY9pLymmg,273
|
159
159
|
odoo/addons/openupgrade_scripts/scripts/hr_hourly_cost/16.0.1.0/upgrade_analysis.txt,sha256=c8u8sEURXNF87Lt3UWDf9VyrxImSdSqG4OOnoCZDAB4,275
|
160
|
+
odoo/addons/openupgrade_scripts/scripts/hr_hourly_cost/16.0.1.0/upgrade_analysis_work.txt,sha256=j5moFtU6ZG_xFkqlg3_m8YxwdypufHoMKBda2CJclLw,617
|
160
161
|
odoo/addons/openupgrade_scripts/scripts/hr_maintenance/16.0.1.0/upgrade_analysis.txt,sha256=yu4-K8VQ4jtiDZvIlVIyIZJuj8gnN_qT4qI5RcYzTZM,165
|
161
162
|
odoo/addons/openupgrade_scripts/scripts/hr_maintenance/16.0.1.0/upgrade_analysis_work.txt,sha256=dM-2IlbkgeTl7Ey9Q651OaXYbMivlT2eCVp6x-IEnIg,182
|
162
163
|
odoo/addons/openupgrade_scripts/scripts/hr_org_chart/16.0.1.0/upgrade_analysis.txt,sha256=Uky8qbUr2mAREwEQdj3oO497YPalkGe6-ZVRq_G08-g,159
|
@@ -174,9 +175,11 @@ odoo/addons/openupgrade_scripts/scripts/hr_skills/16.0.1.0/noupdate_changes.xml,
|
|
174
175
|
odoo/addons/openupgrade_scripts/scripts/hr_skills/16.0.1.0/upgrade_analysis.txt,sha256=Oo6V5SlbCldLM72UmYstrO1HKjJbHDoxyG3cP5lLnFs,3033
|
175
176
|
odoo/addons/openupgrade_scripts/scripts/hr_skills_slides/16.0.1.0/upgrade_analysis.txt,sha256=rrtYD2Z3hZU9o7NavHC6-NhEq9c4UT4rWYs1eVtVoxg,186
|
176
177
|
odoo/addons/openupgrade_scripts/scripts/hr_skills_survey/16.0.1.0/upgrade_analysis.txt,sha256=GFhqA9h0mFrVP5SC5YpRLRJTLVwLN-1EPFhRL4y0gDg,171
|
178
|
+
odoo/addons/openupgrade_scripts/scripts/hr_timesheet/16.0.1.0/pre-migration.py,sha256=ZY9AHIY3YP_HVJg-Qsh_FB9olrnwLqg4BGd8AJHRpfE,1697
|
177
179
|
odoo/addons/openupgrade_scripts/scripts/hr_timesheet/16.0.1.0/upgrade_analysis.txt,sha256=ej1Ej7foICLBjli5HqNAzGi4tyz6IQ8UW-nvqYItr7A,4076
|
178
|
-
odoo/addons/openupgrade_scripts/scripts/
|
180
|
+
odoo/addons/openupgrade_scripts/scripts/hr_timesheet/16.0.1.0/upgrade_analysis_work.txt,sha256=zzMuoclczyu1Y1BKo-6yfBvNhnaeM6qO6b-tuOsODf0,4176
|
179
181
|
odoo/addons/openupgrade_scripts/scripts/hr_timesheet_attendance/16.0.1.1/upgrade_analysis.txt,sha256=Fhn3fJPxVqhA-bGTho--ynwvTGPsrAbdW-6g0Q2H990,526
|
182
|
+
odoo/addons/openupgrade_scripts/scripts/hr_timesheet_attendance/16.0.1.1/upgrade_analysis_work.txt,sha256=CWoHbjP9h8ae7-7q939Uh0ew8Sf0qqP72hIAKPbVp5M,558
|
180
183
|
odoo/addons/openupgrade_scripts/scripts/hr_work_entry/16.0.1.0/upgrade_analysis.txt,sha256=cAbyDftyWWrH859s-9Iy18Oq5FrmvyKtmX8H5_V7ZHE,275
|
181
184
|
odoo/addons/openupgrade_scripts/scripts/hr_work_entry_contract/16.0.1.0/upgrade_analysis.txt,sha256=H4xuArLCSzJ4blG0j_iWhlk1_aXLW3b5jZeaCZLp2JY,550
|
182
185
|
odoo/addons/openupgrade_scripts/scripts/hr_work_entry_holidays/16.0.1.0/upgrade_analysis.txt,sha256=-wF9U3GWdsuzBlkc7Gz2XYElk4lAGOAmtBUwX8nwVKI,189
|
@@ -444,7 +447,12 @@ odoo/addons/openupgrade_scripts/scripts/product_images/16.0.1.0/upgrade_analysis
|
|
444
447
|
odoo/addons/openupgrade_scripts/scripts/product_margin/16.0.1.0/upgrade_analysis.txt,sha256=4ttHOXP24HQX80aD5j6gIjzZBzhAD599KgvOxkR9wmM,165
|
445
448
|
odoo/addons/openupgrade_scripts/scripts/product_margin/16.0.1.0/upgrade_analysis_work.txt,sha256=4ttHOXP24HQX80aD5j6gIjzZBzhAD599KgvOxkR9wmM,165
|
446
449
|
odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/noupdate_changes.xml,sha256=0oH13jMbTYciRXhBd8s5W-ezK9BbpEBrVmAuJMOSdi8,5258
|
450
|
+
odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/post-migration.py,sha256=BT7aWbGKC_qA5kaMHQnVM61fDuBUBolWV-9yWzL8Jqo,594
|
451
|
+
odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/pre-migration.py,sha256=BGn_5Lsjqo_QgZtFxirM-G7HBHa7q5vY07ZRV25ubcc,5137
|
447
452
|
odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/upgrade_analysis.txt,sha256=Ra_nPB2OUJ54l31epPuP04icLT8uJrcdGHXqlKrermw,5831
|
453
|
+
odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/upgrade_analysis_work.txt,sha256=i35lNMJQ6Ap1z6Nmd-JChXipDqts1akWGWFekAXv0wM,6559
|
454
|
+
odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/tests/__init__.py,sha256=7uKZNMbS-tJslQ3DoJoKyUeosa_RNRseB4khQIP8bfc,37
|
455
|
+
odoo/addons/openupgrade_scripts/scripts/project/16.0.1.2/tests/test_project_migration.py,sha256=DIN6z623Bx6XtH62I7xq40CHsmWIIbfOYaceSNxsYBc,524
|
448
456
|
odoo/addons/openupgrade_scripts/scripts/project_hr_expense/16.0.1.0/upgrade_analysis.txt,sha256=skVoiLqMWdknfvsv53MZo2un62E7zQzjFaN4NL4PiZs,198
|
449
457
|
odoo/addons/openupgrade_scripts/scripts/project_mrp/16.0.1.0/upgrade_analysis.txt,sha256=mrMSwqKMslVHJCrf0YpQSAL1NE31ZnY9vLW1ep9rjzI,180
|
450
458
|
odoo/addons/openupgrade_scripts/scripts/project_purchase/16.0.1.0/upgrade_analysis.txt,sha256=1bGd47YlH5_3OHH33v-HGc1IES2Zw1vU0V9iNEcTVz8,200
|
@@ -494,12 +502,15 @@ odoo/addons/openupgrade_scripts/scripts/sale_mrp/16.0.1.0/upgrade_analysis.txt,s
|
|
494
502
|
odoo/addons/openupgrade_scripts/scripts/sale_product_configurator/16.0.1.0/upgrade_analysis.txt,sha256=3wHhFk4rmZ3PurMy3ZlQ8vH8baRl0xNZ_9ofGp-3By4,455
|
495
503
|
odoo/addons/openupgrade_scripts/scripts/sale_product_matrix/16.0.1.0/upgrade_analysis.txt,sha256=-_99R6PnRJKHWr1zvrruy5m0RYjMSSK-QIlU_CNEJjk,180
|
496
504
|
odoo/addons/openupgrade_scripts/scripts/sale_project/16.0.1.0/upgrade_analysis.txt,sha256=3_MabDi3INHUQI9b0qYLPEAgQ-FiMBVyz6cf3eoldlU,1618
|
505
|
+
odoo/addons/openupgrade_scripts/scripts/sale_project/16.0.1.0/upgrade_analysis_work.txt,sha256=XzPdzthCMjGri6-BgxmrLPf1ctXo1i-k8VXdsc80xKg,1648
|
497
506
|
odoo/addons/openupgrade_scripts/scripts/sale_project_stock/16.0.1.0/upgrade_analysis.txt,sha256=CvydNXFLRJ3UyF1j1fW0FMiIYjMGFaA-KI8t4nPXekM,221
|
498
507
|
odoo/addons/openupgrade_scripts/scripts/sale_purchase/16.0.1.0/upgrade_analysis.txt,sha256=KICfQiqiyfFj1kfW0VXF0zyk8wnik_0APGVT0JdU9lY,361
|
499
508
|
odoo/addons/openupgrade_scripts/scripts/sale_quotation_builder/16.0.1.0/noupdate_changes.xml,sha256=rgaGcEPiWrUftrz6BetgECgDqG3M3Nygj3XmTBVMvbo,3497
|
500
509
|
odoo/addons/openupgrade_scripts/scripts/sale_quotation_builder/16.0.1.0/upgrade_analysis.txt,sha256=06ej-ps7VMDzYrQl7Hdd6uR_V_uhY2mtKQniOHUwmtA,351
|
501
510
|
odoo/addons/openupgrade_scripts/scripts/sale_stock/16.0.1.0/upgrade_analysis.txt,sha256=2pgVDl2UDhrMPdfMl6Yts6AJbXt28_q7I1OuE45E4-U,819
|
511
|
+
odoo/addons/openupgrade_scripts/scripts/sale_timesheet/16.0.1.0/pre-migration.py,sha256=9xiwKatRFe6WrUE4jYhdS86LaN8EHslHJyiw2kUwJzw,1297
|
502
512
|
odoo/addons/openupgrade_scripts/scripts/sale_timesheet/16.0.1.0/upgrade_analysis.txt,sha256=3ZAhGhCvAVd45pIpfNRtFbhbdv7dhcd6zdS4qhOCjUU,4247
|
513
|
+
odoo/addons/openupgrade_scripts/scripts/sale_timesheet/16.0.1.0/upgrade_analysis_work.txt,sha256=_294_KUpIOVVhbiq_HLCpjXqOX-gXd_5zAwL5jzmKK0,4527
|
503
514
|
odoo/addons/openupgrade_scripts/scripts/sales_team/16.0.1.1/upgrade_analysis.txt,sha256=g4BtnBJtJ-XhWm5omP0T--l4R4D8w0H7X1hVZxhCmRI,243
|
504
515
|
odoo/addons/openupgrade_scripts/scripts/sales_team/16.0.1.1/upgrade_analysis_work.txt,sha256=NZeP-iA5SSfLcMa2o9eFGoaZ4JM15eiBDOKDv4aLVOA,260
|
505
516
|
odoo/addons/openupgrade_scripts/scripts/sms/16.0.2.4/upgrade_analysis.txt,sha256=_rqOOvN_wXpJmP-mMhO3SRQoPOD6UMEae_lZaMJGHYY,1513
|
@@ -624,7 +635,7 @@ odoo/addons/openupgrade_scripts/scripts/website_twitter/16.0.1.0/upgrade_analysi
|
|
624
635
|
odoo/addons/openupgrade_scripts/static/description/banner.png,sha256=KTIBu4gfxeZVw9zjs_fivTgFEOeaAorlBxajmCA1p6k,26859
|
625
636
|
odoo/addons/openupgrade_scripts/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
626
637
|
odoo/addons/openupgrade_scripts/static/description/index.html,sha256=IOWtZdzr_jN_Dja8HYIfzIxrO8NE5pFgazKJtPsLKw0,12678
|
627
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
628
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
629
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
630
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
638
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.162.dist-info/METADATA,sha256=mToTaIa8ClQEiWd4R-Qr5HGseR1Vt8uH9mA-ACzc9b4,3810
|
639
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.162.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
640
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.162.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
641
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.162.dist-info/RECORD,,
|
File without changes
|