Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,9 @@
@openupgrade.migrate()
def migrate(env, version):
openupgrade.load_data(env, "delivery", "17.0.1.0/noupdate_changes.xml")
openupgrade.delete_record_translations(
env.cr,
"delivery",
["free_delivery_carrier", "product_product_delivery"],
field_list=["name"],
)
135 changes: 135 additions & 0 deletions openupgrade_scripts/scripts/delivery/17.0.1.0/pre-migration.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,98 @@
"delivery.model_choose_delivery_package",
"stock_delivery.model_choose_delivery_package",
),
(
"delivery.choose_delivery_package_view_form",
"stock_delivery.choose_delivery_package_view_form",
),
(
"delivery.delivery_stock_report_delivery_no_package_section_line",
"stock_delivery.delivery_stock_report_delivery_no_package_section_line",
),
(
"delivery.delivery_tracking_url_warning_form",
"stock_delivery.delivery_tracking_url_warning_form",
),
(
"delivery.label_package_template_view_delivery",
"stock_delivery.label_package_template_view_delivery",
),
(
"delivery.product_template_hs_code",
"stock_delivery.product_template_hs_code",
),
(
"delivery.report_delivery_document2",
"stock_delivery.report_delivery_document2",
),
(
"delivery.report_package_barcode_delivery",
"stock_delivery.report_package_barcode_delivery",
),
(
"delivery.report_package_barcode_small_delivery",
"stock_delivery.report_package_barcode_small_delivery",
),
(
"delivery.report_shipping2",
"stock_delivery.report_shipping2",
),
(
"delivery.sale_order_portal_content_inherit_sale_stock_inherit_website_sale_delivery",
"stock_delivery.sale_order_portal_content_inherit_sale_stock_inherit_website_sale",
),
(
"delivery.stock_move_line_view_search_delivery",
"stock_delivery.stock_move_line_view_search_delivery",
),
(
"delivery.stock_package_type_form_delivery",
"stock_delivery.stock_package_type_form_delivery",
),
(
"delivery.stock_package_type_tree_delivery",
"stock_delivery.stock_package_type_tree_delivery",
),
(
"delivery.stock_report_delivery_aggregated_move_lines_inherit_delivery",
"stock_delivery.stock_report_delivery_aggregated_move_lines_inherit_delivery",
),
(
"delivery.stock_report_delivery_has_serial_move_line_inherit_delivery",
"stock_delivery.stock_report_delivery_has_serial_move_line_inherit_delivery",
),
(
"delivery.stock_report_delivery_package_section_line_inherit_delivery",
"stock_delivery.stock_report_delivery_package_section_line_inherit_delivery",
),
(
"delivery.view_move_line_tree_detailed_delivery",
"stock_delivery.view_move_line_tree_detailed_delivery",
),
(
"delivery.view_picking_type_form_delivery",
"stock_delivery.view_picking_type_form_delivery",
),
(
"delivery.view_picking_withcarrier_out_form",
"stock_delivery.view_picking_withcarrier_out_form",
),
(
"delivery.view_picking_withweight_internal_move_form",
"stock_delivery.view_picking_withweight_internal_move_form",
),
(
"delivery.view_quant_package_weight_form",
"stock_delivery.view_quant_package_weight_form",
),
(
"delivery.view_stock_rule_form_delivery",
"stock_delivery.view_stock_rule_form_delivery",
),
(
"delivery.vpicktree_view_tree",
"stock_delivery.vpicktree_view_tree",
),
]


Expand All @@ -47,6 +139,48 @@ def _delete_sql_constraints(env):
)


