odoo-addon-openupgrade-scripts 18.0.1.0.0.293__py3-none-any.whl → 18.0.1.0.0.323__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.
Files changed (37) hide show
  1. odoo/addons/openupgrade_scripts/apriori.py +2 -0
  2. odoo/addons/openupgrade_scripts/scripts/base/18.0.1.3/upgrade_general_log.txt +2 -1
  3. odoo/addons/openupgrade_scripts/scripts/base_geolocalize/18.0.2.1/upgrade_analysis_work.txt +5 -0
  4. odoo/addons/openupgrade_scripts/scripts/event/18.0.1.9/upgrade_analysis_work.txt +7 -5
  5. odoo/addons/openupgrade_scripts/scripts/hr_attendance/18.0.2.0/post-migration.py +49 -0
  6. odoo/addons/openupgrade_scripts/scripts/hr_calendar/18.0.1.0/upgrade_analysis_work.txt +8 -0
  7. odoo/addons/openupgrade_scripts/scripts/hr_holidays/18.0.1.6/post-migration.py +12 -0
  8. odoo/addons/openupgrade_scripts/scripts/hr_holidays/18.0.1.6/pre-migration.py +185 -0
  9. odoo/addons/openupgrade_scripts/scripts/hr_holidays/18.0.1.6/upgrade_analysis_work.txt +114 -0
  10. odoo/addons/openupgrade_scripts/scripts/hr_holidays_attendance/18.0.1.0/post-migration.py +8 -0
  11. odoo/addons/openupgrade_scripts/scripts/hr_holidays_attendance/18.0.1.0/upgrade_analysis_work.txt +5 -0
  12. odoo/addons/openupgrade_scripts/scripts/hr_timesheet_attendance/18.0.1.1/upgrade_analysis_work.txt +5 -0
  13. odoo/addons/openupgrade_scripts/scripts/l10n_br/18.0.1.0/upgrade_analysis.txt +1 -0
  14. odoo/addons/openupgrade_scripts/scripts/l10n_es_edi_verifactu/18.0.1.0/upgrade_analysis.txt +44 -0
  15. odoo/addons/openupgrade_scripts/scripts/l10n_es_edi_verifactu_pos/18.0.1.0/upgrade_analysis.txt +11 -0
  16. odoo/addons/openupgrade_scripts/scripts/l10n_kh/18.0.1.0/upgrade_analysis.txt +152 -0
  17. odoo/addons/openupgrade_scripts/scripts/l10n_sg/18.0.2.2/upgrade_analysis.txt +1 -1
  18. odoo/addons/openupgrade_scripts/scripts/l10n_th/18.0.2.0/upgrade_analysis.txt +1 -1
  19. odoo/addons/openupgrade_scripts/scripts/l10n_vn/18.0.2.0.3/upgrade_analysis.txt +1 -0
  20. odoo/addons/openupgrade_scripts/scripts/loyalty/18.0.1.0/end-migration.py +9 -0
  21. odoo/addons/openupgrade_scripts/scripts/loyalty/18.0.1.0/upgrade_analysis_work.txt +36 -0
  22. odoo/addons/openupgrade_scripts/scripts/project_timesheet_holidays/18.0.1.0/upgrade_analysis_work.txt +5 -0
  23. odoo/addons/openupgrade_scripts/scripts/sale_loyalty/18.0.1.0/upgrade_analysis_work.txt +11 -0
  24. odoo/addons/openupgrade_scripts/scripts/stock_picking_batch/18.0.1.0/post-migration.py +33 -0
  25. odoo/addons/openupgrade_scripts/scripts/stock_picking_batch/18.0.1.0/upgrade_analysis_work.txt +24 -0
  26. odoo/addons/openupgrade_scripts/scripts/survey/18.0.3.7/post-migration.py +37 -0
  27. odoo/addons/openupgrade_scripts/scripts/survey/18.0.3.7/upgrade_analysis_work.txt +45 -0
  28. odoo/addons/openupgrade_scripts/scripts/website_event/18.0.1.4/post-migration.py +8 -0
  29. odoo/addons/openupgrade_scripts/scripts/website_event/18.0.1.4/upgrade_analysis_work.txt +68 -0
  30. odoo/addons/openupgrade_scripts/scripts/website_jitsi/18.0.1.0/upgrade_analysis_work.txt +5 -0
  31. odoo/addons/openupgrade_scripts/scripts/website_sale_loyalty/18.0.1.0/upgrade_analysis_work.txt +5 -0
  32. odoo/addons/openupgrade_scripts/scripts/website_slides_survey/18.0.1.0/post-migration.py +34 -0
  33. odoo/addons/openupgrade_scripts/scripts/website_slides_survey/18.0.1.0/upgrade_analysis_work.txt +18 -0
  34. {odoo_addon_openupgrade_scripts-18.0.1.0.0.293.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.323.dist-info}/METADATA +1 -1
  35. {odoo_addon_openupgrade_scripts-18.0.1.0.0.293.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.323.dist-info}/RECORD +37 -11
  36. {odoo_addon_openupgrade_scripts-18.0.1.0.0.293.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.323.dist-info}/WHEEL +1 -1
  37. {odoo_addon_openupgrade_scripts-18.0.1.0.0.293.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.323.dist-info}/top_level.txt +0 -0
