Skip to content

Commit 799c6ef

Browse files
authored
Merge pull request #5100 from lefilament/18.0-add-sale_project
[18.0][OU-ADD] sale_project
2 parents 185175e + 702a3e6 commit 799c6ef

File tree

4 files changed

+103
-1
lines changed

4 files changed

+103
-1
lines changed

docsource/modules170-180.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -962,7 +962,7 @@ Module coverage 17.0 -> 18.0
962962
+---------------------------------------------------+----------------------+-------------------------------------------------+
963963
| sale_product_matrix | |No DB layout changes. |
964964
+---------------------------------------------------+----------------------+-------------------------------------------------+
965-
| sale_project | | |
965+
| sale_project |Done | |
966966
+---------------------------------------------------+----------------------+-------------------------------------------------+
967967
| sale_project_stock | | |
968968
+---------------------------------------------------+----------------------+-------------------------------------------------+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Copyright 2025 Le Filament (https://le-filament.com)
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
from openupgradelib import openupgrade, openupgrade_180
5+
6+
7+
def _convert_company_dependent(env):
8+
openupgrade_180.convert_company_dependent(
9+
env,
10+
"product.template",
11+
"project_id",
12+
)
13+
openupgrade_180.convert_company_dependent(
14+
env,
15+
"product.template",
16+
"project_template_id",
17+
)
18+
19+
20+
@openupgrade.migrate()
21+
def migrate(env, version):
22+
_convert_company_dependent(env)
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Copyright 2025 Le Filament (https://le-filament.com)
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
from openupgradelib import openupgrade
5+
6+
7+
def _fill_project_reinvoiced_sale_order_id(env):
8+
openupgrade.logged_query(
9+
env.cr,
10+
"""
11+
ALTER TABLE project_project ADD COLUMN
12+
IF NOT EXISTS reinvoiced_sale_order_id INTEGER
13+
""",
14+
)
15+
openupgrade.logged_query(
16+
env.cr,
17+
"""
18+
UPDATE project_project p
19+
SET reinvoiced_sale_order_id = sol.order_id
20+
FROM sale_order_line sol
21+
WHERE p.reinvoiced_sale_order_id IS NULL
22+
AND p.sale_line_id IS NOT NULL
23+
AND p.sale_line_id = sol.id
24+
""",
25+
)
26+
27+
28+
@openupgrade.migrate()
29+
def migrate(env, version):
30+
if openupgrade.column_exists(env.cr, "product_template", "project_id"):
31+
openupgrade.rename_columns(
32+
env.cr,
33+
{"product_template": [("project_id", None)]},
34+
)
35+
if openupgrade.column_exists(env.cr, "product_template", "project_template_id"):
36+
openupgrade.rename_columns(
37+
env.cr,
38+
{"product_template": [("project_template_id", None)]},
39+
)
40+
_fill_project_reinvoiced_sale_order_id(env)
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---Models in module 'sale_project'---
2+
---Fields in module 'sale_project'---
3+
sale_project / product.product / service_tracking (selection) : module is now 'product' ('sale_project')
4+
sale_project / product.template / service_tracking (selection) : module is now 'product' ('sale_project')
5+
sale_project / product.template / service_tracking (False) : NEW selection_keys: ['event', 'event_booth', 'no', 'project_only', 'task_global_project', 'task_in_project'], mode: modify
6+
# NOTHING TO DO: handled by ORM
7+
8+
sale_project / product.template / project_id (many2one) : needs conversion to v18-style company dependent
9+
sale_project / product.template / project_template_id (many2one): needs conversion to v18-style company dependent
10+
# DONE: pre-migration: copy columns if exist
11+
# DONE: post-migration: used openupgrade_180.convert_company_dependent
12+
13+
sale_project / project.project / reinvoiced_sale_order_id (many2one): NEW relation: sale.order
14+
# DONE: pre-migration: pre-create field and fill with sale_line_id.order_id (as done in _onchange_sale_line_id())
15+
16+
---XML records in module 'sale_project'---
17+
NEW ir.actions.server: sale_project.model_sale_order_action_create_project
18+
NEW ir.embedded.actions: sale_project.project_embedded_action_invoices
19+
NEW ir.embedded.actions: sale_project.project_embedded_action_invoices_dashboard
20+
NEW ir.embedded.actions: sale_project.project_embedded_action_sales_orders
21+
NEW ir.embedded.actions: sale_project.project_embedded_action_sales_orders_dashboard
22+
NEW ir.embedded.actions: sale_project.project_embedded_action_vendor_bills
23+
NEW ir.exports: sale_project.services_template_export_template
24+
NEW ir.exports.line: sale_project.project_task_export_template_line_sale_line_id
25+
NEW ir.exports.line: sale_project.services_template_export_template_invoice_policy
26+
NEW ir.exports.line: sale_project.services_template_export_template_line_id
27+
NEW ir.exports.line: sale_project.services_template_export_template_line_list_price
28+
NEW ir.exports.line: sale_project.services_template_export_template_line_name
29+
NEW ir.exports.line: sale_project.services_template_export_template_line_product_tag_ids
30+
NEW ir.exports.line: sale_project.services_template_export_template_line_type
31+
NEW ir.exports.line: sale_project.services_template_export_template_line_uom_id
32+
NEW ir.exports.line: sale_project.services_template_export_template_project_id
33+
NEW ir.exports.line: sale_project.services_template_export_template_project_template_id
34+
NEW ir.exports.line: sale_project.services_template_export_template_service_tracking
35+
NEW ir.ui.view: sale_project.milestone_deadline_inherit
36+
NEW ir.ui.view: sale_project.project_sharing_inherit_project_task_view_tree
37+
NEW ir.ui.view: sale_project.quick_create_task_form_res_partner
38+
NEW ir.ui.view: sale_project.view_sales_order_filter_inherit_sale_project
39+
NEW ir.ui.view: sale_project.view_task_form_res_partner
40+
# NOTHING TO DO: will be created by ORM

0 commit comments

Comments
 (0)