odoo-addon-openupgrade-scripts 16.0.1.0.3.191__py3-none-any.whl → 16.0.1.0.3.199__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/delivery/16.0.1.0/post-migration.py +179 -0
- odoo/addons/openupgrade_scripts/scripts/delivery/16.0.1.0/upgrade_analysis_work.txt +35 -0
- odoo/addons/openupgrade_scripts/scripts/hr_fleet/16.0.1.0/pre-migration.py +26 -0
- odoo/addons/openupgrade_scripts/scripts/hr_fleet/16.0.1.0/upgrade_analysis_work.txt +13 -0
- odoo/addons/openupgrade_scripts/scripts/product_expiry/16.0.1.0/upgrade_analysis_work.txt +15 -0
- odoo/addons/openupgrade_scripts/scripts/sale_purchase/16.0.1.0/post-migration.py +86 -0
- odoo/addons/openupgrade_scripts/scripts/sale_purchase/16.0.1.0/upgrade_analysis_work.txt +11 -0
- odoo/addons/openupgrade_scripts/scripts/sale_stock/16.0.1.0/pre-migration.py +57 -0
- odoo/addons/openupgrade_scripts/scripts/sale_stock/16.0.1.0/upgrade_analysis_work.txt +16 -0
- odoo/addons/openupgrade_scripts/scripts/stock_dropshipping/16.0.1.0/upgrade_analysis_work.txt +6 -0
- odoo/addons/openupgrade_scripts/scripts/website_sale_delivery/16.0.1.0/upgrade_analysis_work.txt +5 -0
- odoo/addons/openupgrade_scripts/scripts/website_sale_stock/16.0.1.0/upgrade_analysis_work.txt +11 -0
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.191.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.199.dist-info}/METADATA +1 -1
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.191.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.199.dist-info}/RECORD +16 -4
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.191.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.199.dist-info}/WHEEL +0 -0
- {odoo_addon_openupgrade_scripts-16.0.1.0.3.191.dist-info → odoo_addon_openupgrade_scripts-16.0.1.0.3.199.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,179 @@
|
|
1
|
+
# SPDX-FileCopyrightText: 2023 Coop IT Easy SC
|
2
|
+
# SPDX-FileCopyrightText: 2024 Tecnativa - Pedro M. Baeza
|
3
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
4
|
+
|
5
|
+
import logging
|
6
|
+
import string
|
7
|
+
|
8
|
+
from openupgradelib import openupgrade
|
9
|
+
|
10
|
+
_logger = logging.getLogger(__name__)
|
11
|
+
|
12
|
+
ALPHANUM = string.digits + string.ascii_uppercase
|
13
|
+
|
14
|
+
|
15
|
+
def increment_alphanum(value):
|
16
|
+
result = []
|
17
|
+
carry = False
|
18
|
+
first = True
|
19
|
+
for digit in reversed(value):
|
20
|
+
# Preserve spaces and hyphens
|
21
|
+
if digit in [" ", "-"]:
|
22
|
+
result.append(digit)
|
23
|
+
elif digit == "Z" and (first or carry):
|
24
|
+
result.append("0")
|
25
|
+
carry = True
|
26
|
+
elif carry or first:
|
27
|
+
result.append(ALPHANUM[ALPHANUM.index(digit) + 1])
|
28
|
+
carry = False
|
29
|
+
else:
|
30
|
+
result.append(digit)
|
31
|
+
first = False
|
32
|
+
if carry:
|
33
|
+
result.append("1")
|
34
|
+
return "".join(result[::-1])
|
35
|
+
|
36
|
+
|
37
|
+
def fill_prefix(prefix, length, item, spaces, dashes):
|
38
|
+
result = prefix + (length * item)
|
39
|
+
for index in spaces:
|
40
|
+
result = result[:index] + " " + result[index + 1 :]
|
41
|
+
for index in dashes:
|
42
|
+
result = result[:index] + "-" + result[index + 1 :]
|
43
|
+
return result
|
44
|
+
|
45
|
+
|
46
|
+
def prefix_works(prefix, start, end, spaces, dashes):
|
47
|
+
# Get the highest and lowest values for the prefix, and compare them against
|
48
|
+
# the two extremes.
|
49
|
+
fill_length = len(start) - len(prefix)
|
50
|
+
highest = fill_prefix(prefix, fill_length, "Z", spaces, dashes)
|
51
|
+
lowest = fill_prefix(prefix, fill_length, "0", spaces, dashes)
|
52
|
+
return lowest >= start and highest <= end
|
53
|
+
|
54
|
+
|
55
|
+
def next_alphanum(prefix, length, end, spaces, dashes):
|
56
|
+
result = increment_alphanum(prefix)
|
57
|
+
fill_length = length - len(prefix)
|
58
|
+
if fill_length:
|
59
|
+
result = fill_prefix(result, length - len(prefix), "0", spaces, dashes)
|
60
|
+
if result > end:
|
61
|
+
return None
|
62
|
+
return result
|
63
|
+
|
64
|
+
|
65
|
+
def find_occurrences(item, iterable):
|
66
|
+
return [i for i, val in enumerate(iterable) if val == item]
|
67
|
+
|
68
|
+
|
69
|
+
def range_to_prefixes(start, end):
|
70
|
+
if len(start) != len(end):
|
71
|
+
raise ValueError(f"{start!r} and {end!r} do not have an equal length")
|
72
|
+
# Implementation detail: It is assumed that spaces and dashes occur in
|
73
|
+
# identical places in start and end. If this is not true, the whole thing
|
74
|
+
# doesn't work.
|
75
|
+
spaces = find_occurrences(" ", start)
|
76
|
+
dashes = find_occurrences("-", start)
|
77
|
+
if find_occurrences(" ", end) != spaces or find_occurrences("-", end) != dashes:
|
78
|
+
raise ValueError(
|
79
|
+
f"{start!r} and {end!r} do not have spaces or dashes in identical"
|
80
|
+
f" locations"
|
81
|
+
)
|
82
|
+
prefixes = set()
|
83
|
+
not_prefixes = set()
|
84
|
+
alphanum = start
|
85
|
+
while alphanum:
|
86
|
+
prefix = alphanum
|
87
|
+
candidate = prefix
|
88
|
+
while prefix:
|
89
|
+
if prefix in not_prefixes:
|
90
|
+
break
|
91
|
+
if prefix_works(prefix, start, end, spaces, dashes):
|
92
|
+
candidate = prefix
|
93
|
+
prefix = prefix[:-1]
|
94
|
+
else:
|
95
|
+
not_prefixes.add(prefix)
|
96
|
+
break
|
97
|
+
prefixes.add(candidate)
|
98
|
+
alphanum = next_alphanum(candidate, len(start), end, spaces, dashes)
|
99
|
+
return prefixes
|
100
|
+
|
101
|
+
|
102
|
+
def numerical_range_to_prefixes(min_, max_):
|
103
|
+
"""Adapted from https://github.com/voronind/range-regex."""
|
104
|
+
|
105
|
+
def fill_by_nines(integer, nines_count):
|
106
|
+
return int(str(integer)[:-nines_count] + "9" * nines_count)
|
107
|
+
|
108
|
+
def fill_by_zeros(integer, zeros_count):
|
109
|
+
return integer - integer % 10**zeros_count
|
110
|
+
|
111
|
+
def split_to_ranges(min_, max_):
|
112
|
+
stops = {max_}
|
113
|
+
nines_count = 1
|
114
|
+
stop = fill_by_nines(min_, nines_count)
|
115
|
+
while min_ <= stop < max_:
|
116
|
+
stops.add(stop)
|
117
|
+
nines_count += 1
|
118
|
+
stop = fill_by_nines(min_, nines_count)
|
119
|
+
zeros_count = 1
|
120
|
+
stop = fill_by_zeros(max_ + 1, zeros_count) - 1
|
121
|
+
while min_ < stop <= max_:
|
122
|
+
stops.add(stop)
|
123
|
+
zeros_count += 1
|
124
|
+
stop = fill_by_zeros(max_ + 1, zeros_count) - 1
|
125
|
+
stops = list(stops)
|
126
|
+
stops.sort()
|
127
|
+
return stops
|
128
|
+
|
129
|
+
subpatterns = []
|
130
|
+
start = min_
|
131
|
+
for stop in split_to_ranges(min_, max_):
|
132
|
+
pattern = ""
|
133
|
+
any_digit_count = 0
|
134
|
+
for start_digit, stop_digit in zip(str(start), str(stop)):
|
135
|
+
if start_digit == stop_digit:
|
136
|
+
pattern += start_digit
|
137
|
+
elif start_digit != "0" or stop_digit != "9":
|
138
|
+
pattern += "[{}-{}]".format(start_digit, stop_digit)
|
139
|
+
else:
|
140
|
+
any_digit_count += 1
|
141
|
+
if any_digit_count:
|
142
|
+
pattern += r"\d"
|
143
|
+
if any_digit_count > 1:
|
144
|
+
pattern += "{{{}}}".format(any_digit_count)
|
145
|
+
subpatterns.append(pattern)
|
146
|
+
start = stop + 1
|
147
|
+
return subpatterns
|
148
|
+
|
149
|
+
|
150
|
+
def _convert_carrier_zip_ranges(env):
|
151
|
+
"""Transform the previous zip_from and zip_to fields to the new prefixes system."""
|
152
|
+
env.cr.execute(
|
153
|
+
"SELECT id, zip_from, zip_to FROM delivery_carrier "
|
154
|
+
"WHERE zip_from IS NOT NULL AND zip_to IS NOT NULL"
|
155
|
+
)
|
156
|
+
for carrier_id, zip_from, zip_to in env.cr.fetchall():
|
157
|
+
if zip_from.isnumeric() and zip_to.isnumeric():
|
158
|
+
prefixes = numerical_range_to_prefixes(int(zip_from), int(zip_to))
|
159
|
+
else:
|
160
|
+
try:
|
161
|
+
prefixes = range_to_prefixes(zip_from, zip_to)
|
162
|
+
except Exception as error:
|
163
|
+
_logger.error(
|
164
|
+
f"Failed to convert the zip range '{zip_from} --"
|
165
|
+
f" {zip_to}'of delivery method {carrier_id} to a set of"
|
166
|
+
f" prefixes. Got error:\n\n{error}"
|
167
|
+
)
|
168
|
+
continue
|
169
|
+
carrier = env["delivery.carrier"].browse(carrier_id)
|
170
|
+
for prefix in prefixes:
|
171
|
+
prefix_record = env["delivery.zip.prefix"].search([("name", "=", prefix)])
|
172
|
+
if not prefix_record:
|
173
|
+
prefix_record = env["delivery.zip.prefix"].create({"name": prefix})
|
174
|
+
carrier.zip_prefix_ids |= prefix_record
|
175
|
+
|
176
|
+
|
177
|
+
@openupgrade.migrate()
|
178
|
+
def migrate(env, version):
|
179
|
+
_convert_carrier_zip_ranges(env)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
---Models in module 'delivery'---
|
2
|
+
new model delivery.zip.prefix
|
3
|
+
---Fields in module 'delivery'---
|
4
|
+
delivery / delivery.carrier / carrier_description (text) : NEW
|
5
|
+
# NOTHING TO DO: New feature for showing in the sales order a description for the delivery method.
|
6
|
+
|
7
|
+
delivery / delivery.carrier / shipping_insurance (integer) : NEW hasdefault: default
|
8
|
+
# NOTHING TO DO: New feature for indicating to the providers the insurance percentage covered.
|
9
|
+
|
10
|
+
delivery / delivery.carrier / zip_from (char) : DEL
|
11
|
+
delivery / delivery.carrier / zip_to (char) : DEL
|
12
|
+
delivery / delivery.carrier / zip_prefix_ids (many2many) : NEW relation: delivery.zip.prefix
|
13
|
+
delivery / delivery.zip.prefix / name (char) : NEW required
|
14
|
+
# DONE: post-migration: Extract prefixes as regexp.
|
15
|
+
|
16
|
+
delivery / product.template / country_of_origin (many2one) : NEW relation: res.country
|
17
|
+
# NOTHING TO DO: New field for Intrastat. May should be filled from OCA Intrastat modules
|
18
|
+
|
19
|
+
delivery / stock.move.line / carrier_name (char) : NEW isrelated: related, stored
|
20
|
+
# NOTHING TO DO: Related stored already handled in a fast way by ORM.
|
21
|
+
|
22
|
+
---XML records in module 'delivery'---
|
23
|
+
NEW ir.actions.act_window: delivery.action_delivery_zip_prefix_list
|
24
|
+
NEW ir.model.access: delivery.access_delivery_carrier_system
|
25
|
+
NEW ir.model.access: delivery.access_delivery_zip_prefix
|
26
|
+
NEW ir.model.access: delivery.access_delivery_zip_prefix_stock_manager
|
27
|
+
NEW ir.model.constraint: delivery.constraint_delivery_carrier_shipping_insurance_is_percentage
|
28
|
+
NEW ir.model.constraint: delivery.constraint_delivery_zip_prefix_name_uniq
|
29
|
+
NEW ir.ui.menu: delivery.menu_delivery_zip_prefix
|
30
|
+
NEW ir.ui.view: delivery.delivery_report_saleorder_document
|
31
|
+
NEW ir.ui.view: delivery.label_package_template_view_delivery
|
32
|
+
NEW ir.ui.view: delivery.stock_move_line_view_search_delivery
|
33
|
+
NEW ir.ui.view: delivery.view_picking_type_form_delivery
|
34
|
+
NEW ir.ui.view: delivery.view_stock_rule_form_delivery
|
35
|
+
# NOTHING TO DO: noupdate=0 records handled by ORM.
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from openupgradelib import openupgrade
|
2
|
+
|
3
|
+
|
4
|
+
def create_drive_employee(env):
|
5
|
+
openupgrade.logged_query(
|
6
|
+
env.cr,
|
7
|
+
"""
|
8
|
+
ALTER TABLE fleet_vehicle_assignation_log
|
9
|
+
ADD IF NOT EXISTS driver_employee_id INT
|
10
|
+
""",
|
11
|
+
)
|
12
|
+
|
13
|
+
openupgrade.logged_query(
|
14
|
+
env.cr,
|
15
|
+
"""
|
16
|
+
UPDATE fleet_vehicle_assignation_log log
|
17
|
+
SET driver_employee_id = emp.id
|
18
|
+
FROM hr_employee emp
|
19
|
+
WHERE log.driver_id IS NOT NULL and log.driver_id = emp.address_home_id
|
20
|
+
""",
|
21
|
+
)
|
22
|
+
|
23
|
+
|
24
|
+
@openupgrade.migrate()
|
25
|
+
def migrate(env, version):
|
26
|
+
create_drive_employee(env)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
---Models in module 'hr_fleet'---
|
2
|
+
---Fields in module 'hr_fleet'---
|
3
|
+
hr_fleet / fleet.vehicle.assignation.log / driver_employee_id (many2one) : is now stored
|
4
|
+
hr_fleet / fleet.vehicle.assignation.log / driver_employee_id (many2one) : not related anymore
|
5
|
+
|
6
|
+
# DONE: fill data from old related field for now store current compute field in pre-migration
|
7
|
+
|
8
|
+
---XML records in module 'hr_fleet'---
|
9
|
+
NEW ir.ui.view: hr_fleet.fleet_vehicle_assignation_log_employee_view_list
|
10
|
+
NEW ir.ui.view: hr_fleet.fleet_vehicle_view_tree_inherit_hr
|
11
|
+
NEW ir.ui.view: hr_fleet.view_attachment_kanban_inherit_hr
|
12
|
+
|
13
|
+
# NOTHING TO DO
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---Models in module 'product_expiry'---
|
2
|
+
---Fields in module 'product_expiry'---
|
3
|
+
product_expiry / stock.lot / alert_date (datetime) : NEW hasdefault: compute
|
4
|
+
product_expiry / stock.lot / expiration_date (datetime) : NEW hasdefault: compute
|
5
|
+
product_expiry / stock.lot / product_expiry_reminded (boolean): NEW
|
6
|
+
product_expiry / stock.lot / removal_date (datetime) : NEW hasdefault: compute
|
7
|
+
product_expiry / stock.lot / use_date (datetime) : NEW hasdefault: compute
|
8
|
+
product_expiry / stock.production.lot / alert_date (datetime) : DEL
|
9
|
+
product_expiry / stock.production.lot / expiration_date (datetime) : DEL
|
10
|
+
product_expiry / stock.production.lot / product_expiry_reminded (boolean): DEL
|
11
|
+
product_expiry / stock.production.lot / removal_date (datetime) : DEL
|
12
|
+
product_expiry / stock.production.lot / use_date (datetime) : DEL
|
13
|
+
---XML records in module 'product_expiry'---
|
14
|
+
NEW ir.ui.view: product_expiry.report_package_barcode_expiry
|
15
|
+
# Nothing to do.
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# Copyright 2023 Coop IT Easy SC
|
2
|
+
# Copyright 2024 Tecnativa - Pedro M. Baeza
|
3
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
4
|
+
|
5
|
+
from openupgradelib import openupgrade
|
6
|
+
|
7
|
+
|
8
|
+
def convert_service_to_purchase_to_company_dependent(env):
|
9
|
+
"""The product.template.service_to_purchase field became company-dependent.
|
10
|
+
this means that it is no longer stored in the product_template table,
|
11
|
+
but in the ir_property table.
|
12
|
+
|
13
|
+
for such cases, openupgrade.convert_to_company_dependent() should
|
14
|
+
normally be used, but that function does not seem to support converting
|
15
|
+
a field to company-dependent without changing its name at the same time.
|
16
|
+
moreover, it stores boolean values even when they are false (what odoo
|
17
|
+
does not), and it creates values for all companies, which does not make
|
18
|
+
sense when a record is linked to a particular company only.
|
19
|
+
"""
|
20
|
+
service_to_purchase_field_id = (
|
21
|
+
env.ref("sale_purchase.field_product_template__service_to_purchase").id,
|
22
|
+
)
|
23
|
+
# this boolean property stores its value in the value_integer column, and
|
24
|
+
# it is only stored if it is true.
|
25
|
+
openupgrade.logged_query(
|
26
|
+
env.cr,
|
27
|
+
"""
|
28
|
+
insert into ir_property (
|
29
|
+
company_id, fields_id, value_integer, name, res_id, type
|
30
|
+
)
|
31
|
+
select
|
32
|
+
company_id,
|
33
|
+
%(field_id)s,
|
34
|
+
1,
|
35
|
+
'service_to_purchase',
|
36
|
+
'product.template,' || id,
|
37
|
+
'boolean'
|
38
|
+
from product_template
|
39
|
+
where
|
40
|
+
company_id is not null and
|
41
|
+
service_to_purchase
|
42
|
+
order by id
|
43
|
+
""",
|
44
|
+
{"field_id": service_to_purchase_field_id},
|
45
|
+
)
|
46
|
+
# for product.template records that are not linked to a company, create an
|
47
|
+
# ir.property record for each company.
|
48
|
+
openupgrade.logged_query(
|
49
|
+
env.cr,
|
50
|
+
"""
|
51
|
+
insert into ir_property (
|
52
|
+
company_id,
|
53
|
+
fields_id,
|
54
|
+
value_integer,
|
55
|
+
name,
|
56
|
+
res_id,
|
57
|
+
type
|
58
|
+
)
|
59
|
+
select
|
60
|
+
rc.id,
|
61
|
+
%(field_id)s,
|
62
|
+
1,
|
63
|
+
'service_to_purchase',
|
64
|
+
'product.template,' || pt.id,
|
65
|
+
'boolean'
|
66
|
+
from product_template as pt
|
67
|
+
inner join res_company as rc on
|
68
|
+
pt.company_id is null and
|
69
|
+
pt.service_to_purchase
|
70
|
+
order by pt.id, rc.id
|
71
|
+
""",
|
72
|
+
{"field_id": service_to_purchase_field_id},
|
73
|
+
)
|
74
|
+
|
75
|
+
|
76
|
+
@openupgrade.migrate()
|
77
|
+
def migrate(env, version):
|
78
|
+
convert_service_to_purchase_to_company_dependent(env)
|
79
|
+
constraint = env.ref(
|
80
|
+
"sale_purchase.constraint_product_template_service_to_purchase", False
|
81
|
+
)
|
82
|
+
if constraint:
|
83
|
+
constraint._module_data_uninstall()
|
84
|
+
openupgrade.delete_records_safely_by_xml_id(
|
85
|
+
env, ["sale_purchase.constraint_product_template_service_to_purchase"]
|
86
|
+
)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---Models in module 'sale_purchase'---
|
2
|
+
---Fields in module 'sale_purchase'---
|
3
|
+
sale_purchase / product.template / service_to_purchase (boolean) : not stored anymore
|
4
|
+
# DONE: post-migration, convert to company-dependent field
|
5
|
+
|
6
|
+
---XML records in module 'sale_purchase'---
|
7
|
+
DEL ir.model.constraint: sale_purchase.constraint_product_template_service_to_purchase
|
8
|
+
# DONE: post-migration, delete constraint
|
9
|
+
|
10
|
+
NEW ir.ui.view: sale_purchase.sale_order_cancel_view_form
|
11
|
+
# NOTHING TO DO
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Copyright 2023 Coop IT Easy SC
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
3
|
+
|
4
|
+
from openupgradelib import openupgrade
|
5
|
+
|
6
|
+
|
7
|
+
def compute_sale_order_delivery_status(env):
|
8
|
+
openupgrade.add_fields(
|
9
|
+
env,
|
10
|
+
[
|
11
|
+
(
|
12
|
+
"delivery_status",
|
13
|
+
"sale.order",
|
14
|
+
False,
|
15
|
+
"selection",
|
16
|
+
False,
|
17
|
+
"sale_stock",
|
18
|
+
)
|
19
|
+
],
|
20
|
+
)
|
21
|
+
openupgrade.logged_query(
|
22
|
+
env.cr,
|
23
|
+
"""
|
24
|
+
with so_delivery_status as (
|
25
|
+
select
|
26
|
+
sale_id as id,
|
27
|
+
case
|
28
|
+
when
|
29
|
+
count(state) filter (
|
30
|
+
where state = 'cancel'
|
31
|
+
) = count(state)
|
32
|
+
then null
|
33
|
+
when
|
34
|
+
count(state) filter (
|
35
|
+
where state not in ('done', 'cancel')
|
36
|
+
) = 0
|
37
|
+
then 'full'
|
38
|
+
when
|
39
|
+
count(state) filter (where state = 'done') > 0
|
40
|
+
then 'partial'
|
41
|
+
else 'pending'
|
42
|
+
end as delivery_status
|
43
|
+
from stock_picking
|
44
|
+
group by 1
|
45
|
+
order by 1
|
46
|
+
)
|
47
|
+
update sale_order as so
|
48
|
+
set delivery_status = so_delivery_status.delivery_status
|
49
|
+
from so_delivery_status
|
50
|
+
where so_delivery_status.id = so.id;
|
51
|
+
""",
|
52
|
+
)
|
53
|
+
|
54
|
+
|
55
|
+
@openupgrade.migrate()
|
56
|
+
def migrate(env, version):
|
57
|
+
compute_sale_order_delivery_status(env)
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---Models in module 'sale_stock'---
|
2
|
+
---Fields in module 'sale_stock'---
|
3
|
+
sale_stock / sale.order / delivery_status (selection) : NEW selection_keys: ['full', 'partial', 'pending'], isfunction: function, stored
|
4
|
+
# DONE: pre-migration: fast computed delivery_status
|
5
|
+
sale_stock / sale.order / incoterm_location (char) : NEW
|
6
|
+
sale_stock / sale.order.line / product_type (selection) : module is now 'sale' ('sale_stock')
|
7
|
+
sale_stock / sale.order.line / route_id (many2one) : relation is now 'stock.route' ('stock.location.route') [nothing to do]
|
8
|
+
sale_stock / stock.location.route / sale_selectable (boolean) : DEL
|
9
|
+
sale_stock / stock.route / sale_selectable (boolean) : NEW
|
10
|
+
# NOTHING TO DO
|
11
|
+
---XML records in module 'sale_stock'---
|
12
|
+
DEL ir.ui.menu: sale_stock.menu_aftersale
|
13
|
+
DEL ir.ui.menu: sale_stock.menu_invoiced
|
14
|
+
DEL ir.ui.view: sale_stock.product_template_view_form_inherit_sale
|
15
|
+
DEL ir.ui.view: sale_stock.product_template_view_form_inherit_stock
|
16
|
+
# NOTHING TO DO
|
@@ -0,0 +1,6 @@
|
|
1
|
+
---Models in module 'stock_dropshipping'---
|
2
|
+
---Fields in module 'stock_dropshipping'---
|
3
|
+
---XML records in module 'stock_dropshipping'---
|
4
|
+
DEL stock.location.route: stock_dropshipping.route_drop_shipping (noupdate)
|
5
|
+
NEW stock.route: stock_dropshipping.route_drop_shipping (noupdate)
|
6
|
+
# Nothing to do.
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---Models in module 'website_sale_stock'---
|
2
|
+
---Fields in module 'website_sale_stock'---
|
3
|
+
website_sale_stock / product.product / stock_notification_partner_ids (many2many): NEW relation: res.partner
|
4
|
+
website_sale_stock / sale.order / warning_stock (char) : DEL
|
5
|
+
website_sale_stock / sale.order.line / warning_stock (char) : DEL
|
6
|
+
---XML records in module 'website_sale_stock'---
|
7
|
+
NEW ir.cron: website_sale_stock.ir_cron_send_availability_email
|
8
|
+
NEW ir.ui.view: website_sale_stock.availability_email_body
|
9
|
+
NEW ir.ui.view: website_sale_stock.product_pages_tree_view
|
10
|
+
DEL ir.ui.view: website_sale_stock.website_sale_stock_payment
|
11
|
+
# 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.199
|
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)
|
@@ -90,7 +90,9 @@ odoo/addons/openupgrade_scripts/scripts/crm_iap_mine/16.0.1.2/upgrade_analysis_w
|
|
90
90
|
odoo/addons/openupgrade_scripts/scripts/crm_livechat/16.0.1.0/upgrade_analysis.txt,sha256=dLR4dzjp06adT5zhyuGREDVvj3587_IJNIaPsiyjBxY,1136
|
91
91
|
odoo/addons/openupgrade_scripts/scripts/crm_livechat/16.0.1.0/upgrade_analysis_work.txt,sha256=m9FHu7awHx6VJpfQfE2qeh1ldIuvzJyuK9_zzZQpUcg,1193
|
92
92
|
odoo/addons/openupgrade_scripts/scripts/data_recycle/16.0.1.3/upgrade_analysis.txt,sha256=9qPUSS6VGypt-BdA2-W3aTMDZx_6hBGesGriGEQqtC8,3681
|
93
|
+
odoo/addons/openupgrade_scripts/scripts/delivery/16.0.1.0/post-migration.py,sha256=p7Dh98rfGP7rG0fiRzRLtGxS7g4CM9py5V_TbBMYCiI,6075
|
93
94
|
odoo/addons/openupgrade_scripts/scripts/delivery/16.0.1.0/upgrade_analysis.txt,sha256=8_3hq28eUw-RTZgQNG81Bo86Hwhup438SCog0XHXDRo,1642
|
95
|
+
odoo/addons/openupgrade_scripts/scripts/delivery/16.0.1.0/upgrade_analysis_work.txt,sha256=h53LdOgrg5uvxLS1Rwj9pfvJ4o0GHcJN-sB98nVW2Xk,2105
|
94
96
|
odoo/addons/openupgrade_scripts/scripts/delivery_mondialrelay/16.0.0.1/upgrade_analysis.txt,sha256=b8I5lcmNozL7-QxXWat4eRogSuXBKJ2yoDt_hOP1Kqk,186
|
95
97
|
odoo/addons/openupgrade_scripts/scripts/delivery_stock_picking_batch/16.0.1.0/upgrade_analysis.txt,sha256=eXuu3u85QNBmHk3fmCf4DaxbbyI6nE5qzqyol70x5X4,433
|
96
98
|
odoo/addons/openupgrade_scripts/scripts/digest/16.0.1.1/noupdate_changes.xml,sha256=QwPLT-f8-k6EgHup1SQShECU9bJOzBxmRYrvhDqQfzw,13555
|
@@ -149,7 +151,9 @@ odoo/addons/openupgrade_scripts/scripts/hr_expense/16.0.2.0/post-migration.py,sh
|
|
149
151
|
odoo/addons/openupgrade_scripts/scripts/hr_expense/16.0.2.0/pre-migration.py,sha256=cxJDD2gBCL0Vd7i4vn4falwON0YOy67OsAbpMqor1lU,3801
|
150
152
|
odoo/addons/openupgrade_scripts/scripts/hr_expense/16.0.2.0/upgrade_analysis.txt,sha256=jcxZTjMentbGt3vqdFaG_9NX9sb9KHtJyGfZlw6V4us,4453
|
151
153
|
odoo/addons/openupgrade_scripts/scripts/hr_expense/16.0.2.0/upgrade_analysis_work.txt,sha256=fvIrFIWUu-yyxh7PoSfj5EuaXqmVntzftuov5P55fSw,4523
|
154
|
+
odoo/addons/openupgrade_scripts/scripts/hr_fleet/16.0.1.0/pre-migration.py,sha256=4_vFSdP47ErHAegARFOXpVM9r7i4qtEpGRffW91AtaQ,612
|
152
155
|
odoo/addons/openupgrade_scripts/scripts/hr_fleet/16.0.1.0/upgrade_analysis.txt,sha256=3Z06g4YG8NTmD-qV6to7RhPJbqkUPhxqppzKVzunw0w,492
|
156
|
+
odoo/addons/openupgrade_scripts/scripts/hr_fleet/16.0.1.0/upgrade_analysis_work.txt,sha256=DjuTCAtNenkyRPdsAtaPEtRHa33ID79TKLUa5FL5pkM,605
|
153
157
|
odoo/addons/openupgrade_scripts/scripts/hr_gamification/16.0.1.0/upgrade_analysis.txt,sha256=cMaEUAXfvHRW3vwIZMIrGROH5eDQjRAbqLkraqvEj-4,168
|
154
158
|
odoo/addons/openupgrade_scripts/scripts/hr_gamification/16.0.1.0/upgrade_analysis_work.txt,sha256=3iBxaIQTm-sWLBp43p9C6sjlz2cEs0Bw8yf-0VOL0LM,185
|
155
159
|
odoo/addons/openupgrade_scripts/scripts/hr_holidays/16.0.1.6/noupdate_changes.xml,sha256=5rRhvN1SNok_2zTE545S2unKRR87KPWVWHygEji5Azk,1900
|
@@ -445,6 +449,7 @@ odoo/addons/openupgrade_scripts/scripts/product/16.0.1.2/upgrade_analysis.txt,sh
|
|
445
449
|
odoo/addons/openupgrade_scripts/scripts/product/16.0.1.2/upgrade_analysis_work.txt,sha256=Xl8MPQb9BNot_oSzOwPuvuXOKwXkPYszbUkj7rWIEww,1856
|
446
450
|
odoo/addons/openupgrade_scripts/scripts/product_email_template/16.0.1.0/upgrade_analysis.txt,sha256=Dx6pySBrbJMWmtd4YMb2kJvvwUS13cMjXP0r6zLfLWk,189
|
447
451
|
odoo/addons/openupgrade_scripts/scripts/product_expiry/16.0.1.0/upgrade_analysis.txt,sha256=1G_bk0XlkgaflIKoQAWHO0_tc5rOiHI_QGPCS_jR7gw,186
|
452
|
+
odoo/addons/openupgrade_scripts/scripts/product_expiry/16.0.1.0/upgrade_analysis_work.txt,sha256=XL1CCMWR035bqXrCNm_VoU-llJgIh7qQWzIEdDkQsak,1089
|
448
453
|
odoo/addons/openupgrade_scripts/scripts/product_images/16.0.1.0/upgrade_analysis.txt,sha256=ZFdJzO3tOMvoa1XV86Kzqw5uqUSHhXmQjlN8ebFkbS8,165
|
449
454
|
odoo/addons/openupgrade_scripts/scripts/product_margin/16.0.1.0/upgrade_analysis.txt,sha256=4ttHOXP24HQX80aD5j6gIjzZBzhAD599KgvOxkR9wmM,165
|
450
455
|
odoo/addons/openupgrade_scripts/scripts/product_margin/16.0.1.0/upgrade_analysis_work.txt,sha256=4ttHOXP24HQX80aD5j6gIjzZBzhAD599KgvOxkR9wmM,165
|
@@ -509,10 +514,14 @@ odoo/addons/openupgrade_scripts/scripts/sale_product_matrix/16.0.1.0/upgrade_ana
|
|
509
514
|
odoo/addons/openupgrade_scripts/scripts/sale_project/16.0.1.0/upgrade_analysis.txt,sha256=3_MabDi3INHUQI9b0qYLPEAgQ-FiMBVyz6cf3eoldlU,1618
|
510
515
|
odoo/addons/openupgrade_scripts/scripts/sale_project/16.0.1.0/upgrade_analysis_work.txt,sha256=XzPdzthCMjGri6-BgxmrLPf1ctXo1i-k8VXdsc80xKg,1648
|
511
516
|
odoo/addons/openupgrade_scripts/scripts/sale_project_stock/16.0.1.0/upgrade_analysis.txt,sha256=CvydNXFLRJ3UyF1j1fW0FMiIYjMGFaA-KI8t4nPXekM,221
|
517
|
+
odoo/addons/openupgrade_scripts/scripts/sale_purchase/16.0.1.0/post-migration.py,sha256=keJZcWXEuNAYLlyVTF4akma3PCeaGdYEdCOMiAB1fvw,2871
|
512
518
|
odoo/addons/openupgrade_scripts/scripts/sale_purchase/16.0.1.0/upgrade_analysis.txt,sha256=KICfQiqiyfFj1kfW0VXF0zyk8wnik_0APGVT0JdU9lY,361
|
519
|
+
odoo/addons/openupgrade_scripts/scripts/sale_purchase/16.0.1.0/upgrade_analysis_work.txt,sha256=o5NgI4ehOaScv8O89NdL0RVYG5gxxO0ie245nlGpR2g,480
|
513
520
|
odoo/addons/openupgrade_scripts/scripts/sale_quotation_builder/16.0.1.0/noupdate_changes.xml,sha256=rgaGcEPiWrUftrz6BetgECgDqG3M3Nygj3XmTBVMvbo,3497
|
514
521
|
odoo/addons/openupgrade_scripts/scripts/sale_quotation_builder/16.0.1.0/upgrade_analysis.txt,sha256=06ej-ps7VMDzYrQl7Hdd6uR_V_uhY2mtKQniOHUwmtA,351
|
522
|
+
odoo/addons/openupgrade_scripts/scripts/sale_stock/16.0.1.0/pre-migration.py,sha256=HokoL5uhqtcBIZFSGMGiH215GZGHnLqXs7q7ko5lKLc,1606
|
515
523
|
odoo/addons/openupgrade_scripts/scripts/sale_stock/16.0.1.0/upgrade_analysis.txt,sha256=2pgVDl2UDhrMPdfMl6Yts6AJbXt28_q7I1OuE45E4-U,819
|
524
|
+
odoo/addons/openupgrade_scripts/scripts/sale_stock/16.0.1.0/upgrade_analysis_work.txt,sha256=RI9VqkV-SjxDl0wzmCQvDNlHjK9rMN29Kc6r-xtHc7A,1060
|
516
525
|
odoo/addons/openupgrade_scripts/scripts/sale_timesheet/16.0.1.0/pre-migration.py,sha256=9xiwKatRFe6WrUE4jYhdS86LaN8EHslHJyiw2kUwJzw,1297
|
517
526
|
odoo/addons/openupgrade_scripts/scripts/sale_timesheet/16.0.1.0/upgrade_analysis.txt,sha256=3ZAhGhCvAVd45pIpfNRtFbhbdv7dhcd6zdS4qhOCjUU,4247
|
518
527
|
odoo/addons/openupgrade_scripts/scripts/sale_timesheet/16.0.1.0/upgrade_analysis_work.txt,sha256=_294_KUpIOVVhbiq_HLCpjXqOX-gXd_5zAwL5jzmKK0,4527
|
@@ -546,6 +555,7 @@ odoo/addons/openupgrade_scripts/scripts/stock_account/16.0.1.1/pre-migration.py,
|
|
546
555
|
odoo/addons/openupgrade_scripts/scripts/stock_account/16.0.1.1/upgrade_analysis.txt,sha256=--ShQGHEIfJ3hxITbLby_mqEszI05hutMWsZekrqnd8,805
|
547
556
|
odoo/addons/openupgrade_scripts/scripts/stock_account/16.0.1.1/upgrade_analysis_work.txt,sha256=ns6T8z3WXky-hn5FZNFLsxf3Uz7JIORzWT300uY_Aw8,865
|
548
557
|
odoo/addons/openupgrade_scripts/scripts/stock_dropshipping/16.0.1.0/upgrade_analysis.txt,sha256=UHTDTHm0mdmngE_imxwMmmN1sOQ-LrBlYh9yv-bGU3Q,177
|
558
|
+
odoo/addons/openupgrade_scripts/scripts/stock_dropshipping/16.0.1.0/upgrade_analysis_work.txt,sha256=olsigNs2-E6pfkEPc6UXr54N4B0tPGG7V4AoIbKwo1Q,297
|
549
559
|
odoo/addons/openupgrade_scripts/scripts/stock_landed_costs/16.0.1.1/upgrade_analysis.txt,sha256=WFU81Vt8XuuK9wkxAIUUtohVnUdyOzBtg08-3QGxKh8,177
|
550
560
|
odoo/addons/openupgrade_scripts/scripts/stock_landed_costs/16.0.1.1/upgrade_analysis_work.txt,sha256=Go5HHuQCzgwpBFv_trXxF6i0RpzG2eK_HP4831Lcn6A,193
|
551
561
|
odoo/addons/openupgrade_scripts/scripts/stock_picking_batch/16.0.1.0/upgrade_analysis.txt,sha256=-vWDvtNd94zMYD8LIYGJT_AiaYq4lZvCh4Jv9vL4paE,1327
|
@@ -629,6 +639,7 @@ odoo/addons/openupgrade_scripts/scripts/website_sale_autocomplete/16.0.1.0/upgra
|
|
629
639
|
odoo/addons/openupgrade_scripts/scripts/website_sale_comparison/16.0.1.0/upgrade_analysis.txt,sha256=GbaGMWkY1ZxaQ0L1nUb_LzOFrMALn8fYYBLgMQ_Zl7Y,330
|
630
640
|
odoo/addons/openupgrade_scripts/scripts/website_sale_comparison/16.0.1.0/upgrade_analysis_work.txt,sha256=OfXTn6rnFuOlRjIGn4a1W3pTDF-d23eWYAA599Da-bo,410
|
631
641
|
odoo/addons/openupgrade_scripts/scripts/website_sale_delivery/16.0.1.0/upgrade_analysis.txt,sha256=yYL2gIgN2tVOGbUJmQmy2whpvKNggTmij4ZLDEVozvg,186
|
642
|
+
odoo/addons/openupgrade_scripts/scripts/website_sale_delivery/16.0.1.0/upgrade_analysis_work.txt,sha256=FvJYgjfqYqFPK1axHqCNC8t9CpXFsjIAmaWivVq1aZQ,202
|
632
643
|
odoo/addons/openupgrade_scripts/scripts/website_sale_delivery_mondialrelay/16.0.0.1/upgrade_analysis.txt,sha256=BCxNxJ48VdYt5bV337TfePuo0MN-uhhRUqYwC-bPp0c,433
|
633
644
|
odoo/addons/openupgrade_scripts/scripts/website_sale_digital/16.0.0.1/upgrade_analysis.txt,sha256=ow2g8lrO5k51Ec1gCFTG5_8D9pnfJAzxeVyk5au2qiA,183
|
634
645
|
odoo/addons/openupgrade_scripts/scripts/website_sale_loyalty/16.0.1.0/upgrade_analysis.txt,sha256=M753BVZ9F-ZP039qyWr2V8SMeehrt8iizS0T-cwNVmU,3308
|
@@ -637,6 +648,7 @@ odoo/addons/openupgrade_scripts/scripts/website_sale_product_configurator/16.0.0
|
|
637
648
|
odoo/addons/openupgrade_scripts/scripts/website_sale_product_configurator/16.0.0.1/upgrade_analysis_work.txt,sha256=L05xg6wofXTrLPbGNzGo8KLg0fNr_YdcUMWCGn6VQ8A,367
|
638
649
|
odoo/addons/openupgrade_scripts/scripts/website_sale_slides/16.0.1.0/upgrade_analysis.txt,sha256=6Gl-9-udHVlwU8JWm5SnagoSi2uVGVy4igg32wX30c0,952
|
639
650
|
odoo/addons/openupgrade_scripts/scripts/website_sale_stock/16.0.1.0/upgrade_analysis.txt,sha256=H9oYnZiyYkO8H9fuz638FK7b6XmIlVGTXB8_cklEteo,667
|
651
|
+
odoo/addons/openupgrade_scripts/scripts/website_sale_stock/16.0.1.0/upgrade_analysis_work.txt,sha256=MgwPB4tAIDgZJytIznF7TORVjtjZK0j2tsoSLgbB0kA,683
|
640
652
|
odoo/addons/openupgrade_scripts/scripts/website_sale_stock_wishlist/16.0.1.0/upgrade_analysis.txt,sha256=Su-F698eC2SIY29887O6dZDUZxFp_ckwSXM5C9xKRCk,550
|
641
653
|
odoo/addons/openupgrade_scripts/scripts/website_sale_wishlist/16.0.1.0/upgrade_analysis.txt,sha256=dkoH9dzqNnIfxVpZY78SGzUVWymC_Xt9Hb7bdKIjzww,186
|
642
654
|
odoo/addons/openupgrade_scripts/scripts/website_sale_wishlist/16.0.1.0/upgrade_analysis_work.txt,sha256=FeYUhmHUNRNohMlZL8X4_UtEaHWR9eyXZ_RZ6f-ljpU,202
|
@@ -652,7 +664,7 @@ odoo/addons/openupgrade_scripts/scripts/website_twitter/16.0.1.0/upgrade_analysi
|
|
652
664
|
odoo/addons/openupgrade_scripts/static/description/banner.png,sha256=KTIBu4gfxeZVw9zjs_fivTgFEOeaAorlBxajmCA1p6k,26859
|
653
665
|
odoo/addons/openupgrade_scripts/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
654
666
|
odoo/addons/openupgrade_scripts/static/description/index.html,sha256=IOWtZdzr_jN_Dja8HYIfzIxrO8NE5pFgazKJtPsLKw0,12678
|
655
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
656
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
657
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
658
|
-
odoo_addon_openupgrade_scripts-16.0.1.0.3.
|
667
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.199.dist-info/METADATA,sha256=MNpdvR-TMWEUJh8YgVooZiUxzyJCHyRyWYdoLpxP8zk,3810
|
668
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.199.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
669
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.199.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
670
|
+
odoo_addon_openupgrade_scripts-16.0.1.0.3.199.dist-info/RECORD,,
|
File without changes
|