From 5fd70f54ab83b76153464ed1fbd88c85e77e424e Mon Sep 17 00:00:00 2001 From: cubells Date: Thu, 24 Nov 2016 18:50:03 +0100 Subject: [PATCH 1/3] [MIG] website_sale module migration script * Created openupgrade_analysis_work.txt * Updated module coverage document --- .../9.0.1.0/openupgrade_analysis_work.txt | 84 +++++++++++++++++++ .../openupgrade/doc/source/modules80-90.rst | 2 +- 2 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 addons/website_sale/migrations/9.0.1.0/openupgrade_analysis_work.txt diff --git a/addons/website_sale/migrations/9.0.1.0/openupgrade_analysis_work.txt b/addons/website_sale/migrations/9.0.1.0/openupgrade_analysis_work.txt new file mode 100644 index 000000000000..82196eb1fa7a --- /dev/null +++ b/addons/website_sale/migrations/9.0.1.0/openupgrade_analysis_work.txt @@ -0,0 +1,84 @@ +---Fields in module 'website_sale'--- +website_sale / payment.transaction / sale_order_id (many2one) : module is now 'website_quote' ('website_sale') +# Nothing to do + +website_sale / product.public.category / website_meta_description (text): NEW +# Nothing to do + +website_sale / product.public.category / website_meta_keywords (char) : NEW +# Nothing to do + +website_sale / product.public.category / website_meta_title (char) : NEW +# Nothing to do + +website_sale / product.template / rating_ids (one2many) : NEW relation: rating.rating +# Nothing to do + +website_sale / res.country.group / website_pricelist_ids (many2many): NEW relation: website_pricelist +# Nothing to do + +website_sale / res.partner / last_website_so_id (many2one) : NEW relation: sale.order +# Nothing to do + +website_sale / website / pricelist_id (many2one) : now a function +# Nothing to do -> return pricelist of website or pricelist of user + +website_sale / website / salesperson_id (many2one) : NEW relation: res.users +# Nothing to do + +website_sale / website / salesteam_id (many2one) : NEW relation: crm.team +# Nothing to do + +website_sale / website / website_pricelist_ids (one2many): NEW relation: website_pricelist +# Nothing to do + +website_sale / website_pricelist / country_group_ids (many2many) : NEW relation: res.country.group +# Nothing to do + +website_sale / website_pricelist / pricelist_id (many2one) : NEW relation: product.pricelist +# Nothing to do + +website_sale / website_pricelist / selectable (boolean) : NEW +# Nothing to do + +website_sale / website_pricelist / website_id (many2one) : NEW relation: website, required: required +# Nothing to do + +---XML records in module 'website_sale'--- +DEL crm.case.section: website.salesteam_website_sales +NEW crm.team: website.salesteam_website_sales +NEW ir.actions.act_window: website_sale.website_sale_pricelists_by_website +NEW ir.model.access: website_sale.access_fiscal_position_public +NEW ir.model.access: website_sale.access_payment_term +NEW ir.model.access: website_sale.access_product_supplierinfo_user +NEW ir.model.access: website_sale.access_website_pricelist +NEW ir.model.access: website_sale.access_website_pricelist_sale_manager +DEL ir.model.access: website_sale.access_product_pricelist_version_public +DEL ir.model.access: website_sale.access_product_product_price_type_public +NEW ir.ui.menu: website_sale.menu_website_sale_pricelists +NEW ir.ui.view: website_sale.cart_lines +NEW ir.ui.view: website_sale.cart_popover +NEW ir.ui.view: website_sale.extra_info +NEW ir.ui.view: website_sale.extra_info_option +NEW ir.ui.view: website_sale.inherits_website_sale_country_group_form +NEW ir.ui.view: website_sale.message_thread_rating +NEW ir.ui.view: website_sale.option_collapse_categories_recursive +NEW ir.ui.view: website_sale.option_collapse_products_categories +NEW ir.ui.view: website_sale.order_state_message +NEW ir.ui.view: website_sale.orders_followup_products_links +NEW ir.ui.view: website_sale.payment_confirmation_status +NEW ir.ui.view: website_sale.payment_sale_note +NEW ir.ui.view: website_sale.pricelist_list +NEW ir.ui.view: website_sale.product_attribute_value_view_tree_inherit_website_sale +NEW ir.ui.view: website_sale.report_shop_saleorder_document +NEW ir.ui.view: website_sale.website_config_settings_view_form +NEW ir.ui.view: website_sale.website_planner +NEW ir.ui.view: website_sale.website_pricelist_form_view +NEW ir.ui.view: website_sale.website_pricelist_tree_view +NEW ir.ui.view: website_sale.website_sale +NEW ir.ui.view: website_sale.wizard_checkout +DEL ir.ui.view: website_sale.variants_template_tree_view +DEL product.public.category: website_sale.categ_others +DEL res.groups: base.group_user +NEW website: website.default_website +NEW website_pricelist: website_sale.wlist0 diff --git a/openerp/openupgrade/doc/source/modules80-90.rst b/openerp/openupgrade/doc/source/modules80-90.rst index d7e19dbd5e62..312cf757befe 100644 --- a/openerp/openupgrade/doc/source/modules80-90.rst +++ b/openerp/openupgrade/doc/source/modules80-90.rst @@ -524,7 +524,7 @@ Status : +-----------------------------------+-----------------------------------+ |website_rating_project_issue | | +-----------------------------------+-----------------------------------+ -|website_sale | | +|website_sale | Nothing to do | +-----------------------------------+-----------------------------------+ |website_sale_delivery | | +-----------------------------------+-----------------------------------+ From 77da6bb811d99c169e99380db3bb22ce8b69f364 Mon Sep 17 00:00:00 2001 From: cubells Date: Fri, 25 Nov 2016 16:23:09 +0100 Subject: [PATCH 2/3] Setted partner last website sale in post-script --- .../9.0.1.0/openupgrade_analysis_work.txt | 2 +- .../migrations/9.0.1.0/post-migration.py | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 addons/website_sale/migrations/9.0.1.0/post-migration.py diff --git a/addons/website_sale/migrations/9.0.1.0/openupgrade_analysis_work.txt b/addons/website_sale/migrations/9.0.1.0/openupgrade_analysis_work.txt index 82196eb1fa7a..094e5c4849b1 100644 --- a/addons/website_sale/migrations/9.0.1.0/openupgrade_analysis_work.txt +++ b/addons/website_sale/migrations/9.0.1.0/openupgrade_analysis_work.txt @@ -18,7 +18,7 @@ website_sale / res.country.group / website_pricelist_ids (many2many): NEW # Nothing to do website_sale / res.partner / last_website_so_id (many2one) : NEW relation: sale.order -# Nothing to do +# Done in post-migration script website_sale / website / pricelist_id (many2one) : now a function # Nothing to do -> return pricelist of website or pricelist of user diff --git a/addons/website_sale/migrations/9.0.1.0/post-migration.py b/addons/website_sale/migrations/9.0.1.0/post-migration.py new file mode 100644 index 000000000000..ff0573768361 --- /dev/null +++ b/addons/website_sale/migrations/9.0.1.0/post-migration.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# © 2016 Tecnativa - Vicent Cubells +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from openupgradelib import openupgrade +from openerp import api, SUPERUSER_ID + + +def set_last_sale_on_partner(env): + partners = env['res.partner'].search([]) + for partner in partners: + sale = env['sale.order'].search([ + ('website_order_line', '!=', False), + ('parner_id', '=', partner.id) + ], order='date_order desc', limit=1) + partner.write({'last_website_so_id': sale.id}) + + +@openupgrade.migrate() +def migrate(cr, version): + env = api.Environment(cr, SUPERUSER_ID, {}) + set_last_sale_on_partner(env) From 8e012400f4bc63cd4c7d67fe34359864c145bbb4 Mon Sep 17 00:00:00 2001 From: cubells Date: Fri, 25 Nov 2016 17:55:25 +0100 Subject: [PATCH 3/3] Updated post-script migration and module coverage document --- .../migrations/9.0.1.0/post-migration.py | 23 ++++++++++--------- .../openupgrade/doc/source/modules80-90.rst | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/addons/website_sale/migrations/9.0.1.0/post-migration.py b/addons/website_sale/migrations/9.0.1.0/post-migration.py index ff0573768361..5b98721b4edd 100644 --- a/addons/website_sale/migrations/9.0.1.0/post-migration.py +++ b/addons/website_sale/migrations/9.0.1.0/post-migration.py @@ -3,20 +3,21 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from openupgradelib import openupgrade -from openerp import api, SUPERUSER_ID -def set_last_sale_on_partner(env): - partners = env['res.partner'].search([]) - for partner in partners: - sale = env['sale.order'].search([ - ('website_order_line', '!=', False), - ('parner_id', '=', partner.id) - ], order='date_order desc', limit=1) - partner.write({'last_website_so_id': sale.id}) +def set_last_sale_on_partner(cr): + openupgrade.logged_query(cr, """ + UPDATE res_partner rp + SET last_website_so_id = so.id + FROM sale_order so + WHERE so.id = ( + SELECT max(id) FROM sale_order + WHERE partner_id = rp.id + ) + AND rp.last_website_so_id IS NULL; + """) @openupgrade.migrate() def migrate(cr, version): - env = api.Environment(cr, SUPERUSER_ID, {}) - set_last_sale_on_partner(env) + set_last_sale_on_partner(cr) diff --git a/openerp/openupgrade/doc/source/modules80-90.rst b/openerp/openupgrade/doc/source/modules80-90.rst index 312cf757befe..4f5411b53511 100644 --- a/openerp/openupgrade/doc/source/modules80-90.rst +++ b/openerp/openupgrade/doc/source/modules80-90.rst @@ -524,7 +524,7 @@ Status : +-----------------------------------+-----------------------------------+ |website_rating_project_issue | | +-----------------------------------+-----------------------------------+ -|website_sale | Nothing to do | +|website_sale | Done | +-----------------------------------+-----------------------------------+ |website_sale_delivery | | +-----------------------------------+-----------------------------------+