@@ -63,6 +63,8 @@ merged_modules = {
63
63
  # odoo/enterprise
64
64
  # OCA/e-commerce
65
65
  "website_sale_product_attachment": "website_sale",
66
+ # OCA/hr-attendance
67
+ "hr_attendance_autoclose": "hr_attendance",
66
68
  # OCA/knowledge
67
69
  "document_page_group": "document_page_access_group",
68
70
  # OCA/l10n-france
@@ -70,6 +70,7 @@ new model l10n_ar.partner.tax [module l10n_ar_withholding]
70
70
  new model l10n_br.zip.range [module l10n_br]
71
71
  new model l10n_es_edi_facturae.ac_role_type (renamed from l10n_es_edi_facturae_adm_centers.ac_role_type) [module l10n_es_edi_facturae]
72
72
  new model l10n_es_edi_tbai.document [module l10n_es_edi_tbai]
73
+ new model l10n_es_edi_verifactu.document [module l10n_es_edi_verifactu]
73
74
  new model l10n_fr.fec.export.wizard [module l10n_fr_account]
74
75
  new model l10n_gr_edi.document [module l10n_gr_edi]
75
76
  new model l10n_gr_edi.preferred_classification [module l10n_gr_edi]
@@ -125,7 +126,7 @@ new model website.page.properties.base [module website]
125
126
  # Found in other module: 92
126
127
  # Found with different type: 8
127
128
  # In obsolete models: 34
128
- # New columns: 1646
129
+ # New columns: 1702
129
130
  # Not matched: 825
130
131
  ---XML records in module 'general'---
131
132
  ERROR: module not in list of installed modules:
@@ -0,0 +1,5 @@
1
+ ---Models in module 'base_geolocalize'---
2
+ ---Fields in module 'base_geolocalize'---
3
+ ---XML records in module 'base_geolocalize'---
4
+ ---nothing has changed in this module--
5
+ # NOTHING TO DO
@@ -53,16 +53,18 @@ event / event.mail / last_registration_id (many2one): NEW r
53
53
 
54
54
  ---XML records in module 'event'---
55
55
  NEW ir.actions.act_window: event.action_event_registration_report [renamed from website_event module]
56
- NEW ir.actions.client: event.event_action_install_kiosk_pwa
57
- NEW ir.actions.report: event.action_report_event_registration_badge_96x134
58
- NEW ir.actions.report: event.action_report_event_registration_badge_96x82
59
56
  NEW ir.model.access: event.access_event_question_answer_employee [renamed from website_event module]
60
57
  NEW ir.model.access: event.access_event_question_answer_registration [renamed from website_event module]
61
58
  NEW ir.model.access: event.access_event_question_answer_user [renamed from website_event module]
62
- NEW ir.model.access: event.access_event_question_manager
63
- NEW ir.model.access: event.access_event_question_user
64
59
  NEW ir.model.access: event.access_event_registration_answer [renamed from website_event module]
65
60
  NEW ir.model.constraint: event.constraint_event_registration_answer_value_check [renamed from website_event module]
61
+ # DONE: pre-migration: rename xmlids
62
+
63
+ NEW ir.actions.client: event.event_action_install_kiosk_pwa
64
+ NEW ir.actions.report: event.action_report_event_registration_badge_96x134
65
+ NEW ir.actions.report: event.action_report_event_registration_badge_96x82
66
+ NEW ir.model.access: event.access_event_question_manager
67
+ NEW ir.model.access: event.access_event_question_user
66
68
  NEW ir.ui.view: event.event_question_view_form
67
69
  NEW ir.ui.view: event.event_registration_answer_view_graph
68
70
  NEW ir.ui.view: event.event_registration_answer_view_pivot
@@ -0,0 +1,49 @@
1
+ # Copyright 2025 Tecnativa - Víctor Martínez
2
+ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
3
+ from openupgradelib import openupgrade
4
+
5
+
6
+ def _hr_attendance_autoclose(env):
7
+ """If the hr_attendance_autoclose module was installed, we will define
8
+ the appropriate values in res.company: auto_check_out +
9
+ auto_check_out_tolerance fields.
10
+ """
11
+ if not openupgrade.column_exists(
12
+ env.cr, "res_company", "hr_attendance_autoclose_reason"
13
+ ):
14
+ return
15
+ env.cr.execute(
16
+ """
17
+ UPDATE res_company
18
+ SET auto_check_out = true, auto_check_out_tolerance = (
19
+ attendance_maximum_hours_per_day - calendar.hours_per_day
20
+ )
21
+ FROM resource_calendar AS calendar
22
+ WHERE res_company.resource_calendar_id = calendar.id
23
+ AND res_company.attendance_maximum_hours_per_day IS NOT NULL
24
+ """
25
+ )
26
+ env.cr.execute(
27
+ """
28
+ UPDATE hr_attendance ha
29
+ SET out_mode = 'auto_check_out'
30
+ FROM hr_employee he, res_company rc,
31
+ hr_attendance_hr_attendance_reason_rel rel
32
+ WHERE ha.employee_id = he.id
33
+ AND he.company_id = rc.id
34
+ AND rel.hr_attendance_id = ha.id
35
+ AND rel.hr_attendance_reason_id = rc.hr_attendance_autoclose_reason
36
+ AND rc.hr_attendance_autoclose_reason IS NOT NULL
37
+ """
38
+ )
39
+ openupgrade.delete_records_safely_by_xml_id(
40
+ env,
41
+ [
42
+ "hr_attendance.check_attendance_cron",
43
+ ],
44
+ )
45
+
46
+
47
+ @openupgrade.migrate()
48
+ def migrate(env, version):
49
+ _hr_attendance_autoclose(env)
@@ -0,0 +1,8 @@
1
+ ---Models in module 'hr_calendar'---
2
+ ---Fields in module 'hr_calendar'---
3
+ ---XML records in module 'hr_calendar'---
4
+ NEW ir.ui.view: hr_calendar.view_calendar_event_calendar
5
+ NEW ir.ui.view: hr_calendar.view_calendar_event_form
6
+ NEW ir.ui.view: hr_calendar.view_calendar_event_form_quick_create
7
+ NEW ir.ui.view: hr_calendar.view_res_partner_filter_inherit_calendar
8
+ # NOTHING TO DO
@@ -0,0 +1,12 @@
1
+ from openupgradelib import openupgrade
2
+
3
+
4
+ @openupgrade.migrate()
5
+ def migrate(env, version):
6
+ openupgrade.load_data(env, "hr_holidays", "18.0.1.6/noupdate_changes.xml")
7
+ openupgrade.delete_record_translations(
8
+ env.cr, "hr_holidays", ["mt_leave_allocation"], ["name"]
9
+ )
10
+ openupgrade.delete_records_safely_by_xml_id(
11
+ env, ["hr_holidays.mt_leave_home_working"]
12
+ )
@@ -0,0 +1,185 @@
1
+ from openupgradelib import openupgrade
2
+
3
+ _column_renames = {
4
+ "hr_leave": [("request_hour_from", None), ("request_hour_to", None)],
5
+ "hr_leave_allocation": [("private_name", "name")],
6
+ }
7
+
8
+ _column_adds = [
9
+ ("hr.leave", "request_hour_from", "float"),
10
+ ("hr.leave", "request_hour_to", "float"),
11
+ ]
12
+
13
+
14
+ def refill_hr_leave_request_hours(env):
15
+ old_request_hour_from = openupgrade.get_legacy_name("request_hour_from")
16
+ openupgrade.logged_query(
17
+ env.cr,
18
+ f"""
19
+ UPDATE hr_leave SET request_hour_from = {old_request_hour_from}::float
20
+ WHERE {old_request_hour_from} IS NOT NULL;
21
+ """,
22
+ )
23
+ old_request_hour_to = openupgrade.get_legacy_name("request_hour_to")
24
+ openupgrade.logged_query(
25
+ env.cr,
26
+ f"""
27
+ UPDATE hr_leave SET request_hour_to = {old_request_hour_to}::float
28
+ WHERE {old_request_hour_to} IS NOT NULL;
29
+ """,
30
+ )
31
+
32
+
33
+ def update_states(env):
34
+ openupgrade.logged_query(
35
+ env.cr,
36
+ """
37
+ UPDATE hr_leave
38
+ SET state = 'confirm'
39
+ WHERE state = 'draft'
40
+ """,
41
+ )
42
+ openupgrade.logged_query(
43
+ env.cr,
44
+ """
45
+ UPDATE hr_leave
46
+ SET state = 'cancel'
47
+ WHERE active IS DISTINCT FROM TRUE
48
+ """,
49
+ )
50
+ openupgrade.logged_query(
51
+ env.cr,
52
+ """
53
+ UPDATE hr_leave_allocation
54
+ SET state = 'cancel'
55
+ WHERE active IS DISTINCT FROM TRUE
56
+ """,
57
+ )
58
+
59
+
60
+ def update_allocation_validation_type(env):
61
+ openupgrade.logged_query(
62
+ env.cr,
63
+ """
64
+ UPDATE hr_leave_type
65
+ SET allocation_validation_type = 'hr'
66
+ WHERE allocation_validation_type = 'officer'
67
+ """,
68
+ )
69
+ openupgrade.logged_query(
70
+ env.cr,
71
+ """
72
+ UPDATE hr_leave_type
73
+ SET allocation_validation_type = 'no_validation'
74
+ WHERE allocation_validation_type = 'no'
75
+ """,
76
+ )
77
+
78
+
79
+ def split_employee_leaves(env):
80
+ for table in ["hr_leave", "hr_leave_allocation"]:
81
+ env.cr.execute(
82
+ f"""
83
+ SELECT column_name
84
+ FROM information_schema.columns
85
+ WHERE table_name = '{table}'
86
+ """
87
+ )
88
+ columns = ", ".join(
89
+ [x[0] for x in env.cr.fetchall() if x[0] not in ("id", "employee_id")]
90
+ )
91
+ leave_employees = []
92
+ # case multi_employee
93
+ env.cr.execute(
94
+ f"""
95
+ SELECT leave.id, 'employee', array_agg(rel.hr_employee_id) as employee_ids
96
+ FROM {table} AS leave
97
+ JOIN hr_employee_{table}_rel rel ON rel.{table}_id = leave.id
98
+ WHERE leave.holiday_type = 'employee' AND leave.multi_employee
99
+ GROUP BY leave.id
100
+ """
101
+ )
102
+ leave_employees.extend(env.cr.fetchall())
103
+ # case company
104
+ env.cr.execute(
105
+ f"""
106
+ SELECT leave.id, 'company', array_agg(he.id) as employee_ids
107
+ FROM {table} AS leave
108
+ JOIN hr_employee he ON he.company_id = leave.mode_company_id
109
+ WHERE leave.holiday_type = 'company'
110
+ GROUP BY leave.id
111
+ """
112
+ )
113
+ leave_employees.extend(env.cr.fetchall())
114
+ # case category
115
+ env.cr.execute(
116
+ f"""
117
+ SELECT leave.id, 'category', array_agg(rel.employee_id) as employee_ids
118
+ FROM {table} AS leave
119
+ JOIN employee_category_rel rel ON rel.category_id = leave.category_id
120
+ WHERE leave.holiday_type = 'category'
121
+ GROUP BY leave.id
122
+ """
123
+ )
124
+ leave_employees.extend(env.cr.fetchall())
125
+ # case department
126
+ env.cr.execute(
127
+ f"""
128
+ SELECT leave.id, 'department', array_agg(he.id) as employee_ids
129
+ FROM {table} AS leave
130
+ JOIN hr_employee he ON he.department_id = leave.department_id
131
+ WHERE leave.holiday_type = 'department'
132
+ GROUP BY leave.id
133
+ """
134
+ )
135
+ leave_employees.extend(env.cr.fetchall())
136
+ for table_id, holiday_type, employee_ids in leave_employees:
137
+ employees = env["hr.employee"].browse(employee_ids)
138
+ if employee_ids:
139
+ openupgrade.logged_query(
140
+ env.cr,
141
+ f"""
142
+ UPDATE {table}
143
+ SET employee_id = {employees[0].id}
144
+ WHERE id = {table_id}
145
+ """,
146
+ )
147
+ if holiday_type != "employee":
148
+ openupgrade.logged_query(
149
+ env.cr,
150
+ f"""
151
+ UPDATE {table}
152
+ SET holiday_type = 'employee'
153
+ WHERE id = {table_id}
154
+ """,
155
+ )
156
+ for employee in employees[1:]:
157
+ openupgrade.logged_query(
158
+ env.cr,
159
+ f"""
160
+ INSERT INTO {table} (employee_id, {columns})
161
+ SELECT {employee.id}, {columns}
162
+ FROM {table}
163
+ WHERE id = {table_id}
164
+ """,
165
+ )
166
+ else:
167
+ openupgrade.logged_query(
168
+ env.cr,
169
+ f"""
170
+ DELETE FROM {table} WHERE id = {table_id}
171
+ """,
172
+ )
173
+
174
+
175
+ @openupgrade.migrate()
176
+ def migrate(env, version):
177
+ openupgrade.rename_columns(env.cr, _column_renames)
178
+ openupgrade.add_columns(env, _column_adds)
179
+ refill_hr_leave_request_hours(env)
180
+ update_states(env)
181
+ update_allocation_validation_type(env)
182
+ openupgrade.remove_tables_fks(
183
+ env.cr, ["hr_employee_hr_leave_rel", "hr_employee_hr_leave_allocation_rel"]
184
+ )
185
+ split_employee_leaves(env)
@@ -0,0 +1,114 @@
1
+ ---Models in module 'hr_holidays'---
2
+ new model hr.leave.allocation.generate.multi.wizard [transient]
3
+ new model hr.leave.generate.multi.wizard [transient]
4
+ ---Fields in module 'hr_holidays'---
5
+ hr_holidays / hr.employee / current_leave_state (selection): selection_keys removed: [draft]
6
+ hr_holidays / hr.employee / hr_icon_display (False) : selection_keys added: [presence_archive, presence_out_of_working_hour], removed: [presence_absent_active, presence_to_define]
7
+ # NOTHING TO DO: non stored
8
+
9
+ hr_holidays / hr.leave / employee_ids (many2many) : DEL relation: hr.employee
10
+ hr_holidays / hr.leave.allocation / employee_ids (many2many) : DEL relation: hr.employee
11
+ # DONE: pre-migration: remove many2many table fks
12
+
13
+ hr_holidays / hr.leave / category_id (many2one) : DEL relation: hr.employee.category
14
+ hr_holidays / hr.leave.allocation / category_id (many2one) : DEL relation: hr.employee.category
15
+ hr_holidays / hr.leave / holiday_type (selection) : DEL required, selection_keys: ['category', 'company', 'department', 'employee']
16
+ hr_holidays / hr.leave.allocation / holiday_type (selection) : DEL required, selection_keys: ['category', 'company', 'department', 'employee']
17
+ hr_holidays / hr.leave / linked_request_ids (one2many) : DEL relation: hr.leave
18
+ hr_holidays / hr.leave.allocation / linked_request_ids (one2many) : DEL relation: hr.leave.allocation
19
+ hr_holidays / hr.leave / mode_company_id (many2one) : DEL relation: res.company
20
+ hr_holidays / hr.leave.allocation / mode_company_id (many2one) : DEL relation: res.company
21
+ hr_holidays / hr.leave / multi_employee (boolean) : DEL
22
+ hr_holidays / hr.leave.allocation / multi_employee (boolean) : DEL
23
+ hr_holidays / hr.leave / parent_id (many2one) : DEL relation: hr.leave
24
+ hr_holidays / hr.leave.allocation / parent_id (many2one) : DEL relation: hr.leave.allocation
25
+ hr_holidays / hr.leave / employee_id (many2one) : now required
26
+ hr_holidays / hr.leave.allocation / employee_id (many2one) : now required
27
+ # DONE: pre-migration: split leaves, one for each employee
28
+
29
+ hr_holidays / hr.leave / report_note (text) : DEL
30
+ # NOTHING TO DO: deprecated (https://github.com/odoo/odoo/commit/ca34732081b1ce6c339dd941abb9696861d95878)
31
+
32
+ hr_holidays / hr.leave / request_hour_from (selection) : selection_keys is now 'False' ('['0', '0.5', '1', '1.5', '10', '10.5', '11', '11.5', '12', '12.5', '13', '13.5', '14', '14.5', '15', '15.5', '16', '16.5', '17', '17.5', '18', '18.5', '19', '19.5', '2', '2.5', '20', '20.5', '21', '21.5', '22', '22.5', '23', '23.5', '3', '3.5', '4', '4.5', '5', '5.5', '6', '6.5', '7', '7.5', '8', '8.5', '9', '9.5']')
33
+ hr_holidays / hr.leave / request_hour_from (selection) : type is now 'float' ('selection')
34
+ hr_holidays / hr.leave / request_hour_to (selection) : selection_keys is now 'False' ('['0', '0.5', '1', '1.5', '10', '10.5', '11', '11.5', '12', '12.5', '13', '13.5', '14', '14.5', '15', '15.5', '16', '16.5', '17', '17.5', '18', '18.5', '19', '19.5', '2', '2.5', '20', '20.5', '21', '21.5', '22', '22.5', '23', '23.5', '3', '3.5', '4', '4.5', '5', '5.5', '6', '6.5', '7', '7.5', '8', '8.5', '9', '9.5']')
35
+ hr_holidays / hr.leave / request_hour_to (selection) : type is now 'float' ('selection')
36
+ # DONE: pre-migration: transform to float
37
+
38
+ hr_holidays / hr.leave / active (boolean) : DEL
39
+ hr_holidays / hr.leave.allocation / active (boolean) : DEL
40
+ hr_holidays / hr.leave / state (selection) : selection_keys added: [cancel], removed: [draft]
41
+ hr_holidays / hr.leave.allocation / state (selection) : selection_keys added: [validate1] (most likely nothing to do)
42
+ # DONE: pre-migration: set state = 'cancel' if archived. Also, 'draft' set to 'confirm' for leaves
43
+
44
+ hr_holidays / hr.leave.accrual.level / accrual_validity (boolean) : NEW
45
+ hr_holidays / hr.leave.accrual.level / accrual_validity_count (integer): NEW hasdefault: default
46
+ hr_holidays / hr.leave.accrual.level / accrual_validity_type (selection): NEW required, selection_keys: ['day', 'month'], hasdefault: default
47
+ # NOTHING TO DO: new functionality
48
+
49
+ hr_holidays / hr.leave.accrual.level / cap_accrued_time_yearly (boolean): NEW
50
+ hr_holidays / hr.leave.accrual.level / maximum_leave_yearly (float) : NEW
51
+ # NOTHING TO DO: new feature
52
+
53
+ hr_holidays / hr.leave.allocation / accrual_plan_id (many2one) : now a function
54
+ # NOTHING TO DO
55
+
56
+ hr_holidays / hr.leave.allocation / actual_lastcall (date) : NEW
57
+ hr_holidays / hr.leave.allocation / last_executed_carryover_date (date): NEW
58
+ # NOTHING TO DO
59
+
60
+ hr_holidays / hr.leave.allocation / carried_over_days_expiration_date (date): NEW
61
+ hr_holidays / hr.leave.allocation / expiring_carryover_days (float): NEW
62
+ # NOTHING TO DO: new functionality
63
+
64
+ hr_holidays / hr.leave.allocation / is_name_custom (boolean) : NEW
65
+ hr_holidays / hr.leave.allocation / name (char) : is now stored
66
+ hr_holidays / hr.leave.allocation / name (char) : not a function anymore
67
+ hr_holidays / hr.leave.allocation / private_name (char) : DEL
68
+ # DONE: pre-migration: renamed private_name to name
69
+
70
+ hr_holidays / hr.leave.allocation / number_of_hours_display (float): is now stored
71
+ # NOTHING TO DO: let odoo compute it
72
+
73
+ hr_holidays / hr.leave.allocation / second_approver_id (many2one) : NEW relation: hr.employee
74
+ # NOTHING TO DO: new functionality
75
+
76
+ hr_holidays / hr.leave.allocation / yearly_accrued_amount (float) : NEW
77
+ # NOTHING TO DO
78
+
79
+ hr_holidays / hr.leave.type / allocation_validation_type (selection): selection_keys added: [both, hr, manager, no_validation], removed: [no, officer]
80
+ # DONE: pre-migration: officer -> hr, no -> no_validation
81
+
82
+ hr_holidays / hr.leave.type / include_public_holidays_in_duration (boolean): NEW hasdefault: default
83
+ # NOTHING TO DO: new feature
84
+
85
+ hr_holidays / hr.leave.type / show_on_dashboard (boolean) : NEW hasdefault: default
86
+ # NOTHING TO DO: new feature
87
+
88
+ ---XML records in module 'hr_holidays'---
89
+ NEW ir.actions.act_window: hr_holidays.action_hr_leave_allocation_generate_multi_wizard
90
+ NEW ir.actions.act_window: hr_holidays.action_hr_leave_generate_multi_wizard
91
+ NEW ir.actions.act_window: hr_holidays.action_hr_leave_report
92
+ NEW ir.actions.act_window: hr_holidays.hr_leave_report_action
93
+ DEL ir.actions.act_window: hr_holidays.act_hr_employee_holiday_type
94
+ DEL ir.actions.act_window: hr_holidays.hr_leave_action_action_department
95
+ NEW ir.model.access: hr_holidays.access_hr_leave_allocation_generate_multi_wizard
96
+ NEW ir.model.access: hr_holidays.access_hr_leave_employee_type_report_manager
97
+ NEW ir.model.access: hr_holidays.access_hr_leave_generate_multi_wizard
98
+ DEL ir.model.access: hr_holidays.access_hr_leave_employee_type_report
99
+ NEW ir.model.constraint: hr_holidays.constraint_hr_leave_accrual_level_valid_yearly_cap_value
100
+ DEL ir.model.constraint: hr_holidays.constraint_hr_leave_allocation_type_value
101
+ DEL ir.model.constraint: hr_holidays.constraint_hr_leave_type_value
102
+ NEW ir.ui.menu: hr_holidays.menu_hr_holidays_balance
103
+ NEW ir.ui.view: hr_holidays.hr_leave_allocation_generate_multi_wizard_view_form
104
+ NEW ir.ui.view: hr_holidays.hr_leave_generate_multi_wizard_view_form
105
+ NEW ir.ui.view: hr_holidays.hr_leave_view_search_report
106
+ NEW ir.ui.view: hr_holidays.view_calendar_event_form_inherit
107
+ DEL ir.ui.view: hr_holidays.hr_departure_wizard_view_form
108
+ DEL ir.ui.view: hr_holidays.hr_leave_report_search_view
109
+ NEW mail.activity.type: hr_holidays.mail_act_leave_allocation_second_approval (noupdate)
110
+ NEW web_tour.tour: hr_holidays.hr_holidays_tour
111
+ # NOTHING TO DO
112
+
113
+ DEL mail.message.subtype: hr_holidays.mt_leave_home_working (noupdate)
114
+ # DONE: post-migration: safely delete
@@ -0,0 +1,8 @@
1
+ from openupgradelib import openupgrade
2
+
3
+
4
+ @openupgrade.migrate()
5
+ def migrate(env, version):
6
+ openupgrade.load_data(
7
+ env, "hr_holidays_attendance", "18.0.1.0/noupdate_changes.xml"
8
+ )
@@ -0,0 +1,5 @@
1
+ ---Models in module 'hr_holidays_attendance'---
2
+ ---Fields in module 'hr_holidays_attendance'---
3
+ ---XML records in module 'hr_holidays_attendance'---
4
+ ---nothing has changed in this module--
5
+ # NOTHING TO DO
@@ -0,0 +1,5 @@
1
+ ---Models in module 'hr_timesheet_attendance'---
2
+ ---Fields in module 'hr_timesheet_attendance'---
3
+ ---XML records in module 'hr_timesheet_attendance'---
4
+ ---nothing has changed in this module--
5
+ # NOTHING TO DO
@@ -5,6 +5,7 @@ l10n_br / l10n_br.zip.range / city_id (many2one) : NEW re
5
5
  l10n_br / l10n_br.zip.range / end (char) : NEW required
6
6
  l10n_br / l10n_br.zip.range / start (char) : NEW required
7
7
  l10n_br / res.city / l10n_br_zip_range_ids (one2many): NEW relation: l10n_br.zip.range
8
+ l10n_br_pix / res.partner.bank / proxy_type (False) : selection_keys added: [bakong_id_merchant, bakong_id_solo] (most likely nothing to do)
8
9
  ---XML records in module 'l10n_br'---
9
10
  NEW ir.model.access: l10n_br.access_l10n_br_zip_range_group_manager
10
11
  NEW ir.model.access: l10n_br.access_l10n_br_zip_range_group_user
@@ -0,0 +1,44 @@
1
+ ---Models in module 'l10n_es_edi_verifactu'---
2
+ new model l10n_es_edi_verifactu.document
3
+ ---Fields in module 'l10n_es_edi_verifactu'---
4
+ l10n_es_edi_verifactu / account.move / l10n_es_edi_verifactu_clave_regimen (selection): NEW selection_keys: function, hasdefault: compute
5
+ l10n_es_edi_verifactu / account.move / l10n_es_edi_verifactu_document_ids (one2many): NEW relation: l10n_es_edi_verifactu.document
6
+ l10n_es_edi_verifactu / account.move / l10n_es_edi_verifactu_refund_reason (selection): NEW selection_keys: ['R1', 'R2', 'R3', 'R4', 'R5']
7
+ l10n_es_edi_verifactu / account.move / l10n_es_edi_verifactu_state (selection): NEW selection_keys: ['accepted', 'cancelled', 'registered_with_errors', 'rejected'], isfunction: function, stored
8
+ l10n_es_edi_verifactu / account.move / l10n_es_edi_verifactu_substituted_entry_id (many2one): NEW relation: account.move
9
+ l10n_es_edi_verifactu / account.move / l10n_es_edi_verifactu_substitution_move_ids (one2many): NEW relation: account.move
10
+ l10n_es_edi_verifactu / account.tax / l10n_es_applicability (selection): NEW selection_keys: ['01', '02', '03']
11
+ l10n_es_edi_verifactu / certificate.certificate / scope (False) : NEW selection_keys: ['facturae', 'general', 'sii', 'tbai', 'verifactu'], mode: modify
12
+ l10n_es_edi_verifactu / l10n_es_edi_verifactu.document / chain_index (integer) : NEW
13
+ l10n_es_edi_verifactu / l10n_es_edi_verifactu.document / company_id (many2one) : NEW relation: res.company, required
14
+ l10n_es_edi_verifactu / l10n_es_edi_verifactu.document / document_type (selection) : NEW required, selection_keys: ['cancellation', 'submission']
15
+ l10n_es_edi_verifactu / l10n_es_edi_verifactu.document / errors (html) : NEW
16
+ l10n_es_edi_verifactu / l10n_es_edi_verifactu.document / json_attachment_id (many2one) : NEW relation: ir.attachment
17
+ l10n_es_edi_verifactu / l10n_es_edi_verifactu.document / move_id (many2one) : NEW relation: account.move
18
+ l10n_es_edi_verifactu / l10n_es_edi_verifactu.document / response_csv (char) : NEW
19
+ l10n_es_edi_verifactu / l10n_es_edi_verifactu.document / state (selection) : NEW selection_keys: ['accepted', 'registered_with_errors', 'rejected']
20
+ l10n_es_edi_verifactu / res.company / l10n_es_edi_verifactu_certificate_ids (one2many): NEW relation: certificate.certificate
21
+ l10n_es_edi_verifactu / res.company / l10n_es_edi_verifactu_chain_sequence_id (many2one): NEW relation: ir.sequence
22
+ l10n_es_edi_verifactu / res.company / l10n_es_edi_verifactu_next_batch_time (datetime): NEW
23
+ l10n_es_edi_verifactu / res.company / l10n_es_edi_verifactu_required (boolean): NEW
24
+ l10n_es_edi_verifactu / res.company / l10n_es_edi_verifactu_special_vat_regime (selection): NEW selection_keys: ['reagyp', 'recargo', 'simplified']
25
+ l10n_es_edi_verifactu / res.company / l10n_es_edi_verifactu_test_environment (boolean): NEW hasdefault: default
26
+ ---XML records in module 'l10n_es_edi_verifactu'---
27
+ NEW ir.actions.act_window: l10n_es_edi_verifactu.l10n_es_edi_verifactu_certificate_action
28
+ NEW ir.cron: l10n_es_edi_verifactu.cron_verifactu_batch (noupdate)
29
+ NEW ir.model.access: l10n_es_edi_verifactu.access_l10n_es_edi_verifactu_document_readonly
30
+ NEW ir.ui.menu: l10n_es_edi_verifactu.menu_l10n_es_edi_verifactu_certificates
31
+ NEW ir.ui.menu: l10n_es_edi_verifactu.menu_l10n_es_edi_verifactu_root
32
+ NEW ir.ui.view: l10n_es_edi_verifactu.certificate_certificate_view_form
33
+ NEW ir.ui.view: l10n_es_edi_verifactu.certificate_certificate_view_search
34
+ NEW ir.ui.view: l10n_es_edi_verifactu.report_invoice_document
35
+ NEW ir.ui.view: l10n_es_edi_verifactu.res_config_settings_view_form
36
+ NEW ir.ui.view: l10n_es_edi_verifactu.view_account_invoice_filter
37
+ NEW ir.ui.view: l10n_es_edi_verifactu.view_account_move_filter
38
+ NEW ir.ui.view: l10n_es_edi_verifactu.view_account_move_reversal_inherit_l10n_es_edi_verifactu
39
+ NEW ir.ui.view: l10n_es_edi_verifactu.view_company_form
40
+ NEW ir.ui.view: l10n_es_edi_verifactu.view_invoice_tree
41
+ NEW ir.ui.view: l10n_es_edi_verifactu.view_l10n_es_edi_verifactu_document_form
42
+ NEW ir.ui.view: l10n_es_edi_verifactu.view_move_form_inherit_l10n_es_edi_verifactu
43
+ NEW ir.ui.view: l10n_es_edi_verifactu.view_move_tree
44
+ NEW ir.ui.view: l10n_es_edi_verifactu.view_tax_form_inherit_l10n_es_edi_verifactu
@@ -0,0 +1,11 @@
1
+ ---Models in module 'l10n_es_edi_verifactu_pos'---
2
+ ---Fields in module 'l10n_es_edi_verifactu_pos'---
3
+ l10n_es_edi_verifactu_pos / l10n_es_edi_verifactu.document / pos_order_id (many2one) : NEW relation: pos.order
4
+ l10n_es_edi_verifactu_pos / pos.order / l10n_es_edi_verifactu_document_ids (one2many): NEW relation: l10n_es_edi_verifactu.document
5
+ l10n_es_edi_verifactu_pos / pos.order / l10n_es_edi_verifactu_refund_reason (selection): NEW selection_keys: ['R1', 'R2', 'R3', 'R4', 'R5']
6
+ l10n_es_edi_verifactu_pos / pos.order / l10n_es_edi_verifactu_state (selection): NEW selection_keys: ['accepted', 'cancelled', 'registered_with_errors', 'rejected'], isfunction: function, stored
7
+ ---XML records in module 'l10n_es_edi_verifactu_pos'---
8
+ NEW ir.model.access: l10n_es_edi_verifactu_pos.access_l10n_es_edi_verifactu_document
9
+ NEW ir.ui.view: l10n_es_edi_verifactu_pos.view_pos_order_filter
10
+ NEW ir.ui.view: l10n_es_edi_verifactu_pos.view_pos_order_form_inherit_l10n_es_pos_verifactu
11
+ NEW ir.ui.view: l10n_es_edi_verifactu_pos.view_pos_order_tree