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
4 changes: 2 additions & 2 deletions docsource/modules160-170.rst
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ Module coverage 16.0 -> 17.0
+---------------------------------------------------+----------------------+-------------------------------------------------+
| data_recycle | |No DB layout changes. |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| delivery | | |
| delivery | Done | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| delivery_mondialrelay | |No DB layout changes. |
+---------------------------------------------------+----------------------+-------------------------------------------------+
Expand Down Expand Up @@ -958,7 +958,7 @@ Module coverage 16.0 -> 17.0
+---------------------------------------------------+----------------------+-------------------------------------------------+
| stock_account | Done | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| |new| stock_delivery | | |
| |new| stock_delivery | Nothing to do | Split from delivery. |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| stock_dropshipping | | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
</record>
<record id="free_delivery_carrier" model="delivery.carrier">
<field name="amount"/>
<field name="free_over"/>
<!--<field name="amount"/>
<field name="free_over"/>-->
<field name="name">Standard delivery</field>
</record>
<record id="product_product_delivery" model="product.product">
Comment on lines 9 to 11
Copy link
Contributor

Choose a reason for hiding this comment

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

The product name and delivery name are fields that are translated. Why not delete translations using the delete_translations function from openupgradelib?

I got a similar comment from @pedrobaeza on #4771 (comment)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright 2024 Viindoo Technology Joint Stock Company (Viindoo)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from openupgradelib import openupgrade


@openupgrade.migrate()
def migrate(env, version):
openupgrade.load_data(env, "delivery", "17.0.1.0/noupdate_changes.xml")
81 changes: 81 additions & 0 deletions openupgrade_scripts/scripts/delivery/17.0.1.0/pre-migration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
from openupgradelib import openupgrade

_xmlids_renames = [
(
"delivery.act_delivery_trackers_url",
"stock_delivery.act_delivery_trackers_url",
),
(
"delivery.access_choose_delivery_package",
"stock_delivery.access_choose_delivery_package",
),
(
"delivery.access_delivery_carrier_stock_user",
"stock_delivery.access_delivery_carrier_stock_user",
),
(
"delivery.access_delivery_carrier_stock_manager",
"stock_delivery.access_delivery_carrier_stock_manager",
),
(
"delivery.access_delivery_price_rule_stock_manager",
"stock_delivery.access_delivery_price_rule_stock_manager",
),
(
"delivery.access_delivery_zip_prefix_stock_manager",
"stock_delivery.access_delivery_zip_prefix_stock_manager",
),
(
"delivery.menu_action_delivery_carrier_form",
"stock_delivery.menu_action_delivery_carrier_form",
),
(
"delivery.menu_delivery_zip_prefix",
"stock_delivery.menu_delivery_zip_prefix",
),
(
"delivery.model_choose_delivery_package",
"stock_delivery.model_choose_delivery_package",
),
]


def _delete_sql_constraints(env):
# Delete constraints to recreate it
openupgrade.delete_sql_constraint_safely(
env, "delivery", "delivery_carrier", "margin_not_under_100_percent"
)


def _fill_stock_move_line_carrier_id(env):
"""Field `carrier_id` on stock.move.line is now a stored field."""
openupgrade.logged_query(
env.cr,
"""
ALTER TABLE stock_move_line
ADD COLUMN IF NOT EXISTS carrier_id INTEGER;
""",
)
openupgrade.logged_query(
env.cr,
"""
UPDATE stock_move_line sml
SET carrier_id = sp.carrier_id
FROM stock_picking sp
WHERE sml.picking_id = sp.id;
""",
)