def _fill_sale_order_shipping_weight(env):
"""Field `shipping_weight` on sale.order is a new stored field."""
openupgrade.logged_query(
env.cr,
"""
ALTER TABLE sale_order
ADD COLUMN IF NOT EXISTS shipping_weight float8;
""",
)
openupgrade.logged_query(
env.cr,
"""
WITH weight_data AS (
SELECT
SUM(
COALESCE(sol.product_uom_qty, 0) * COALESCE(p.weight, 0)
) AS shipping_weight,
sol.order_id
FROM sale_order_line sol
JOIN product_product p ON sol.product_id = p.id
JOIN product_template pt ON p.product_tmpl_id = pt.id
WHERE pt.type IN ('product', 'consu')
AND (sol.is_delivery IS NULL OR sol.is_delivery = FALSE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
AND (sol.is_delivery IS NULL OR sol.is_delivery = FALSE)
AND NOT sol.is_delivery

Copy link
Contributor Author

@carlos-lopez-tecnativa carlos-lopez-tecnativa Mar 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not working correctly.
With your proposal, the result is:
image

With the current code, the result is:
image

Because you have true, false, null:
image

Copy link
Contributor

@MiquelRForgeFlow MiquelRForgeFlow Mar 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh sorry.

FYI Equivalent options:

Suggested change
AND (sol.is_delivery IS NULL OR sol.is_delivery = FALSE)
AND NOT COALESCE(sol.is_delivery, FALSE)
Suggested change
AND (sol.is_delivery IS NULL OR sol.is_delivery = FALSE)
AND sol.is_delivery IS DIFFERENT FROM TRUE
Suggested change
AND (sol.is_delivery IS NULL OR sol.is_delivery = FALSE)
AND (sol.is_delivery IS NULL OR sol.is_delivery = FALSE)

AND sol.display_type IS NULL
AND sol.product_uom_qty > 0
GROUP BY sol.order_id
)
UPDATE sale_order so
SET shipping_weight = wd.shipping_weight
FROM weight_data wd
WHERE so.id = wd.order_id;
""",
)
openupgrade.logged_query(
env.cr,
"""UPDATE sale_order
SET shipping_weight = 0
WHERE shipping_weight IS NULL
""",
)


def _fill_stock_move_line_carrier_id(env):
"""Field `carrier_id` on stock.move.line is now a stored field."""
openupgrade.logged_query(
Expand All @@ -71,6 +205,7 @@ def _fill_stock_move_line_carrier_id(env):
def migrate(env, version):
openupgrade.rename_xmlids(env.cr, _xmlids_renames)
_delete_sql_constraints(env)
_fill_sale_order_shipping_weight(env)
_fill_stock_move_line_carrier_id(env)
openupgrade.logged_query( # just to be sure
env.cr,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ delivery / delivery.carrier / invoice_policy (selection) : select
# NOTHING TO DO

delivery / sale.order / shipping_weight (float) : NEW hasdefault: compute
# NOTHING TO DO: new features
# DONE: pre-migration: Add new column & set value for it

delivery / stock.move.line / carrier_id (many2one) : is now stored
# DONE: pre-migration: Add new column & set value for it
Expand Down Expand Up @@ -67,8 +67,6 @@ ir.model.constraint: delivery.constraint_delivery_carrier_margin_not_under_100_p

DEL ir.ui.menu: delivery.menu_action_delivery_carrier_form [renamed to stock_delivery module]
DEL ir.ui.menu: delivery.menu_delivery_zip_prefix [renamed to stock_delivery module]
# DONE: pre-migration: moved to stock_delivery

DEL ir.ui.view: delivery.choose_delivery_package_view_form
DEL ir.ui.view: delivery.delivery_stock_report_delivery_no_package_section_line
DEL ir.ui.view: delivery.delivery_tracking_url_warning_form
Expand All @@ -92,4 +90,4 @@ DEL ir.ui.view: delivery.view_picking_withweight_internal_move_form
DEL ir.ui.view: delivery.view_quant_package_weight_form
DEL ir.ui.view: delivery.view_stock_rule_form_delivery
DEL ir.ui.view: delivery.vpicktree_view_tree
# NOTHING TO DO
# DONE: pre-migration: renamed xmlid to stock_delivery
Loading