@openupgrade.migrate()
def migrate(env, version):
openupgrade.rename_xmlids(env.cr, _xmlids_renames)
_delete_sql_constraints(env)
_fill_stock_move_line_carrier_id(env)
openupgrade.logged_query( # just to be sure
env.cr,
"""
UPDATE ir_module_module
SET state='to install'
WHERE name = 'stock_delivery' AND state='uninstalled'""",
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
---Models in module 'delivery'---
model choose.delivery.package (moved to stock_delivery) [column['model_type']]
# DONE: pre-migration: moved to stock_delivery

---Fields in module 'delivery'---
delivery / delivery.carrier / fixed_margin (float) : NEW
delivery / delivery.carrier / invoice_policy (selection) : selection_keys is now '['estimated']' ('['estimated', 'real']')
# NOTHING TO DO

delivery / sale.order / shipping_weight (float) : NEW hasdefault: compute
Copy link
Contributor

Choose a reason for hiding this comment

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

sale.order can be considered a transactional record with many entries, so I think this new field should be filled using SQL instead of the ORM. Is there any specific reason to keep the ORM computation?

# NOTHING TO DO: new features

delivery / stock.move.line / carrier_id (many2one) : is now stored
# DONE: pre-migration: Add new column & set value for it

delivery / stock.move.line / carrier_name (char) : DEL
# NOTHING TO DO

delivery / product.product / country_of_origin (many2one) : module is now 'stock_delivery' ('delivery')
delivery / product.product / hs_code (char) : module is now 'stock_delivery' ('delivery')
delivery / product.template / country_of_origin (many2one) : module is now 'stock_delivery' ('delivery')
delivery / product.template / hs_code (char) : module is now 'stock_delivery' ('delivery')
delivery / stock.move / weight (float) : module is now 'stock_delivery' ('delivery')
delivery / stock.move.line / carrier_id (many2one) : module is now 'stock_delivery' ('delivery')
delivery / stock.move.line / destination_country_code (char): module is now 'stock_delivery' ('delivery')
delivery / stock.move.line / sale_price (float) : module is now 'stock_delivery' ('delivery')
delivery / stock.package.type / package_carrier_type (selection): module is now 'stock_delivery' ('delivery')
delivery / stock.package.type / shipper_package_code (char) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / carrier_id (many2one) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / carrier_price (float) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / carrier_tracking_ref (char) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / carrier_tracking_url (char) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / delivery_type (selection) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / destination_country_code (char): module is now 'stock_delivery' ('delivery')
delivery / stock.picking / is_return_picking (boolean) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / package_ids (many2many) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / return_label_ids (one2many) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / shipping_weight (float) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / weight (float) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / weight_bulk (float) : module is now 'stock_delivery' ('delivery')
delivery / stock.picking / weight_uom_name (char) : module is now 'stock_delivery' ('delivery')
delivery / stock.quant.package / shipping_weight (float) : module is now 'stock_delivery' ('delivery')
delivery / stock.quant.package / weight (float) : module is now 'stock_delivery' ('delivery')
delivery / stock.quant.package / weight_is_kg (boolean) : module is now 'stock_delivery' ('delivery')
delivery / stock.quant.package / weight_uom_name (char) : module is now 'stock_delivery' ('delivery')
delivery / stock.quant.package / weight_uom_rounding (float) : module is now 'stock_delivery' ('delivery')
# NOTHING TO DO: Handled by ORM

---XML records in module 'delivery'---
DEL ir.actions.act_window: delivery.act_delivery_trackers_url [renamed to stock_delivery module]
# DONE: pre-migration: moved to stock_delivery

NEW ir.model.access: delivery.access_delivery_price_rule_sale_manager
NEW ir.model.access: delivery.access_delivery_zip_prefix_sale_manager
DEL ir.model.access: delivery.access_choose_delivery_carrier_salesman
# NOTHING TO DO

DEL ir.model.access: delivery.access_choose_delivery_package [renamed to stock_delivery module]
DEL ir.model.access: delivery.access_delivery_carrier_stock_manager [renamed to stock_delivery module]
DEL ir.model.access: delivery.access_delivery_carrier_stock_user [renamed to stock_delivery module]
DEL ir.model.access: delivery.access_delivery_price_rule_stock_manager [renamed to stock_delivery module]
DEL ir.model.access: delivery.access_delivery_zip_prefix_stock_manager [renamed to stock_delivery module]
# DONE: pre-migration: moved to stock_delivery

ir.model.constraint: delivery.constraint_delivery_carrier_margin_not_under_100_percent (changed definition: is now 'check(margin >= -1)' ('check(margin >= -100)'))
# DONE pre-migration: safely delete constraint to recreate it

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
DEL ir.ui.view: delivery.label_package_template_view_delivery
DEL ir.ui.view: delivery.product_template_hs_code
DEL ir.ui.view: delivery.report_delivery_document2
DEL ir.ui.view: delivery.report_package_barcode_delivery
DEL ir.ui.view: delivery.report_package_barcode_small_delivery
DEL ir.ui.view: delivery.report_shipping2
Comment on lines +72 to +80
Copy link
Contributor

Choose a reason for hiding this comment

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

I noticed that these records were simply moved from delivery to stock_delivery. Why not rename the xml_id instead?

DEL ir.ui.view: delivery.sale_order_portal_content_inherit_sale_stock_inherit_website_sale_delivery
DEL ir.ui.view: delivery.stock_move_line_view_search_delivery
DEL ir.ui.view: delivery.stock_package_type_form_delivery
DEL ir.ui.view: delivery.stock_package_type_tree_delivery
DEL ir.ui.view: delivery.stock_report_delivery_aggregated_move_lines_inherit_delivery
DEL ir.ui.view: delivery.stock_report_delivery_has_serial_move_line_inherit_delivery
DEL ir.ui.view: delivery.stock_report_delivery_package_section_line_inherit_delivery
DEL ir.ui.view: delivery.view_move_line_tree_detailed_delivery
DEL ir.ui.view: delivery.view_picking_type_form_delivery
DEL ir.ui.view: delivery.view_picking_withcarrier_out_form
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
Comment on lines +82 to +94
Copy link
Contributor

Choose a reason for hiding this comment

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

The same case applies here. The only change is that sale_order_portal_content_inherit_sale_stock_inherit_website_sale_delivery was renamed to sale_order_portal_content_inherit_sale_stock_inherit_website_sale, but the content remains the same.

# NOTHING TO DO
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---Models in module 'stock_delivery'---
model choose.delivery.package (moved from delivery) [transient]
# NOTHING TO DO

---Fields in module 'stock_delivery'---
stock_delivery / delivery.carrier / invoice_policy (False) : NEW selection_keys: ['estimated', 'real'], mode: modify
# NOTHING TO DO

stock_delivery / product.product / country_of_origin (many2one) : previously in module delivery
stock_delivery / product.product / hs_code (char) : previously in module delivery
stock_delivery / product.template / country_of_origin (many2one) : previously in module delivery
stock_delivery / product.template / hs_code (char) : previously in module delivery
stock_delivery / stock.move / weight (float) : previously in module delivery
stock_delivery / stock.move.line / carrier_id (many2one) : previously in module delivery
stock_delivery / stock.move.line / destination_country_code (char): previously in module delivery
stock_delivery / stock.move.line / sale_price (float) : previously in module delivery
stock_delivery / stock.package.type / package_carrier_type (selection): previously in module delivery
stock_delivery / stock.package.type / shipper_package_code (char) : previously in module delivery
stock_delivery / stock.picking / carrier_id (many2one) : previously in module delivery
stock_delivery / stock.picking / carrier_price (float) : previously in module delivery
stock_delivery / stock.picking / carrier_tracking_ref (char) : previously in module delivery
stock_delivery / stock.picking / carrier_tracking_url (char) : previously in module delivery
stock_delivery / stock.picking / delivery_type (selection) : previously in module delivery
stock_delivery / stock.picking / destination_country_code (char): previously in module delivery
stock_delivery / stock.picking / is_return_picking (boolean) : previously in module delivery
stock_delivery / stock.picking / package_ids (many2many) : previously in module delivery
stock_delivery / stock.picking / return_label_ids (one2many) : previously in module delivery
stock_delivery / stock.picking / shipping_weight (float) : previously in module delivery
stock_delivery / stock.picking / weight (float) : previously in module delivery
stock_delivery / stock.picking / weight_bulk (float) : previously in module delivery
stock_delivery / stock.picking / weight_uom_name (char) : previously in module delivery
stock_delivery / stock.quant.package / shipping_weight (float) : previously in module delivery
stock_delivery / stock.quant.package / weight (float) : previously in module delivery
stock_delivery / stock.quant.package / weight_is_kg (boolean) : previously in module delivery
stock_delivery / stock.quant.package / weight_uom_name (char) : previously in module delivery
stock_delivery / stock.quant.package / weight_uom_rounding (float) : previously in module delivery
# NOTHING TO DO

stock_delivery / delivery.carrier / route_ids (many2many) : NEW relation: stock.route
stock_delivery / stock.route / shipping_selectable (boolean) : NEW
# NOTHING TO DO: new feature that works only if shipping_selectable = True (by default is false)

---XML records in module 'stock_delivery'---
NEW ir.actions.act_window: stock_delivery.act_delivery_trackers_url [renamed from delivery module]
NEW ir.model.access: stock_delivery.access_choose_delivery_carrier_stock_user
NEW ir.model.access: stock_delivery.access_choose_delivery_package [renamed from delivery module]
NEW ir.model.access: stock_delivery.access_delivery_carrier_stock_manager [renamed from delivery module]
NEW ir.model.access: stock_delivery.access_delivery_carrier_stock_user [renamed from delivery module]
NEW ir.model.access: stock_delivery.access_delivery_price_rule_stock_manager [renamed from delivery module]
NEW ir.model.access: stock_delivery.access_delivery_zip_prefix_stock_manager [renamed from delivery module]
NEW ir.ui.menu: stock_delivery.menu_action_delivery_carrier_form [renamed from delivery module]
NEW ir.ui.menu: stock_delivery.menu_delivery_zip_prefix [renamed from delivery module]
NEW ir.ui.view: stock_delivery.choose_delivery_carrier_view_form
NEW ir.ui.view: stock_delivery.choose_delivery_package_view_form
NEW ir.ui.view: stock_delivery.delivery_stock_report_delivery_no_package_section_line
NEW ir.ui.view: stock_delivery.delivery_tracking_url_warning_form
NEW ir.ui.view: stock_delivery.label_package_template_view_delivery
NEW ir.ui.view: stock_delivery.product_template_hs_code
NEW ir.ui.view: stock_delivery.report_delivery_document2
NEW ir.ui.view: stock_delivery.report_package_barcode_delivery
NEW ir.ui.view: stock_delivery.report_package_barcode_small_delivery
NEW ir.ui.view: stock_delivery.report_shipping2
NEW ir.ui.view: stock_delivery.sale_order_portal_content_inherit_sale_stock_inherit_website_sale
NEW ir.ui.view: stock_delivery.stock_location_route_view_form_inherit_stock_delivery
NEW ir.ui.view: stock_delivery.stock_move_line_view_search_delivery
NEW ir.ui.view: stock_delivery.stock_package_type_form_delivery
NEW ir.ui.view: stock_delivery.stock_package_type_tree_delivery
NEW ir.ui.view: stock_delivery.stock_report_delivery_aggregated_move_lines_inherit_delivery
NEW ir.ui.view: stock_delivery.stock_report_delivery_has_serial_move_line_inherit_delivery
NEW ir.ui.view: stock_delivery.stock_report_delivery_package_section_line_inherit_delivery
NEW ir.ui.view: stock_delivery.view_delivery_carrier_form_inherit_stock_delivery
NEW ir.ui.view: stock_delivery.view_move_line_tree_detailed_delivery
NEW ir.ui.view: stock_delivery.view_picking_type_form_delivery
NEW ir.ui.view: stock_delivery.view_picking_withcarrier_out_form
NEW ir.ui.view: stock_delivery.view_picking_withweight_internal_move_form
NEW ir.ui.view: stock_delivery.view_quant_package_weight_form
NEW ir.ui.view: stock_delivery.view_stock_rule_form_delivery
NEW ir.ui.view: stock_delivery.vpicktree_view_tree
# NOTHING TO DO
Loading