diff --git a/docsource/modules190-200.rst b/docsource/modules190-200.rst new file mode 100644 index 00000000000..c5ca3821e8e --- /dev/null +++ b/docsource/modules190-200.rst @@ -0,0 +1,1342 @@ +Module coverage 19.0 -> 20.0 +============================ + +.. include:: coverage_legend.rst + ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| Module | Status + Extra Information | ++===================================================+======================+=================================================+ +| account | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| account_add_gln | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_check_printing | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_debit_note | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_edi_proxy_client | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_edi_ubl_cii | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_fleet | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_payment | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| account_payment_custom | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_payment_interco | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_peppol | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| account_peppol_advanced_fields | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| account_peppol_response | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_qr_code_emv | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_qr_code_sepa | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_tax_python | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| account_update_tax_tags | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| analytic | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| api_doc | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| attachment_indexation | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_ldap | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_oauth | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_passkey | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_passkey_portal | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_password_policy | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_password_policy_portal | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_password_policy_signup | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_signup | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_timeout | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_totp | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_totp_mail | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| auth_totp_portal | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| barcodes | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| barcodes_gs1_nomenclature | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| base |Done | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| base_address_extended | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| base_automation | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| base_geolocalize | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| base_iban | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| base_import | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| base_import_module | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| base_install_request | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| base_report_paper_muncher | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| base_report_wkhtmltox | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| base_setup | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| base_sparse_field | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| base_vat | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| board | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| bus |Nothing to do |No schema change. im_status is not stored. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| calendar | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| calendar_sms | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| certificate | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| cloud_storage | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| cloud_storage_azure | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| cloud_storage_google | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| cloud_storage_migration | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| contacts | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| crm | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| crm_iap_enrich | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| crm_iap_mine | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| crm_livechat | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| crm_mail_plugin | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| crm_sale_project | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| crm_sms | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| data_recycle | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| delivery | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| delivery_mondialrelay | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| delivery_stock_picking_batch | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| digest | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| event | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| event_booth | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| event_booth_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| event_crm | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| event_crm_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| event_product | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| event_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| event_sms | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| fleet | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| fleet_maintenance | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| gamification | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| gamification_sale_crm | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| google_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| google_address_autocomplete | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| google_calendar | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| google_gmail | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| google_recaptcha | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| hr_address_extended | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_attendance | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_calendar | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| hr_calendar_google | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_expense | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_fleet | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_gamification | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_holidays | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_holidays_attendance | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| hr_holidays_homeworking | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| hr_homeworking | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| hr_homeworking_calendar | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| hr_hourly_cost | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_livechat |Nothing to do |Removed view only. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_maintenance | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| hr_org_chart | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_presence | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_recruitment | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_recruitment_skills | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_recruitment_sms | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_recruitment_survey | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_skills | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_skills_event | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_skills_slides | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_skills_survey | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_timesheet | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_timesheet_attendance | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| hr_work_entry | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| hr_work_entry_holidays | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| html_builder | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| html_editor | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| http_routing | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| iap | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| iap_crm | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| iap_mail | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| im_livechat |Done |Ratings, status, help time, chatbot source map. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| iot_base | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| iot_webserial | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_account_withholding_tax | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_account_withholding_tax_pos | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ae | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ae_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_anz_ubl_pint | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ar | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ar_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ar_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ar_website_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ar_withholding | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_at | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_au | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_bd | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_be | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_be_pos | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_be_pos_restaurant | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_be_pos_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_bf | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_bg | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_bg_ledger | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_bh | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_bj | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_bo | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_br | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_br_sales | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_br_website_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ca | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_cd | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_cf | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_cg | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ch | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ch_pos | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ci | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_cl | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_cm | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_cn | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_cn_city | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_co | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_co_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_cr | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_cy | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_cz | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_de | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_din5008 | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_din5008_expense | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_din5008_purchase | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_din5008_repair | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_din5008_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_din5008_stock | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_dk | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_dk_fik | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_dk_nemhandel | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_dk_nemhandel_response | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_dk_oioubl | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_do | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_dz | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ec | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ec_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_ec_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ee | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_eg | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_eg_edi_eta | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_eg_edi_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_es | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_es_edi_facturae | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_es_edi_sii | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_es_edi_tbai | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_es_edi_tbai_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_es_edi_verifactu | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_es_edi_verifactu_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_es_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_es_website_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_et | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_eu_account_vies | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_eu_oss | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_fi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_fi_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_fr | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_fr_account | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_fr_facturx_chorus_pro | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_fr_hr_holidays | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_fr_hr_work_entry_holidays | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_fr_payment | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_fr_pdp | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_fr_pdp_pos | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_fr_pos_cert | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ga | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gcc_invoice | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gcc_invoice_stock_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gcc_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ge | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gf | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gn | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gp | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gq | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gr | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gr_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_gr_edi_delivery_note | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gr_edi_e_invoo | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gt | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_gw | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_hk | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_hn | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_hr | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_hr_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_hr_kuna | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_hu | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_hu_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_hu_edi_receive | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_id | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_id_efaktur_coretax | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_id_pos | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_id_pos_self_order_qris | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ie | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_il | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_in_boe | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_ewaybill | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_ewaybill_irn | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_ewaybill_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_hr_holidays | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_purchase_stock | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_sale_stock | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_in_stock | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_iq | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_it | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_it_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_it_edi_doi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_it_edi_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_it_stock_ddt | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_jo | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_jo_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_jo_edi_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_jp | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_jp_ubl_pint | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ke | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ke_edi_tremol | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_kh | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_km | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_kr | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_kr_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_kw | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_kz | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_latam_base | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_latam_check | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_latam_invoice_document | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_lb_account | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_lk | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_lk_invoice | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_lt | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_lu | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_lv | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ma | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_mc | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_mk | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ml | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_mm | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_mn | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_mq | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_mr | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_mt | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_mt_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_mu_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_mx | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_my | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_my_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_my_edi_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_my_ubl_pint | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_mz | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ne | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ng | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_nl | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_no | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_nz | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_om | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_pa | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_pe | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_pe_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ph | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_ph_invoice | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_ph_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_pk | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_pk_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_pk_edi_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_pl | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_pl_bank_verification | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_pl_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_pl_edi_jst | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_pt | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_qa | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_re | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ro | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_ro_cpv_code | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ro_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ro_edi_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_ro_edi_stock_batch | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_rs | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_rs_edi | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_rw | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_sa | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_sa_edi | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_sa_edi_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_sa_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_sa_withholding_tax | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_se | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_sg | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_sg_ubl_pint | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_si | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_sk | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_sn | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_syscohada | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_td | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_tg | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_th | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_tn | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_tr | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_tr_nilvera | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_tr_nilvera_base_vat | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_tr_nilvera_edispatch | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_tr_nilvera_einvoice | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_tr_nilvera_einvoice_extended | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_tw | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_tw_edi_ecpay | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_tw_edi_ecpay_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_tw_edi_ecpay_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_tw_edi_ecpay_website_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_tz_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ua | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ug | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_uk | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_us | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_us_account | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_uy | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| l10n_uy_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_uz | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_ve | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_vn | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_vn_edi_viettel | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_vn_edi_viettel_pos | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| l10n_vn_edi_viettel_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_yt | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_za | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| l10n_zm_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| link_tracker | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| loyalty | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| lunch | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mail |Done |Tracking split, bookmarks, activities, owners. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mail_bot |Nothing to do |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mail_bot_hr |Nothing to do |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mail_group | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mail_plugin | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| mail_tracking |Done |Installed from mail; history kept. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| mail_tracking_mass_mailing |Nothing to do |New field. Installed with mail_tracking. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| mail_tracking_sms |Nothing to do |New field. Installed with mail_tracking. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| maintenance | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| marketing_card | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| marketing_card_event | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_crm | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_crm_sms | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_event | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_event_sms | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_event_track | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_event_track_sms | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_sale_sms | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_slides | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_sms | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mass_mailing_themes | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| microsoft_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| microsoft_calendar | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| microsoft_outlook | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp_account | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| mrp_delivery | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp_landed_costs | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp_product_expiry | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp_repair | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp_subcontracting | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp_subcontracting_account | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp_subcontracting_dropshipping | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp_subcontracting_landed_costs | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| mrp_subcontracting_purchase | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| mrp_subcontracting_repair | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| mysubscription | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| onboarding | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| partner_autocomplete | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| partnership | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_adyen | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_aps | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_asiapay | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_authorize | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_buckaroo | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_custom | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_demo | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_dpo | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_ecpay | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_flutterwave | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_iyzico | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_mercado_pago | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_mollie | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_nuvei | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_paymob | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_paypal | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_payu | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_razorpay | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_redsys | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_stripe | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_toss_payments | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_worldline | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| payment_xendit | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| phone_validation | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| point_of_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| populate | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| portal | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| portal_discuss | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| portal_rating | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_account_tax_python | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_adyen | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| pos_bancontact_pay | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_cashdro | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_cashmatic | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_discount | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_dpopay | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_edi_ubl | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_event | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_event_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_glory_cash | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_hr | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_hr_restaurant | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_imin | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_loyalty | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_mercado_pago | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_mollie | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_mrp | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_online_payment | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_online_payment_self_order | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| pos_partner_autocomplete | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_pine_labs | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_qfpay | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_razorpay | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_repair | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_restaurant | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| pos_restaurant_adyen | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_restaurant_loyalty | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| pos_restaurant_stripe | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_safaricom | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| pos_sale_delivery | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_sale_loyalty | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_sale_margin | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| pos_sale_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_self_order | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| pos_self_order_adyen | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| pos_self_order_bancontact_pay | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| pos_self_order_event | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_self_order_pine_labs | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_self_order_qfpay | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_self_order_razorpay | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_self_order_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| pos_self_order_sms | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| pos_self_order_stripe | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| pos_self_order_viva_com | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_sms | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| pos_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_stripe | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| pos_viva_com | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| printer | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| privacy_lookup | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| product | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| product_email_template | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| product_expiry | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| product_margin | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| product_matrix | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_account | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_hr_expense | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_hr_skills | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_mail_plugin | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_mrp | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_mrp_account | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_mrp_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_mrp_stock_landed_costs | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_purchase | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_purchase_stock | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_sale_expense | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_sms | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_stock | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_stock_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_stock_landed_costs | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_timesheet_holidays | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| project_todo | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| purchase | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| purchase_alternative | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| purchase_alternative_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| purchase_alternative_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| purchase_edi_ubl_bis3 | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| purchase_mrp | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| purchase_product_matrix | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| purchase_repair | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| purchase_requisition | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| purchase_requisition_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| purchase_requisition_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| purchase_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| rating | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| repair | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| resource | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| resource_mail | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| rpc | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_crm | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_edi_ubl | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_expense | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_expense_margin | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_gelato | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_gelato_stock | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_loyalty | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_loyalty_delivery | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_management | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_margin | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_mrp | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_mrp_margin | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_pdf_quote_builder | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_product_matrix | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_project | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| sale_project_margin | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_project_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_project_stock_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_purchase | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_purchase_project | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_purchase_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_service | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_sms | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_stock_margin | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_stock_product_expiry | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_timesheet | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sale_timesheet_margin | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sales_team | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sms | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| sms_twilio | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| snailmail | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| snailmail_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| social_media | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_event_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_hr_expense | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_hr_timesheet | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_im_livechat | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_pos_hr | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_pos_restaurant | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_sale_timesheet | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_stock_account | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_website_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| spreadsheet_dashboard_website_sale_slides | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| stock_account | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| stock_delivery | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| stock_dropshipping | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| stock_fleet | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| stock_landed_costs | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| stock_maintenance | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| stock_picking_batch | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| stock_sms | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| survey | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| survey_crm | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| theme_default | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| transifex | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| uom | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| utm | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| web | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| web_hierarchy | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| web_tour | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| web_unsplash | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| website_address_autocomplete | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_blog | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_cf_turnstile | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_crm | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_crm_iap_reveal | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_crm_livechat | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_crm_partner_assign | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_crm_sms | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_customer | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_booth | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_booth_exhibitor | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_booth_sale | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_booth_sale_exhibitor | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_crm | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_exhibitor | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_track | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_track_live | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_track_live_quiz | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_event_track_quiz | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_forum | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_google_map | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_hr_recruitment | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_hr_recruitment_livechat | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_links | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_livechat |Nothing to do |Operator cache column removed. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_mail | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_mail_group | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_mass_mailing | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| website_mass_mailing_event | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_mass_mailing_sms | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_partner | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| website_partnership | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_payment | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_profile | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_project | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_sale | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| website_sale_autocomplete | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_sale_collect | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| website_sale_collect_wishlist | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| website_sale_comparison | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| website_sale_comparison_wishlist | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_sale_gelato | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_sale_loyalty | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_sale_mass_mailing | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| website_sale_mondialrelay | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_sale_mrp | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |new| website_sale_project | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_sale_slides | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_sale_stock | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| website_sale_stock_wishlist | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| |del| website_sale_wishlist | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_slides | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_slides_forum | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_slides_survey | | | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_sms | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ +| website_timesheet | |No DB layout changes. | ++---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..8a9a7b75af5 --- /dev/null +++ b/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,4 @@ +---Models in module 'bus'--- +---Fields in module 'bus'--- +---XML records in module 'bus'--- +DEL ir.model.access: bus.access_bus_bus diff --git a/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..3d8cc120e83 --- /dev/null +++ b/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,13 @@ +---Models in module 'bus'--- +---Fields in module 'bus'--- +---XML records in module 'bus'--- +DEL ir.model.access: bus.access_bus_bus + +# NOTHING TO DO. bus 20.0 has no model or column changes. The deleted ir.model.access +# row is the ir.model.access to ir.access merge done in base (OCA OpenUpgrade PR #6068); +# bus no longer ships a security CSV. im_status was checked and is not a bus field. +# res.users.im_status and mail.guest.im_status changed from a non-stored Char to a +# non-stored Selection, so there is no column to convert. Stored presence remains +# mail.presence.status with the same keys online, away and offline. manual_im_status is +# unchanged. The old partner value bot was a non-stored compute on res.partner and that +# field was removed. diff --git a/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..7a288402ef5 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,4 @@ +---Models in module 'hr_livechat'--- +---Fields in module 'hr_livechat'--- +---XML records in module 'hr_livechat'--- +DEL ir.ui.view: hr_livechat.discuss_channel_looking_for_help_view_search diff --git a/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..1efa7666f43 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,7 @@ +---Models in module 'hr_livechat'--- +---Fields in module 'hr_livechat'--- +---XML records in module 'hr_livechat'--- +DEL ir.ui.view: hr_livechat.discuss_channel_looking_for_help_view_search + +# NOTHING TO DO: the only change is removal of a search view for the deleted +# looking-for-help action. No table or column changes. diff --git a/openupgrade_scripts/scripts/im_livechat/20.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/pre-migration.py new file mode 100644 index 00000000000..29260d6ed48 --- /dev/null +++ b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/pre-migration.py @@ -0,0 +1,142 @@ +# Copyright 2026 Odoo Community Association (OCA) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +import logging + +from openupgradelib import openupgrade + +_logger = logging.getLogger(__name__) + + +def _preserve_chatbot_script_source(env): + """Preserve chatbot.script source_id for the crm_livechat migration. + + Copied from adekock11/OpenUpgrade#2 (cursor/crm-190-200-91bd). im_livechat + is updated before crm_livechat and drops source_id (the model no longer + inherits utm.source.mixin). crm_livechat post-migration reads + ``ou_crm_livechat_chatbot_source`` to set crm.lead.utm_reference. + """ + cr = env.cr + cr.execute("SELECT state FROM ir_module_module WHERE name = %s", ("crm_livechat",)) + row = cr.fetchone() + if not row or row[0] not in ("installed", "to upgrade", "to install"): + return + if not openupgrade.column_exists(cr, "chatbot_script", "source_id"): + return + openupgrade.logged_query( + cr, + """ + CREATE TABLE IF NOT EXISTS ou_crm_livechat_chatbot_source ( + chatbot_script_id integer PRIMARY KEY, + source_id integer NOT NULL + ) + """, + ) + openupgrade.logged_query( + cr, + """ + INSERT INTO ou_crm_livechat_chatbot_source (chatbot_script_id, source_id) + SELECT id, source_id + FROM chatbot_script + WHERE source_id IS NOT NULL + ON CONFLICT (chatbot_script_id) DO NOTHING + """, + ) + _logger.info( + "Saved %s chatbot.script source links for crm_livechat.", + cr.rowcount, + ) + + +def _migrate_livechat_ratings(cr): + """Ratings moved off ``rating.mixin`` onto ``discuss.channel.livechat_rating``. + + 19.0 stored the last rating as a float (1, 3 or 5) in ``rating_last_value``. + 20.0 stores the same scale as a selection. ``im_livechat.channel.member.history`` + no longer points at ``rating.rating``; its stored ``rating`` is recomputed + from ``livechat_rating`` when the module initializes. ``rating.rating`` + rows themselves are left in place. + """ + if not openupgrade.column_exists(cr, "discuss_channel", "rating_last_value"): + return + if not openupgrade.column_exists(cr, "discuss_channel", "livechat_rating"): + openupgrade.logged_query( + cr, + "ALTER TABLE discuss_channel ADD COLUMN livechat_rating varchar", + ) + openupgrade.logged_query( + cr, + """ + UPDATE discuss_channel + SET livechat_rating = CASE round(rating_last_value) + WHEN 1 THEN '1' + WHEN 3 THEN '3' + WHEN 5 THEN '5' + END + WHERE channel_type = 'livechat' + AND rating_last_value IS NOT NULL + AND round(rating_last_value) IN (1, 3, 5) + AND livechat_rating IS NULL + """, + ) + + +def _map_waiting_status(cr): + """The ``waiting`` livechat status ("Waiting for customer") was removed. + + An open session becomes ``in_progress``. A closed session must have an + empty status (``livechat_end_dt`` / ``livechat_status`` check). + """ + if not openupgrade.column_exists(cr, "discuss_channel", "livechat_status"): + return + openupgrade.logged_query( + cr, + """ + UPDATE discuss_channel + SET livechat_status = CASE + WHEN livechat_end_dt IS NOT NULL THEN NULL + ELSE 'in_progress' + END + WHERE livechat_status = 'waiting' + """, + ) + + +def _prepare_looking_for_help_date(cr): + """The new check requires a timestamp exactly when status is ``need_help``. + + Fill it before the constraint is added. The stored compute overwrites the + value with "now" during init, which is the same information 19.0 kept + (the field did not exist, so the original request time is unknown). + """ + if not openupgrade.column_exists(cr, "discuss_channel", "livechat_status"): + return + if not openupgrade.column_exists( + cr, "discuss_channel", "livechat_looking_for_help_since_dt" + ): + openupgrade.logged_query( + cr, + """ + ALTER TABLE discuss_channel + ADD COLUMN livechat_looking_for_help_since_dt timestamp + """, + ) + openupgrade.logged_query( + cr, + """ + UPDATE discuss_channel + SET livechat_looking_for_help_since_dt = (now() AT TIME ZONE 'UTC') + WHERE livechat_status = 'need_help' + AND livechat_looking_for_help_since_dt IS NULL + """, + ) + + +@openupgrade.migrate() +def migrate(env, version): + # Must run before the column is dropped, and before the rating/status + # updates. Same SQL as OpenUpgrade PR #2. + _preserve_chatbot_script_source(env) + _migrate_livechat_ratings(env.cr) + _map_waiting_status(env.cr) + _prepare_looking_for_help_date(env.cr) diff --git a/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..e8894973691 --- /dev/null +++ b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,82 @@ +---Models in module 'im_livechat'--- +obsolete model im_livechat.conversation.tag +---Fields in module 'im_livechat'--- +im_livechat / chatbot.script / source_id (many2one) : DEL relation: utm.source, required +im_livechat / discuss.channel / livechat_conversation_tag_ids (many2many): DEL relation: im_livechat.conversation.tag +im_livechat / discuss.channel / livechat_looking_for_help_since_dt (datetime): NEW isfunction: function, stored +im_livechat / discuss.channel / livechat_operator_id (many2one): DEL relation: res.partner +im_livechat / discuss.channel / livechat_rating (selection) : NEW selection_keys: ['1', '3', '5'] +im_livechat / discuss.channel / livechat_status (selection) : selection_keys removed: [waiting] +im_livechat / discuss.channel / rating_last_text (selection) : DEL selection_keys: function +im_livechat / discuss.channel / rating_last_value (float) : DEL +im_livechat / im_livechat.channel / rating_ids (one2many) : DEL relation: rating.rating +im_livechat / im_livechat.channel / rating_percentage_satisfaction (integer): type is now 'float' ('integer') +im_livechat / im_livechat.channel.member.history / rating (float) : is now stored +im_livechat / im_livechat.channel.member.history / rating (float) : not related anymore +im_livechat / im_livechat.channel.member.history / rating (float) : now a function +im_livechat / im_livechat.channel.member.history / rating (float) : selection_keys is now '['1', '3', '5']' ('False') +im_livechat / im_livechat.channel.member.history / rating (float) : type is now 'selection' ('float') +im_livechat / im_livechat.channel.member.history / rating_id (many2one) : DEL relation: rating.rating +im_livechat / im_livechat.conversation.tag / color (integer) : DEL +im_livechat / im_livechat.conversation.tag / conversation_ids (many2many) : DEL relation: discuss.channel +im_livechat / im_livechat.conversation.tag / name (char) : DEL required +im_livechat / im_livechat.expertise / color (integer) : NEW +im_livechat / mail.message / chatbot_message_ids (one2many): NEW relation: chatbot.message +---XML records in module 'im_livechat'--- +NEW ir.access: im_livechat.access_chatbot_message_user +NEW ir.access: im_livechat.access_chatbot_script_answer_user +NEW ir.access: im_livechat.access_chatbot_script_step_user +NEW ir.access: im_livechat.access_chatbot_script_user +NEW ir.access: im_livechat.access_im_livechat_channel_member_history_user +NEW ir.access: im_livechat.access_livechat_channel_manager +NEW ir.access: im_livechat.access_livechat_channel_rule_manager +NEW ir.access: im_livechat.access_livechat_channel_rule_user +NEW ir.access: im_livechat.access_livechat_channel_user +NEW ir.access: im_livechat.access_livechat_expertise_internal_user +NEW ir.access: im_livechat.access_livechat_expertise_livechat_manager +NEW ir.access: im_livechat.access_livechat_support_report_channel +NEW ir.access: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user +NEW ir.access: im_livechat.ir_rule_discuss_channel_im_livechat_group_user +NEW ir.access: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user +NEW ir.actions.act_window: im_livechat.im_livechat_channel_config_action +DEL ir.actions.act_window: im_livechat.discuss_channel_looking_for_help_action +DEL ir.actions.act_window: im_livechat.livechat_conversation_tag_action +NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_kanban +NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_list +DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_form +DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_kanban +DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_list +DEL ir.model.access: im_livechat.access_chatbot_message_user +DEL ir.model.access: im_livechat.access_chatbot_script_answer +DEL ir.model.access: im_livechat.access_chatbot_script_answer_user +DEL ir.model.access: im_livechat.access_chatbot_script_step_user +DEL ir.model.access: im_livechat.access_chatbot_script_user +DEL ir.model.access: im_livechat.access_im_livechat_channel_member_history_user +DEL ir.model.access: im_livechat.access_livechat_channel_manager +DEL ir.model.access: im_livechat.access_livechat_channel_rule_manager +DEL ir.model.access: im_livechat.access_livechat_channel_rule_user +DEL ir.model.access: im_livechat.access_livechat_channel_user +DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_manager +DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_user +DEL ir.model.access: im_livechat.access_livechat_expertise_internal_user +DEL ir.model.access: im_livechat.access_livechat_expertise_livechat_manager +DEL ir.model.access: im_livechat.access_livechat_support_report_channel +NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_looking_for_help_since_dt_constraint +NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_rating_constraint +DEL ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_operator_id +DEL ir.model.constraint: im_livechat.constraint_im_livechat_conversation_tag_name_unique +DEL ir.rule: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user (noupdate) +DEL ir.rule: im_livechat.ir_rule_discuss_channel_im_livechat_group_user (noupdate) +DEL ir.rule: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user (noupdate) +NEW ir.ui.menu: im_livechat.livechat_channels_config +DEL ir.ui.menu: im_livechat.menu_livechat_all_conversations +DEL ir.ui.menu: im_livechat.menu_livechat_conversation_tag +DEL ir.ui.menu: im_livechat.menu_livechat_looking_for_help +NEW ir.ui.view: im_livechat.im_livechat_channel_config_view_kanban +NEW ir.ui.view: im_livechat.im_livechat_channel_view_list +DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_kanban +DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_list +DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_search +DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_form +DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_list +NEW utm.source: im_livechat.utm_source_chatbot diff --git a/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..916b25cc592 --- /dev/null +++ b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,216 @@ +---Models in module 'im_livechat'--- +obsolete model im_livechat.conversation.tag + +# NOTHING TO DO: conversation tags were removed with no replacement. The model, its +# many2many and the tag menu go away with the feature. Tag names are not copied anywhere +# because 20.0 has nowhere to store them. + +---Fields in module 'im_livechat'--- +im_livechat / chatbot.script / source_id (many2one) : DEL relation: utm.source, required + +# DONE in pre-migration, same SQL as adekock11/OpenUpgrade#2: if crm_livechat is +# installed or queued, chatbot_script.source_id is copied to +# ou_crm_livechat_chatbot_source before this module drops the column. That PR's +# crm_livechat post-migration turns the map into crm.lead.utm_reference and drops +# the table. The utm.source rows themselves are not deleted. Leads already created +# keep their source_id. New chatbot leads use im_livechat.utm_source_chatbot. + +im_livechat / discuss.channel / livechat_conversation_tag_ids (many2many): DEL relation: im_livechat.conversation.tag + +# NOTHING TO DO: conversation tags were removed with no replacement. The model, its +# many2many and the tag menu go away with the feature. Tag names are not copied anywhere +# because 20.0 has nowhere to store them. + +im_livechat / discuss.channel / livechat_looking_for_help_since_dt (datetime): NEW isfunction: function, stored + +# DONE in pre-migration: the column is filled with the migration time for sessions +# already in need_help, so the new check passes. 19.0 did not store the request time. +# The stored compute may overwrite it with now during init. + +im_livechat / discuss.channel / livechat_operator_id (many2one): DEL relation: res.partner + +# NOTHING TO DO: the required operator column is removed. 19.0 already stores the agent +# on im_livechat.channel.member.history, which 20.0 uses. The check constraint on the +# column is dropped with it. + +im_livechat / discuss.channel / livechat_rating (selection) : NEW selection_keys: ['1', '3', '5'] + +# DONE in pre-migration: discuss.channel.livechat_rating is filled from +# rating_last_value (1, 3 or 5) before rating.mixin columns are dropped. + +im_livechat / discuss.channel / livechat_status (selection) : selection_keys removed: [waiting] + +# DONE in pre-migration: status waiting becomes in_progress while the session is open, +# and NULL when livechat_end_dt is set, so the closed session check still holds. + +im_livechat / discuss.channel / rating_last_text (selection) : DEL selection_keys: function +im_livechat / discuss.channel / rating_last_value (float) : DEL + +# DONE: rating_last_value is copied to livechat_rating. rating_last_text is the same +# rating in words and is not stored separately in 20.0. + +im_livechat / im_livechat.channel / rating_ids (one2many) : DEL relation: rating.rating + +# NOTHING TO DO for the old column: history.rating was a non-stored related of +# rating.rating. 20.0 stores a selection recomputed from +# discuss.channel.livechat_rating, which the pre-migration fills. rating.rating rows are +# not deleted. + +im_livechat / im_livechat.channel / rating_percentage_satisfaction (integer): type is now 'float' ('integer') + +# NOTHING TO DO: the integer came from rating.mixin as a non-stored compute. 20.0 +# recomputes a float from livechat ratings. No column to cast. + +im_livechat / im_livechat.channel.member.history / rating (float) : is now stored +im_livechat / im_livechat.channel.member.history / rating (float) : not related anymore +im_livechat / im_livechat.channel.member.history / rating (float) : now a function +im_livechat / im_livechat.channel.member.history / rating (float) : selection_keys is now '['1', '3', '5']' ('False') +im_livechat / im_livechat.channel.member.history / rating (float) : type is now 'selection' ('float') +im_livechat / im_livechat.channel.member.history / rating_id (many2one) : DEL relation: rating.rating + +# NOTHING TO DO for the old column: history.rating was a non-stored related of +# rating.rating. 20.0 stores a selection recomputed from +# discuss.channel.livechat_rating, which the pre-migration fills. rating.rating rows are +# not deleted. + +im_livechat / im_livechat.conversation.tag / color (integer) : DEL +im_livechat / im_livechat.conversation.tag / conversation_ids (many2many) : DEL relation: discuss.channel +im_livechat / im_livechat.conversation.tag / name (char) : DEL required + +# NOTHING TO DO: conversation tags were removed with no replacement. The model, its +# many2many and the tag menu go away with the feature. Tag names are not copied anywhere +# because 20.0 has nowhere to store them. + +im_livechat / im_livechat.expertise / color (integer) : NEW +im_livechat / mail.message / chatbot_message_ids (one2many): NEW relation: chatbot.message + +# NOTHING TO DO: new field or a display-only change. + +---XML records in module 'im_livechat'--- +NEW ir.access: im_livechat.access_chatbot_message_user +NEW ir.access: im_livechat.access_chatbot_script_answer_user +NEW ir.access: im_livechat.access_chatbot_script_step_user +NEW ir.access: im_livechat.access_chatbot_script_user +NEW ir.access: im_livechat.access_im_livechat_channel_member_history_user +NEW ir.access: im_livechat.access_livechat_channel_manager +NEW ir.access: im_livechat.access_livechat_channel_rule_manager +NEW ir.access: im_livechat.access_livechat_channel_rule_user +NEW ir.access: im_livechat.access_livechat_channel_user +NEW ir.access: im_livechat.access_livechat_expertise_internal_user +NEW ir.access: im_livechat.access_livechat_expertise_livechat_manager +NEW ir.access: im_livechat.access_livechat_support_report_channel +NEW ir.access: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user +NEW ir.access: im_livechat.ir_rule_discuss_channel_im_livechat_group_user +NEW ir.access: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user + +# NOTHING TO DO: ir.model.access and ir.rule merge into ir.access in base (OCA +# OpenUpgrade PR #6068). + +NEW ir.actions.act_window: im_livechat.im_livechat_channel_config_action +DEL ir.actions.act_window: im_livechat.discuss_channel_looking_for_help_action + +# NOTHING TO DO: standard data. The transcript email template and the demo channel +# rename YourWebsite.com to Support are noupdate and are not forced onto existing +# databases, so a customized template or channel name is kept. + +DEL ir.actions.act_window: im_livechat.livechat_conversation_tag_action + +# NOTHING TO DO: conversation tags were removed with no replacement. The model, its +# many2many and the tag menu go away with the feature. Tag names are not copied anywhere +# because 20.0 has nowhere to store them. + +NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_kanban +NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_list +DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_form +DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_kanban +DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_list + +# NOTHING TO DO: standard data. The transcript email template and the demo channel +# rename YourWebsite.com to Support are noupdate and are not forced onto existing +# databases, so a customized template or channel name is kept. + +DEL ir.model.access: im_livechat.access_chatbot_message_user +DEL ir.model.access: im_livechat.access_chatbot_script_answer +DEL ir.model.access: im_livechat.access_chatbot_script_answer_user +DEL ir.model.access: im_livechat.access_chatbot_script_step_user +DEL ir.model.access: im_livechat.access_chatbot_script_user +DEL ir.model.access: im_livechat.access_im_livechat_channel_member_history_user +DEL ir.model.access: im_livechat.access_livechat_channel_manager +DEL ir.model.access: im_livechat.access_livechat_channel_rule_manager +DEL ir.model.access: im_livechat.access_livechat_channel_rule_user +DEL ir.model.access: im_livechat.access_livechat_channel_user + +# NOTHING TO DO: ir.model.access and ir.rule merge into ir.access in base (OCA +# OpenUpgrade PR #6068). + +DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_manager +DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_user + +# NOTHING TO DO: conversation tags were removed with no replacement. The model, its +# many2many and the tag menu go away with the feature. Tag names are not copied anywhere +# because 20.0 has nowhere to store them. + +DEL ir.model.access: im_livechat.access_livechat_expertise_internal_user +DEL ir.model.access: im_livechat.access_livechat_expertise_livechat_manager +DEL ir.model.access: im_livechat.access_livechat_support_report_channel + +# NOTHING TO DO: ir.model.access and ir.rule merge into ir.access in base (OCA +# OpenUpgrade PR #6068). + +NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_looking_for_help_since_dt_constraint + +# DONE in pre-migration: the column is filled with the migration time for sessions +# already in need_help, so the new check passes. 19.0 did not store the request time. +# The stored compute may overwrite it with now during init. + +NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_rating_constraint + +# NOTHING TO DO: standard data. The transcript email template and the demo channel +# rename YourWebsite.com to Support are noupdate and are not forced onto existing +# databases, so a customized template or channel name is kept. + +DEL ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_operator_id + +# NOTHING TO DO: the required operator column is removed. 19.0 already stores the agent +# on im_livechat.channel.member.history, which 20.0 uses. The check constraint on the +# column is dropped with it. + +DEL ir.model.constraint: im_livechat.constraint_im_livechat_conversation_tag_name_unique + +# NOTHING TO DO: conversation tags were removed with no replacement. The model, its +# many2many and the tag menu go away with the feature. Tag names are not copied anywhere +# because 20.0 has nowhere to store them. + +DEL ir.rule: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user (noupdate) +DEL ir.rule: im_livechat.ir_rule_discuss_channel_im_livechat_group_user (noupdate) +DEL ir.rule: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user (noupdate) + +# NOTHING TO DO: ir.model.access and ir.rule merge into ir.access in base (OCA +# OpenUpgrade PR #6068). + +NEW ir.ui.menu: im_livechat.livechat_channels_config +DEL ir.ui.menu: im_livechat.menu_livechat_all_conversations + +# NOTHING TO DO: standard data. The transcript email template and the demo channel +# rename YourWebsite.com to Support are noupdate and are not forced onto existing +# databases, so a customized template or channel name is kept. + +DEL ir.ui.menu: im_livechat.menu_livechat_conversation_tag + +# NOTHING TO DO: conversation tags were removed with no replacement. The model, its +# many2many and the tag menu go away with the feature. Tag names are not copied anywhere +# because 20.0 has nowhere to store them. + +DEL ir.ui.menu: im_livechat.menu_livechat_looking_for_help +NEW ir.ui.view: im_livechat.im_livechat_channel_config_view_kanban +NEW ir.ui.view: im_livechat.im_livechat_channel_view_list +DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_kanban +DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_list +DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_search +DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_form +DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_list +NEW utm.source: im_livechat.utm_source_chatbot + +# NOTHING TO DO: standard data. The transcript email template and the demo channel +# rename YourWebsite.com to Support are noupdate and are not forced onto existing +# databases, so a customized template or channel name is kept. diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/post-migration.py b/openupgrade_scripts/scripts/mail/20.0.1.19/post-migration.py new file mode 100644 index 00000000000..bcaa3e54deb --- /dev/null +++ b/openupgrade_scripts/scripts/mail/20.0.1.19/post-migration.py @@ -0,0 +1,122 @@ +# Copyright 2026 Odoo Community Association (OCA) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +# 19.0 Font Awesome icon -> 20.0 Material Symbols icon. Applied only when the +# standard activity type still has the 19.0 default, so a custom icon survives. +_activity_icon_xmlids = { + "mail.mail_activity_data_email": ("fa-envelope", "mail"), + "mail.mail_activity_data_call": ("fa-phone", "phone"), + "mail.mail_activity_data_meeting": ("fa-users", "calendar_today"), + "mail.mail_activity_data_todo": ("fa-check", "check"), + "mail.mail_activity_data_upload_document": ("fa-upload", "upload"), + "mail.mail_activity_data_warning": ("fa-warning", "warning"), +} + + +def _update_activity_icons(env): + for xmlid, (old_icon, new_icon) in _activity_icon_xmlids.items(): + activity_type = env.ref(xmlid, raise_if_not_found=False) + if activity_type and activity_type.icon == old_icon: + activity_type.icon = new_icon + + +def _update_subtypes(env): + """Rename the standard subtypes and swap the note/activity sequences. + + Names are translated. Write them in en_US and only when the English source + term is still the 19.0 value. Other languages keep their existing + translations. + """ + renames = { + "mail.mt_comment": ("Discussions", "Messages", None), + "mail.mt_note": ("Note", "Notes", (100, 90)), + "mail.mt_activities": (None, None, (90, 100)), + } + for xmlid, (old_name, new_name, sequence_change) in renames.items(): + subtype = env.ref(xmlid, raise_if_not_found=False) + if not subtype: + continue + if old_name and new_name: + english = subtype.with_context(lang="en_US") + if english.name == old_name: + english.name = new_name + if sequence_change and subtype.sequence == sequence_change[0]: + subtype.sequence = sequence_change[1] + + +def _imply_internal_user_on_canned_response_admin(env): + group = env.ref("mail.group_mail_canned_response_admin", raise_if_not_found=False) + user_group = env.ref("base.group_user", raise_if_not_found=False) + if group and user_group and user_group not in group.implied_ids: + group.write({"implied_ids": [(4, user_group.id)]}) + + +def _assign_channel_owners(env): + """20.0 requires an owner to archive a channel or a group, and to edit a + read-only channel. 19.0 had no roles. The user who created the channel + becomes the owner when they are still a member; otherwise the oldest + active internal member does. The standard #general admin membership is + forced to owner, matching ``discuss_channel_data.xml``. + """ + openupgrade.logged_query( + env.cr, + """ + UPDATE discuss_channel_member AS member + SET channel_role = 'owner' + FROM discuss_channel AS channel + JOIN res_users AS creator ON creator.id = channel.create_uid + WHERE member.channel_id = channel.id + AND member.partner_id = creator.partner_id + AND channel.channel_type IN ('channel', 'group') + AND member.channel_role IS NULL + """, + ) + openupgrade.logged_query( + env.cr, + """ + UPDATE discuss_channel_member AS member + SET channel_role = 'owner' + WHERE member.id IN ( + SELECT DISTINCT ON (channel.id) candidate.id + FROM discuss_channel AS channel + JOIN discuss_channel_member AS candidate + ON candidate.channel_id = channel.id + JOIN res_users AS users + ON users.partner_id = candidate.partner_id + AND users.active + WHERE channel.channel_type IN ('channel', 'group') + AND NOT EXISTS ( + SELECT 1 + FROM discuss_channel_member AS owner + WHERE owner.channel_id = channel.id + AND owner.channel_role = 'owner' + ) + ORDER BY channel.id, candidate.id + ) + """, + ) + # discuss_channel_data.xml makes the admin membership of #general the owner. + openupgrade.logged_query( + env.cr, + """ + UPDATE discuss_channel_member AS member + SET channel_role = 'owner' + FROM ir_model_data AS data + WHERE data.module = 'mail' + AND data.name = 'channel_member_general_channel_for_admin' + AND data.model = 'discuss.channel.member' + AND member.id = data.res_id + AND member.channel_role IS DISTINCT FROM 'owner' + """, + ) + + +@openupgrade.migrate() +def migrate(env, version): + _update_activity_icons(env) + _update_subtypes(env) + _imply_internal_user_on_canned_response_admin(env) + if openupgrade.column_exists(env.cr, "discuss_channel_member", "channel_role"): + _assign_channel_owners(env) diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/pre-migration.py b/openupgrade_scripts/scripts/mail/20.0.1.19/pre-migration.py new file mode 100644 index 00000000000..7ad380eaf7a --- /dev/null +++ b/openupgrade_scripts/scripts/mail/20.0.1.19/pre-migration.py @@ -0,0 +1,331 @@ +# Copyright 2026 Odoo Community Association (OCA) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +import json +import logging + +from openupgradelib import openupgrade + +_logger = logging.getLogger(__name__) + +_renamed_xmlids = [ + ( + "mail.action_view_mail_tracking_value", + "mail_tracking.action_view_mail_tracking_value", + ), + ( + "mail.menu_mail_tracking_value", + "mail_tracking.menu_mail_tracking_value", + ), + ( + "mail.view_mail_tracking_value_form", + "mail_tracking.view_mail_tracking_value_form", + ), + ( + "mail.view_mail_tracking_value_tree", + "mail_tracking.view_mail_tracking_value_tree", + ), + ( + "mail.model_mail_tracking_value", + "mail_tracking.model_mail_tracking_value", + ), +] + + +def _ensure_column(cr, table, column, column_type): + if openupgrade.column_exists(cr, table, column): + return + queries = { + ("mail_activity_type", "suggested_next_type_id", "int4"): ( + "ALTER TABLE mail_activity_type ADD COLUMN suggested_next_type_id int4" + ), + ("ir_act_server", "log_note_note", "jsonb"): ( + "ALTER TABLE ir_act_server ADD COLUMN log_note_note jsonb" + ), + } + openupgrade.logged_query(cr, queries[(table, column, column_type)]) + + +def _schedule_new_module(cr, name): + """Mark a module introduced in 20.0 to install during this upgrade. + + ``ir.module.module.update_list()`` has already run, so rows for modules + that are on the addons path exist. Setting ``to install`` here is picked + up by the module-loading loop before ``ir.model.data._process_end``, which + is what keeps moved records from being deleted as leftovers of ``mail``. + """ + openupgrade.logged_query( + cr, + """ + UPDATE ir_module_module + SET state = 'to install' + WHERE name = %s + AND state = 'uninstalled' + """, + (name,), + ) + cr.execute("SELECT state FROM ir_module_module WHERE name = %s", (name,)) + row = cr.fetchone() + if not row: + _logger.error( + "Module %s is not in ir_module_module. It must be on the addons " + "path or data that moved into it will not be loaded.", + name, + ) + return row and row[0] + + +def _install_mail_tracking(cr): + """Discuss tracking was split out of mail and is not auto_install. + + The model name and table stay ``mail.tracking.value`` / + ``mail_tracking_value``. Installing the new module reuses that table. + The mass-mailing and SMS glue modules are ``auto_install``, but + ``update_list()`` already ran before this script could mark + ``mail_tracking`` to install, so schedule them explicitly when their + other dependency is already installed. + """ + state = _schedule_new_module(cr, "mail_tracking") + if state not in ("to install", "to upgrade", "installed"): + return + cr.execute( + """ + SELECT name FROM ir_module_module + WHERE name IN ('mass_mailing', 'sms') + AND state IN ('installed', 'to upgrade', 'to install') + """ + ) + installed = {row[0] for row in cr.fetchall()} + if "mass_mailing" in installed: + _schedule_new_module(cr, "mail_tracking_mass_mailing") + if "sms" in installed: + _schedule_new_module(cr, "mail_tracking_sms") + + +def _preserve_tracking_currency(cr): + """19.0 stored the currency of a monetary tracking on ``currency_id``. + + 20.0 drops that column and keeps the currency id inside ``field_info`` + (see ``mail.track.mixin``). Copy it before the column is removed, when + ``mail_tracking`` initializes the model. + """ + if not openupgrade.column_exists(cr, "mail_tracking_value", "currency_id"): + return + if not openupgrade.column_exists(cr, "mail_tracking_value", "field_info"): + return + openupgrade.logged_query( + cr, + """ + UPDATE mail_tracking_value + SET field_info = COALESCE(field_info::jsonb, '{}'::jsonb) + || jsonb_build_object('currency_id', currency_id) + WHERE currency_id IS NOT NULL + AND ( + field_info IS NULL + OR NOT (COALESCE(field_info::jsonb, '{}'::jsonb) ? 'currency_id') + ) + """, + ) + + +def _mark_tracking_messages(cr): + """20.0 stores field-change logs as ``message_type = 'tracking'``. + + 19.0 stored them as ``notification`` messages that have tracking values. + The Discuss "changes" search only matches ``tracking``. Comments that + also carry tracking values are left as comments. + """ + if not openupgrade.table_exists(cr, "mail_tracking_value"): + return + openupgrade.logged_query( + cr, + """ + UPDATE mail_message AS message + SET message_type = 'tracking' + WHERE message.message_type = 'notification' + AND EXISTS ( + SELECT 1 + FROM mail_tracking_value AS tracking + WHERE tracking.mail_message_id = message.id + ) + """, + ) + + +def _rename_starred_bookmarks(cr): + """Starred messages were renamed to bookmarks. Same columns, new table.""" + old = "mail_message_res_partner_starred_rel" + new = "mail_message_res_partner_bookmarked_rel" + if openupgrade.table_exists(cr, old) and not openupgrade.table_exists(cr, new): + openupgrade.rename_tables(cr, [(old, new)]) + + +def _migrate_activity_chaining(cr): + """Suggest-next went from a many2many (or a triggered many2one) to one + many2one, ``suggested_next_type_id``. + + ``previous_type_ids`` still uses ``mail_activity_rel``, so every old + suggestion stays visible as a preceding activity. 20.0 can only suggest + a single next type: a ``trigger`` chain wins, otherwise the lowest + ``recommended_id`` is kept. Automatic triggering no longer exists; the + link is preserved as a suggestion. + """ + if not openupgrade.table_exists(cr, "mail_activity_type"): + return + _ensure_column(cr, "mail_activity_type", "suggested_next_type_id", "int4") + if not openupgrade.column_exists(cr, "mail_activity_type", "chaining_type"): + return + if openupgrade.column_exists(cr, "mail_activity_type", "triggered_next_type_id"): + openupgrade.logged_query( + cr, + """ + UPDATE mail_activity_type + SET suggested_next_type_id = triggered_next_type_id + WHERE chaining_type = 'trigger' + AND triggered_next_type_id IS NOT NULL + AND suggested_next_type_id IS NULL + """, + ) + if openupgrade.table_exists(cr, "mail_activity_rel"): + openupgrade.logged_query( + cr, + """ + UPDATE mail_activity_type AS activity_type + SET suggested_next_type_id = suggestion.recommended_id + FROM ( + SELECT DISTINCT ON (activity_id) + activity_id, + recommended_id + FROM mail_activity_rel + ORDER BY activity_id, recommended_id + ) AS suggestion + WHERE activity_type.id = suggestion.activity_id + AND activity_type.chaining_type IS DISTINCT FROM 'trigger' + AND activity_type.suggested_next_type_id IS NULL + """, + ) + cr.execute( + """ + SELECT COUNT(*) + FROM ( + SELECT activity_id + FROM mail_activity_rel + GROUP BY activity_id + HAVING COUNT(*) > 1 + ) AS extra + """ + ) + extra = cr.fetchone()[0] + if extra: + _logger.info( + "%s activity types suggested more than one next activity. " + "20.0 keeps a single suggested_next_type_id (lowest id); " + "the other links remain on previous_type_ids.", + extra, + ) + + +# Fields removed in 20.0 that 19.0 standard views still reference. ir.cron's form +# is validated before mail replaces the server-action view, so the old arch has +# to be neutralized first. Only views that name one of these fields are touched. +# Standard mail views are reloaded from XML afterwards. A custom view that still +# names a removed field is reduced to an empty arch so the upgrade can continue; +# that customization has to be reapplied. +_OBSOLETE_VIEW_FIELDS = ( + "mail_post_method", + "chaining_type", + "triggered_next_type_id", + "suggested_next_type_ids", + "previous_activity_type_id", + "recommended_activity_type_id", + "has_recommended_activities", + "custom_channel_name", + "fetched_message_id", + "starred_partner_ids", +) + + +def _blank_views_referencing_removed_fields(cr): + # arch_db::text escapes quotes, so match the field name itself. + pattern = "|".join(_OBSOLETE_VIEW_FIELDS) + cr.execute( + """ + SELECT id, inherit_id IS NOT NULL, COALESCE(type, 'form'), arch_db + FROM ir_ui_view + WHERE arch_db::text ~ %s + """, + (pattern,), + ) + rows = cr.fetchall() + for view_id, is_inherit, view_type, arch_db in rows: + if is_inherit: + empty = "" + elif view_type == "list": + empty = "" + elif view_type == "search": + empty = "" + elif view_type == "kanban": + empty = "" + else: + empty = "
" + if isinstance(arch_db, str): + arch_db = json.loads(arch_db) + new_arch = {lang: empty for lang in (arch_db or {"en_US": empty})} + openupgrade.logged_query( + cr, + "UPDATE ir_ui_view SET arch_db = %s::jsonb WHERE id = %s", + (json.dumps(new_arch), view_id), + ) + if rows: + _logger.info( + "Neutralized %s views that referenced fields removed from mail.", + len(rows), + ) + + +def _migrate_server_action_notes(cr): + """``mail_post_method = note`` becomes the ``log_note`` server action. + + 19.0 rendered ``template_id`` as an internal note. 20.0 log notes post + ``log_note_note`` and do not render a template, so the template body + (including translations) is copied into that field. ``comment`` stays + ``mail_post``. ``email`` also stays ``mail_post``: on a mail.thread model + 20.0 always posts the template as a comment, there is no email-only mode. + """ + if not openupgrade.column_exists(cr, "ir_act_server", "mail_post_method"): + return + _ensure_column(cr, "ir_act_server", "log_note_note", "jsonb") + if openupgrade.column_exists(cr, "mail_template", "body_html"): + openupgrade.logged_query( + cr, + """ + UPDATE ir_act_server AS action + SET state = 'log_note', + log_note_note = template.body_html::jsonb + FROM mail_template AS template + WHERE action.template_id = template.id + AND action.state = 'mail_post' + AND action.mail_post_method = 'note' + """, + ) + openupgrade.logged_query( + cr, + """ + UPDATE ir_act_server + SET state = 'log_note' + WHERE state = 'mail_post' + AND mail_post_method = 'note' + """, + ) + + +@openupgrade.migrate() +def migrate(env, version): + _install_mail_tracking(env.cr) + _blank_views_referencing_removed_fields(env.cr) + openupgrade.rename_xmlids(env.cr, _renamed_xmlids) + _preserve_tracking_currency(env.cr) + _mark_tracking_messages(env.cr) + _rename_starred_bookmarks(env.cr) + _migrate_activity_chaining(env.cr) + _migrate_server_action_notes(env.cr) diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/upgrade_analysis.txt b/openupgrade_scripts/scripts/mail/20.0.1.19/upgrade_analysis.txt new file mode 100644 index 00000000000..7a0a6e09aee --- /dev/null +++ b/openupgrade_scripts/scripts/mail/20.0.1.19/upgrade_analysis.txt @@ -0,0 +1,397 @@ +---Models in module 'mail'--- +obsolete model mail.thread.cc [abstract] +model mail.tracking.value (moved to mail_tracking) +new model bus.sync.mixin [abstract] +new model discuss.category +new model discuss.channel.last.interest.update +new model mail.call.artifact +new model mail.poll +new model mail.poll.option +new model mail.poll.vote +new model mail.thread.subject.suggested [abstract] +new model mail.track.mixin [abstract] +---Fields in module 'mail'--- +mail / discuss.call.history / artifact_ids (one2many) : NEW relation: mail.call.artifact +mail / discuss.category / channel_ids (one2many) : NEW relation: discuss.channel +mail / discuss.category / name (char) : NEW required +mail / discuss.category / sequence (integer) : NEW hasdefault: default +mail / discuss.channel / discuss_category_id (many2one): NEW relation: discuss.category +mail / discuss.channel / is_readonly (boolean) : NEW +mail / discuss.channel / member_indices (char) : NEW isfunction: function, stored +mail / discuss.channel / pinned_message_ids (one2many) : DEL relation: mail.message +mail / discuss.channel.last.interest.update / channel_id (many2one) : NEW relation: discuss.channel, required +mail / discuss.channel.last.interest.update / last_interest_dt (datetime) : NEW required +mail / discuss.channel.member / channel_role (selection) : NEW selection_keys: ['admin', 'owner'] +mail / discuss.channel.member / custom_channel_name (char) : DEL +mail / discuss.channel.member / fetched_message_id (many2one) : DEL relation: mail.message +mail / discuss.channel.member / invitation_sent_dt (datetime) : NEW +mail / discuss.channel.member / is_favorite (boolean) : NEW +mail / ir.access / message_follower_ids (one2many): NEW relation: mail.followers +mail / ir.access / message_ids (one2many) : NEW relation: mail.message +mail / ir.actions.server / activity_plan_id (many2one) : NEW relation: mail.activity.plan, hasdefault: compute +mail / ir.actions.server / activity_role_id (many2one) : NEW relation: res.role, hasdefault: compute +mail / ir.actions.server / activity_type_id (many2one) : not related anymore +mail / ir.actions.server / activity_user_type (selection): selection_keys added: [role] (most likely nothing to do) +mail / ir.actions.server / log_note_note (html) : NEW hasdefault: compute, translate +mail / ir.actions.server / mail_post_method (selection) : DEL selection_keys: ['comment', 'email', 'note'] +mail / ir.actions.server / state (False) : selection_keys added: [log_note] (most likely nothing to do) +mail / ir.actions.server / subtype_ids (many2many) : NEW relation: mail.message.subtype, hasdefault: default +mail / ir.ui.view / technical_usage (False) : NEW selection_keys: ['mail_post_source'], mode: modify +mail / ir.ui.view / type (False) : selection_keys added: [card] (most likely nothing to do) +mail / mail.activity / activity_plan_id (many2one) : NEW relation: mail.activity.plan +mail / mail.activity / activity_template_id (many2one): NEW relation: mail.activity.plan.template +mail / mail.activity / phone (char) : NEW hasdefault: compute +mail / mail.activity / previous_activity_type_id (many2one): DEL relation: mail.activity.type +mail / mail.activity / recommended_activity_type_id (many2one): DEL relation: mail.activity.type +mail / mail.activity / role_id (many2one) : NEW relation: res.role, hasdefault: compute +mail / mail.activity / technical_usage (selection) : NEW selection_keys: ['none'] +mail / mail.activity.plan.template / next_activity_ids (many2many) : DEL relation: mail.activity.type +mail / mail.activity.plan.template / responsible_type (selection) : selection_keys added: [role] (most likely nothing to do) +mail / mail.activity.plan.template / role_id (many2one) : NEW relation: res.role, hasdefault: compute +mail / mail.activity.type / chaining_type (selection) : DEL required, selection_keys: ['suggest', 'trigger'] +mail / mail.activity.type / default_role_id (many2one) : NEW relation: res.role +mail / mail.activity.type / kpi_provider_visibility (selection): NEW selection_keys: ['all', 'none', 'own'], hasdefault: default +mail / mail.activity.type / suggested_next_type_id (many2one): NEW relation: mail.activity.type +mail / mail.activity.type / suggested_next_type_ids (many2many): DEL relation: mail.activity.type +mail / mail.activity.type / triggered_next_type_id (many2one): DEL relation: mail.activity.type +mail / mail.call.artifact / discuss_call_history_id (many2one): NEW relation: discuss.call.history +mail / mail.call.artifact / end_ms (integer) : NEW required, hasdefault: default +mail / mail.call.artifact / recording_started_by_id (many2one): NEW relation: res.users +mail / mail.call.artifact / recording_upload_pending (boolean): NEW +mail / mail.call.artifact / start_ms (integer) : NEW required, hasdefault: default +mail / mail.guest / im_status (char) : selection_keys is now '['away', 'offline', 'online']' ('False') +mail / mail.guest / im_status (char) : type is now 'selection' ('char') +mail / mail.mail / recipient_cc_ids (many2many) : NEW relation: res.partner +mail / mail.mail / tracking_value_ids (one2many) : module is now 'mail_tracking' ('mail') +mail / mail.message / bookmarked_partner_ids (many2many): NEW relation: res.partner +mail / mail.message / ended_poll_ids (one2many) : NEW relation: mail.poll +mail / mail.message / message_type (selection) : selection_keys added: [tracking] (most likely nothing to do) +mail / mail.message / partner_cc_ids (many2many) : NEW relation: res.partner +mail / mail.message / starred_partner_ids (many2many): DEL relation: res.partner +mail / mail.message / started_poll_ids (one2many) : NEW relation: mail.poll +mail / mail.message / tracking_value_ids (one2many) : module is now 'mail_tracking' ('mail') +mail / mail.poll / allow_multiple_options (boolean): NEW +mail / mail.poll / end_message_id (many2one) : NEW relation: mail.message +mail / mail.poll / option_ids (one2many) : NEW relation: mail.poll.option, required +mail / mail.poll / poll_end_dt (datetime) : NEW +mail / mail.poll / poll_question (char) : NEW required +mail / mail.poll / start_message_id (many2one) : NEW relation: mail.message, required +mail / mail.poll.option / option_emoji (char) : NEW +mail / mail.poll.option / option_label (char) : NEW required +mail / mail.poll.option / poll_id (many2one) : NEW relation: mail.poll, required +mail / mail.poll.option / vote_ids (one2many) : NEW relation: mail.poll.vote +mail / mail.poll.vote / guest_id (many2one) : NEW relation: mail.guest +mail / mail.poll.vote / option_id (many2one) : NEW relation: mail.poll.option, required +mail / mail.poll.vote / user_id (many2one) : NEW relation: res.users +mail / mail.scheduled.message / partner_cc_ids (many2many) : NEW relation: res.partner +mail / mail.template / email_layout_force_footer (boolean): NEW hasdefault: default +mail / mail.template / email_layout_force_header (boolean): NEW hasdefault: default +mail / mail.template / partner_cc (char) : NEW +mail / mail.tracking.value / _order : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / currency_id (many2one) : DEL relation: res.currency +mail / mail.tracking.value / display_name (char) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / field_id (many2one) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / field_info (json) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / mail_message_id (many2one) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_char (char) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_datetime (datetime) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_float (float) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_integer (integer) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_text (text) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_char (char) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_datetime (datetime) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_float (float) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_integer (integer) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_text (text) : module is now 'mail_tracking' ('mail') +mail / res.partner / contact_address_inline (char) : module is now 'base' ('mail') +mail / res.role / active (boolean) : NEW hasdefault: default +mail / res.users / activity_date_deadline (date) : not related anymore +mail / res.users / activity_date_deadline (date) : now a function +mail / res.users / activity_exception_decoration (selection): not related anymore +mail / res.users / activity_exception_decoration (selection): now a function +mail / res.users / activity_exception_decoration (selection): selection_keys is now '['danger', 'warning']' ('function') +mail / res.users / activity_exception_icon (char): not related anymore +mail / res.users / activity_exception_icon (char): now a function +mail / res.users / activity_ids (one2many) : is now stored +mail / res.users / activity_ids (one2many) : not related anymore +mail / res.users / activity_state (selection) : not related anymore +mail / res.users / activity_state (selection) : now a function +mail / res.users / activity_state (selection) : selection_keys is now '['overdue', 'planned', 'today']' ('function') +mail / res.users / activity_user_id (many2one) : not related anymore +mail / res.users / activity_user_id (many2one) : now a function +mail / res.users / contact_address_inline (char) : module is now 'base' ('mail') +mail / res.users / has_message (boolean) : not related anymore +mail / res.users / has_message (boolean) : now a function +mail / res.users / im_status (char) : selection_keys is now '['away', 'busy', 'offline', 'online']' ('False') +mail / res.users / im_status (char) : type is now 'selection' ('char') +mail / res.users / message_attachment_count (integer): not related anymore +mail / res.users / message_attachment_count (integer): now a function +mail / res.users / message_follower_ids (one2many): is now stored +mail / res.users / message_follower_ids (one2many): not related anymore +mail / res.users / message_has_error (boolean) : not related anymore +mail / res.users / message_has_error (boolean) : now a function +mail / res.users / message_has_error_counter (integer): not related anymore +mail / res.users / message_has_error_counter (integer): now a function +mail / res.users / message_ids (one2many) : is now stored +mail / res.users / message_ids (one2many) : not related anymore +mail / res.users / message_is_follower (boolean) : not related anymore +mail / res.users / message_is_follower (boolean) : now a function +mail / res.users / message_needaction (boolean) : not related anymore +mail / res.users / message_needaction (boolean) : now a function +mail / res.users / message_needaction_counter (integer): not related anymore +mail / res.users / message_needaction_counter (integer): now a function +mail / res.users / message_partner_ids (many2many): not related anymore +mail / res.users / message_partner_ids (many2many): now a function +mail / res.users / my_activity_date_deadline (date): not related anymore +mail / res.users / my_activity_date_deadline (date): now a function +mail / res.users / offline_since (datetime) : not related anymore +mail / res.users / offline_since (datetime) : now a function +mail / res.users.settings / is_discuss_sidebar_category_channel_open (boolean): DEL +mail / res.users.settings / is_discuss_sidebar_category_chat_open (boolean): DEL +mail / res.users.settings / push_to_talk_key (char) : DEL +mail / res.users.settings / use_push_to_talk (boolean) : DEL +mail / res.users.settings / voice_active_duration (integer): DEL +---XML records in module 'mail'--- +NEW discuss.channel.member: mail.channel_member_channel_admin_partner_admin (noupdate) +NEW ir.access: mail.access_discuss_category_erp_manager +NEW ir.access: mail.access_discuss_category_user +NEW ir.access: mail.access_discuss_channel_last_interest_update_system +NEW ir.access: mail.access_discuss_channel_rtc_session_system +NEW ir.access: mail.access_discuss_voice_metadata_user +NEW ir.access: mail.access_fetchmail_server +NEW ir.access: mail.access_mail_activity_plan_template_user +NEW ir.access: mail.access_mail_activity_plan_user +NEW ir.access: mail.access_mail_activity_schedule_line_user +NEW ir.access: mail.access_mail_activity_schedule_user +NEW ir.access: mail.access_mail_activity_type_system +NEW ir.access: mail.access_mail_activity_type_user +NEW ir.access: mail.access_mail_alias_domain_system +NEW ir.access: mail.access_mail_alias_domain_user +NEW ir.access: mail.access_mail_alias_system +NEW ir.access: mail.access_mail_alias_user +NEW ir.access: mail.access_mail_blacklist_remove_system +NEW ir.access: mail.access_mail_blacklist_system +NEW ir.access: mail.access_mail_call_artifact_admin +NEW ir.access: mail.access_mail_call_artifact_user +NEW ir.access: mail.access_mail_canned_reponse +NEW ir.access: mail.access_mail_compose_message +NEW ir.access: mail.access_mail_followers_edit +NEW ir.access: mail.access_mail_followers_system +NEW ir.access: mail.access_mail_followers_user +NEW ir.access: mail.access_mail_gateway_allowed_system +NEW ir.access: mail.access_mail_guest_system +NEW ir.access: mail.access_mail_guest_user +NEW ir.access: mail.access_mail_ice_server_system +NEW ir.access: mail.access_mail_link_preview_admin +NEW ir.access: mail.access_mail_mail_system +NEW ir.access: mail.access_mail_message_link_preview_erp_manager +NEW ir.access: mail.access_mail_message_reaction_system +NEW ir.access: mail.access_mail_message_scheduled_system +NEW ir.access: mail.access_mail_message_subtype_system +NEW ir.access: mail.access_mail_message_subtype_user +NEW ir.access: mail.access_mail_message_translation_system +NEW ir.access: mail.access_mail_notification_system +NEW ir.access: mail.access_mail_notification_user +NEW ir.access: mail.access_mail_poll_erp_manager +NEW ir.access: mail.access_mail_poll_option_erp_manager +NEW ir.access: mail.access_mail_poll_vote_erp_manager +NEW ir.access: mail.access_mail_presence +NEW ir.access: mail.access_mail_push_device_system +NEW ir.access: mail.access_mail_push_system +NEW ir.access: mail.access_mail_template +NEW ir.access: mail.access_mail_template_editor +NEW ir.access: mail.access_mail_template_preview +NEW ir.access: mail.access_mail_template_reset +NEW ir.access: mail.access_publisher_warranty_contract_all +NEW ir.access: mail.access_res_role_admin +NEW ir.access: mail.access_res_role_user +NEW ir.access: mail.discuss_gif_favorite_admin_rule +NEW ir.access: mail.discuss_gif_favorite_user_rule +NEW ir.access: mail.ir_actions_report_access_user +NEW ir.access: mail.ir_rule_discuss_call_history_read_all +NEW ir.access: mail.ir_rule_discuss_channel_all +NEW ir.access: mail.ir_rule_discuss_channel_all_user_write +NEW ir.access: mail.ir_rule_discuss_channel_group_system +NEW ir.access: mail.ir_rule_discuss_channel_member_create_is_group_matching_all +NEW ir.access: mail.ir_rule_discuss_channel_member_create_is_group_matching_group_user +NEW ir.access: mail.ir_rule_discuss_channel_member_create_is_member_group_user +NEW ir.access: mail.ir_rule_discuss_channel_member_group_system +NEW ir.access: mail.ir_rule_discuss_channel_member_is_channel_admin_unlink +NEW ir.access: mail.ir_rule_discuss_channel_member_is_channel_owner_unlink +NEW ir.access: mail.ir_rule_discuss_channel_member_is_self_all +NEW ir.access: mail.ir_rule_discuss_channel_member_is_self_unlink +NEW ir.access: mail.ir_rule_discuss_channel_member_read_all +NEW ir.access: mail.ir_rule_mail_canned_response_admin +NEW ir.access: mail.ir_rule_mail_canned_response_user_read +NEW ir.access: mail.ir_rule_mail_canned_response_user_update +NEW ir.access: mail.ir_rule_mail_notifications_group_portal +NEW ir.access: mail.ir_rule_mail_notifications_group_user +NEW ir.access: mail.ir_rule_mail_scheduled_message +NEW ir.access: mail.ir_rule_mail_scheduled_message_user +NEW ir.access: mail.mail_activity_plan_rule_admin +NEW ir.access: mail.mail_activity_plan_template_rule_admin +NEW ir.access: mail.mail_activity_rule_access_create +NEW ir.access: mail.mail_activity_rule_access_read +NEW ir.access: mail.mail_activity_rule_access_unlink +NEW ir.access: mail.mail_activity_rule_access_write +NEW ir.access: mail.mail_activity_rule_user +NEW ir.access: mail.mail_compose_message_rule +NEW ir.access: mail.mail_message_rule_access_create +NEW ir.access: mail.mail_message_rule_access_create_1 +NEW ir.access: mail.mail_message_rule_access_read +NEW ir.access: mail.mail_message_rule_access_unlink +NEW ir.access: mail.mail_message_rule_access_unlink_1 +NEW ir.access: mail.mail_message_rule_access_write +NEW ir.access: mail.mail_message_rule_access_write_1 +NEW ir.access: mail.mail_message_subtype_rule_public +NEW ir.access: mail.mail_template_editor_rule +NEW ir.access: mail.mail_template_employee_rule +NEW ir.access: mail.res_users_settings_volumes_rule_admin +NEW ir.access: mail.res_users_settings_volumes_rule_user +NEW ir.actions.act_url: mail.action_open_discuss_settings +NEW ir.actions.act_window: mail.discuss_category_settings_action +NEW ir.actions.act_window: mail.discuss_my_conversations_action +NEW ir.actions.act_window: mail.ir_ui_view_action_usage_mail_post +NEW ir.actions.act_window: mail.mail_activity_action_to_assign +DEL ir.actions.act_window: mail.action_view_mail_tracking_value [renamed to mail_tracking module] +NEW ir.actions.act_window.view: mail.mail_activity_action_my_view_graph +NEW ir.actions.act_window.view: mail.mail_activity_action_my_view_pivot +NEW ir.actions.act_window.view: mail.mail_activity_action_to_assign_view_list +NEW ir.cron: mail.ir_cron_discuss_channel_sync_last_interest_dt (noupdate) +NEW ir.cron: mail.ir_cron_mail_end_polls (noupdate) +DEL ir.model.access: mail.access_discuss_call_history_portal +DEL ir.model.access: mail.access_discuss_call_history_public +DEL ir.model.access: mail.access_discuss_call_history_user +DEL ir.model.access: mail.access_discuss_channel_member_portal +DEL ir.model.access: mail.access_discuss_channel_member_public +DEL ir.model.access: mail.access_discuss_channel_member_user +DEL ir.model.access: mail.access_discuss_channel_portal +DEL ir.model.access: mail.access_discuss_channel_public +DEL ir.model.access: mail.access_discuss_channel_rtc_session_system +DEL ir.model.access: mail.access_discuss_channel_system +DEL ir.model.access: mail.access_discuss_channel_user +DEL ir.model.access: mail.access_discuss_gif_favorite +DEL ir.model.access: mail.access_discuss_voice_metadata_user +DEL ir.model.access: mail.access_fetchmail_server +DEL ir.model.access: mail.access_mail_activity_plan_system +DEL ir.model.access: mail.access_mail_activity_plan_template_system +DEL ir.model.access: mail.access_mail_activity_plan_template_user +DEL ir.model.access: mail.access_mail_activity_plan_user +DEL ir.model.access: mail.access_mail_activity_schedule_line_user +DEL ir.model.access: mail.access_mail_activity_schedule_user +DEL ir.model.access: mail.access_mail_activity_type_system +DEL ir.model.access: mail.access_mail_activity_type_user +DEL ir.model.access: mail.access_mail_activity_user +DEL ir.model.access: mail.access_mail_alias_domain_system +DEL ir.model.access: mail.access_mail_alias_domain_user +DEL ir.model.access: mail.access_mail_alias_system +DEL ir.model.access: mail.access_mail_alias_user +DEL ir.model.access: mail.access_mail_blacklist_remove_system +DEL ir.model.access: mail.access_mail_blacklist_system +DEL ir.model.access: mail.access_mail_canned_reponse +DEL ir.model.access: mail.access_mail_compose_message +DEL ir.model.access: mail.access_mail_followers_edit +DEL ir.model.access: mail.access_mail_followers_system +DEL ir.model.access: mail.access_mail_followers_user +DEL ir.model.access: mail.access_mail_gateway_allowed_system +DEL ir.model.access: mail.access_mail_guest_system +DEL ir.model.access: mail.access_mail_guest_user +DEL ir.model.access: mail.access_mail_ice_server_system +DEL ir.model.access: mail.access_mail_link_preview_admin +DEL ir.model.access: mail.access_mail_mail_system +DEL ir.model.access: mail.access_mail_message_all +DEL ir.model.access: mail.access_mail_message_link_preview_erp_manager +DEL ir.model.access: mail.access_mail_message_portal +DEL ir.model.access: mail.access_mail_message_reaction_system +DEL ir.model.access: mail.access_mail_message_scheduled_system +DEL ir.model.access: mail.access_mail_message_subtype_portal +DEL ir.model.access: mail.access_mail_message_subtype_public +DEL ir.model.access: mail.access_mail_message_subtype_system +DEL ir.model.access: mail.access_mail_message_subtype_user +DEL ir.model.access: mail.access_mail_message_translation_system +DEL ir.model.access: mail.access_mail_message_user +DEL ir.model.access: mail.access_mail_notification_portal +DEL ir.model.access: mail.access_mail_notification_system +DEL ir.model.access: mail.access_mail_notification_user +DEL ir.model.access: mail.access_mail_presence +DEL ir.model.access: mail.access_mail_push_device_system +DEL ir.model.access: mail.access_mail_push_system +DEL ir.model.access: mail.access_mail_scheduled_message +DEL ir.model.access: mail.access_mail_template +DEL ir.model.access: mail.access_mail_template_editor +DEL ir.model.access: mail.access_mail_template_preview +DEL ir.model.access: mail.access_mail_template_reset +DEL ir.model.access: mail.access_mail_template_system +DEL ir.model.access: mail.access_mail_tracking_value_system +DEL ir.model.access: mail.access_publisher_warranty_contract_all +DEL ir.model.access: mail.access_res_role_admin +DEL ir.model.access: mail.access_res_role_user +DEL ir.model.access: mail.access_res_users_settings_volumes_user +DEL ir.model.access: mail.ir_actions_report_access_user +NEW ir.model.constraint: mail.constraint_discuss_category_name_unique +NEW ir.model.constraint: mail.constraint_discuss_channel_member_channel_id_id_idx +NEW ir.model.constraint: mail.constraint_discuss_channel_member_indices_channel_check +NEW ir.model.constraint: mail.constraint_discuss_channel_member_indices_chat_check +NEW ir.model.constraint: mail.constraint_discuss_channel_member_indices_unique +NEW ir.model.constraint: mail.constraint_discuss_channel_readonly_channel_type_check +NEW ir.model.constraint: mail.constraint_ir_attachment_mail_call_artifact_uniq +NEW ir.model.constraint: mail.constraint_mail_activity_unassigned_role_idx +NEW ir.model.constraint: mail.constraint_mail_call_artifact_artifact_has_possessor +NEW ir.model.constraint: mail.constraint_mail_call_artifact_start_before_end +NEW ir.model.constraint: mail.constraint_mail_poll_option_check_option_label +NEW ir.model.constraint: mail.constraint_mail_poll_unique_end_message_id +NEW ir.model.constraint: mail.constraint_mail_poll_unique_start_message_id +NEW ir.model.constraint: mail.constraint_mail_poll_vote_check_user_or_guest_set +NEW ir.model.constraint: mail.constraint_mail_poll_vote_unique_option_id_guest_id +NEW ir.model.constraint: mail.constraint_mail_poll_vote_unique_option_id_user_id +DEL ir.rule: mail.discuss_gif_favorite_admin_rule (noupdate) +DEL ir.rule: mail.discuss_gif_favorite_user_rule (noupdate) +DEL ir.rule: mail.ir_rule_discuss_call_history_read_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_group_system (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_create_is_group_matching_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_create_is_group_matching_group_user (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_create_is_member_group_user (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_group_system (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_is_self_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_read_all (noupdate) +DEL ir.rule: mail.ir_rule_mail_canned_response_admin (noupdate) +DEL ir.rule: mail.ir_rule_mail_canned_response_user_read (noupdate) +DEL ir.rule: mail.ir_rule_mail_canned_response_user_update (noupdate) +DEL ir.rule: mail.ir_rule_mail_notifications_group_portal (noupdate) +DEL ir.rule: mail.ir_rule_mail_notifications_group_user (noupdate) +DEL ir.rule: mail.ir_rule_mail_scheduled_message_user (noupdate) +DEL ir.rule: mail.mail_activity_plan_rule_admin (noupdate) +DEL ir.rule: mail.mail_activity_plan_template_rule_admin (noupdate) +DEL ir.rule: mail.mail_activity_rule_user (noupdate) +DEL ir.rule: mail.mail_compose_message_rule (noupdate) +DEL ir.rule: mail.mail_message_subtype_rule_public (noupdate) +DEL ir.rule: mail.mail_template_editor_rule (noupdate) +DEL ir.rule: mail.mail_template_employee_rule (noupdate) +DEL ir.rule: mail.res_users_settings_volumes_rule_admin (noupdate) +DEL ir.rule: mail.res_users_settings_volumes_rule_user (noupdate) +NEW ir.ui.menu: mail.ir_ui_view_menu_usage_mail_post +NEW ir.ui.menu: mail.menu_discuss_category +NEW ir.ui.menu: mail.menu_discuss_user_settings +NEW ir.ui.menu: mail.menu_settings +DEL ir.ui.menu: mail.discuss_technical +DEL ir.ui.menu: mail.menu_mail_tracking_value [renamed to mail_tracking module] +NEW ir.ui.view: mail.content_markdown +NEW ir.ui.view: mail.content_text +NEW ir.ui.view: mail.discuss_call_history_view_search +NEW ir.ui.view: mail.discuss_category_view_form +NEW ir.ui.view: mail.discuss_category_view_kanban +NEW ir.ui.view: mail.discuss_category_view_search +NEW ir.ui.view: mail.discuss_category_view_tree +NEW ir.ui.view: mail.discuss_my_conversations_view_search +NEW ir.ui.view: mail.group_change_template +NEW ir.ui.view: mail.ir_access_form_view_inherit_mail +NEW ir.ui.view: mail.ir_attachment_view_list +NEW ir.ui.view: mail.ir_ui_view_view_search_mail +NEW ir.ui.view: mail.mail_activity_view_graph +NEW ir.ui.view: mail.mail_activity_view_pivot +NEW ir.ui.view: mail.mail_tracking_template +NEW ir.ui.view: mail.res_config_settings_view_form_sfu_client_source +DEL ir.ui.view: mail.view_mail_tracking_value_form +DEL ir.ui.view: mail.view_mail_tracking_value_tree +NEW mail.message.subtype: mail.mt_important_notification (noupdate) diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/mail/20.0.1.19/upgrade_analysis_work.txt new file mode 100644 index 00000000000..c69ed019e4c --- /dev/null +++ b/openupgrade_scripts/scripts/mail/20.0.1.19/upgrade_analysis_work.txt @@ -0,0 +1,762 @@ +---Models in module 'mail'--- +obsolete model mail.thread.cc [abstract] + +# NOTHING TO DO: abstract model with no table. crm.lead, project.task and project.update +# inherit it in 19.0 and drop email_cc when those modules upgrade, because 20.0 does not +# redeclare the field. Preserving those columns belongs in the crm and project scripts. + +model mail.tracking.value (moved to mail_tracking) + +# DONE in pre-migration: mail_tracking is not auto_install. The script marks it to +# install, and also mail_tracking_mass_mailing / mail_tracking_sms when mass_mailing / +# sms are installed, because update_list() has already run. The model name and table +# mail_tracking_value are unchanged, so the history is reused. Moved xmlids are renamed +# onto mail_tracking before _process_end. + +new model bus.sync.mixin [abstract] +new model discuss.category +new model discuss.channel.last.interest.update +new model mail.call.artifact +new model mail.poll +new model mail.poll.option +new model mail.poll.vote +new model mail.thread.subject.suggested [abstract] +new model mail.track.mixin [abstract] + +# NOTHING TO DO: new model, or a model with no rows to carry forward. + +---Fields in module 'mail'--- +mail / discuss.call.history / artifact_ids (one2many) : NEW relation: mail.call.artifact + +# NOTHING TO DO: new model fields. + +mail / discuss.category / channel_ids (one2many) : NEW relation: discuss.channel +mail / discuss.category / name (char) : NEW required +mail / discuss.category / sequence (integer) : NEW hasdefault: default + +# NOTHING TO DO: new discuss.category fields. No 19.0 rows. + +mail / discuss.channel / discuss_category_id (many2one): NEW relation: discuss.category +mail / discuss.channel / is_readonly (boolean) : NEW + +# NOTHING TO DO: new feature with no 19.0 data. + +mail / discuss.channel / member_indices (char) : NEW isfunction: function, stored + +# NOTHING TO DO: stored compute filled by the ORM for chats. The partial unique index +# can fail the upgrade if two chats already have the same members; that is reported +# rather than merged, because merging chats would drop messages. + +mail / discuss.channel / pinned_message_ids (one2many) : DEL relation: mail.message + +# NOTHING TO DO: non-stored one2many. Pins live on mail.message.pinned_at, which is +# unchanged. + +mail / discuss.channel.last.interest.update / channel_id (many2one) : NEW relation: discuss.channel, required +mail / discuss.channel.last.interest.update / last_interest_dt (datetime) : NEW required + +# NOTHING TO DO: new feature with no 19.0 data. + +mail / discuss.channel.member / channel_role (selection) : NEW selection_keys: ['admin', 'owner'] + +# DONE in post-migration: channel and group members get channel_role owner for the +# creating user when they are still a member, otherwise the oldest active internal +# member. The standard #general admin membership is set to owner, as in +# discuss_channel_data.xml. Chats stay without a role. + +mail / discuss.channel.member / custom_channel_name (char) : DEL + +# NOTHING TO DO: per-member custom names were removed with no successor field. + +mail / discuss.channel.member / fetched_message_id (many2one) : DEL relation: mail.message + +# NOTHING TO DO: fetch cursor removed. seen_message_id remains. + +mail / discuss.channel.member / invitation_sent_dt (datetime) : NEW +mail / discuss.channel.member / is_favorite (boolean) : NEW + +# NOTHING TO DO: new optional member fields. Existing rows stay empty. + +mail / ir.access / message_follower_ids (one2many): NEW relation: mail.followers +mail / ir.access / message_ids (one2many) : NEW relation: mail.message + +# NOTHING TO DO: ir.model.access and ir.rule are merged into ir.access by the base +# migration (OCA OpenUpgrade PR #6068). Standard rows are loaded again from this +# module's data. Records without an xmlid are preserved by base. This script does not +# touch them. + +mail / ir.actions.server / activity_plan_id (many2one) : NEW relation: mail.activity.plan, hasdefault: compute +mail / ir.actions.server / activity_role_id (many2one) : NEW relation: res.role, hasdefault: compute +mail / ir.actions.server / activity_type_id (many2one) : not related anymore +mail / ir.actions.server / activity_user_type (selection): selection_keys added: [role] (most likely nothing to do) + +# NOTHING TO DO: new server-action fields (plans, roles, subtypes, log note) or a +# compute flag change. activity_type_id stays a stored compute. The selection key +# log_note is added for the note migration above. + +mail / ir.actions.server / log_note_note (html) : NEW hasdefault: compute, translate + +# DONE: column pre-created and filled for former note server actions. + +mail / ir.actions.server / mail_post_method (selection) : DEL selection_keys: ['comment', 'email', 'note'] + +# DONE in pre-migration: state mail_post with mail_post_method note becomes log_note, +# and the template body_html (translations included) is copied to log_note_note. comment +# stays mail_post. email stays mail_post as well: 20.0 has no email-only send on a +# mail.thread model, mail_post posts the template as a comment. Views that still name +# this field, or the other removed fields, are emptied before XML reload because +# ir.cron is validated before the new server-action view replaces the 19.0 arch. + +mail / ir.actions.server / state (False) : selection_keys added: [log_note] (most likely nothing to do) + +# DONE: column pre-created and filled for former note server actions. + +mail / ir.actions.server / subtype_ids (many2many) : NEW relation: mail.message.subtype, hasdefault: default + +# NOTHING TO DO: new server-action fields (plans, roles, subtypes, log note) or a +# compute flag change. activity_type_id stays a stored compute. The selection key +# log_note is added for the note migration above. + +mail / ir.ui.view / technical_usage (False) : NEW selection_keys: ['mail_post_source'], mode: modify +mail / ir.ui.view / type (False) : selection_keys added: [card] (most likely nothing to do) + +# NOTHING TO DO: new optional fields or a new selection key. No stored values to map. + +mail / mail.activity / activity_plan_id (many2one) : NEW relation: mail.activity.plan +mail / mail.activity / activity_template_id (many2one): NEW relation: mail.activity.plan.template +mail / mail.activity / phone (char) : NEW hasdefault: compute + +# NOTHING TO DO: new field, or a related/compute change the ORM applies. Chaining is +# covered by the suggested/triggered lines. + +mail / mail.activity / previous_activity_type_id (many2one): DEL relation: mail.activity.type +mail / mail.activity / recommended_activity_type_id (many2one): DEL relation: mail.activity.type + +# NOTHING TO DO: values used only by the mark-done wizard to propose the next activity. +# They are not the audit trail; that stays on the tracking message. + +mail / mail.activity / role_id (many2one) : NEW relation: res.role, hasdefault: compute + +# NOTHING TO DO: new role and KPI fields. + +mail / mail.activity / technical_usage (selection) : NEW selection_keys: ['none'] + +# NOTHING TO DO: new field, or a related/compute change the ORM applies. Chaining is +# covered by the suggested/triggered lines. + +mail / mail.activity.plan.template / next_activity_ids (many2many) : DEL relation: mail.activity.type + +# NOTHING TO DO: denormalized copy of the activity type suggestions on the plan +# template. The type is migrated; this many2many is dropped. + +mail / mail.activity.plan.template / responsible_type (selection) : selection_keys added: [role] (most likely nothing to do) + +# NOTHING TO DO: new field, or a related/compute change the ORM applies. Chaining is +# covered by the suggested/triggered lines. + +mail / mail.activity.plan.template / role_id (many2one) : NEW relation: res.role, hasdefault: compute + +# NOTHING TO DO: new role and KPI fields. + +mail / mail.activity.type / chaining_type (selection) : DEL required, selection_keys: ['suggest', 'trigger'] + +# DONE: consumed while filling suggested_next_type_id. mail_activity_rel stays because +# previous_type_ids still uses it, so every old suggestion remains visible as a +# preceding activity. Only one forward suggestion is kept. chaining_type itself has no +# successor. + +mail / mail.activity.type / default_role_id (many2one) : NEW relation: res.role +mail / mail.activity.type / kpi_provider_visibility (selection): NEW selection_keys: ['all', 'none', 'own'], hasdefault: default + +# NOTHING TO DO: new role and KPI fields. + +mail / mail.activity.type / suggested_next_type_id (many2one): NEW relation: mail.activity.type + +# DONE in pre-migration: the column is created and filled from triggered_next_type_id +# when chaining_type is trigger, otherwise from the lowest +# mail_activity_rel.recommended_id. Automatic triggering no longer exists; the link is +# kept as a suggestion. + +mail / mail.activity.type / suggested_next_type_ids (many2many): DEL relation: mail.activity.type +mail / mail.activity.type / triggered_next_type_id (many2one): DEL relation: mail.activity.type + +# DONE: consumed while filling suggested_next_type_id. mail_activity_rel stays because +# previous_type_ids still uses it, so every old suggestion remains visible as a +# preceding activity. Only one forward suggestion is kept. chaining_type itself has no +# successor. + +mail / mail.call.artifact / discuss_call_history_id (many2one): NEW relation: discuss.call.history +mail / mail.call.artifact / end_ms (integer) : NEW required, hasdefault: default +mail / mail.call.artifact / recording_started_by_id (many2one): NEW relation: res.users +mail / mail.call.artifact / recording_upload_pending (boolean): NEW +mail / mail.call.artifact / start_ms (integer) : NEW required, hasdefault: default + +# NOTHING TO DO: new model fields. + +mail / mail.guest / im_status (char) : selection_keys is now '['away', 'offline', 'online']' ('False') +mail / mail.guest / im_status (char) : type is now 'selection' ('char') + +# NOTHING TO DO: res.users.im_status and mail.guest.im_status are computed and not +# stored in both versions. The type change Char to Selection does not touch a column. +# Stored presence is mail.presence.status (online/away/offline), unchanged, and +# manual_im_status is unchanged. bus has no im_status column. The partner value bot was +# also a non-stored compute and the field was removed from res.partner. + +mail / mail.mail / recipient_cc_ids (many2many) : NEW relation: res.partner + +# NOTHING TO DO: new Cc relations. mail.thread.cc stored a char on the inheriting +# document, not partners on mail.message. + +mail / mail.mail / tracking_value_ids (one2many) : module is now 'mail_tracking' ('mail') + +# DONE by installing mail_tracking. Same columns and table; only the module that owns +# the field changes. + +mail / mail.message / bookmarked_partner_ids (many2many): NEW relation: res.partner + +# DONE by the starred relation rename. is_bookmarked is computed. + +mail / mail.message / ended_poll_ids (one2many) : NEW relation: mail.poll + +# NOTHING TO DO: new poll relation. No 19.0 rows. + +mail / mail.message / message_type (selection) : selection_keys added: [tracking] (most likely nothing to do) + +# DONE in pre-migration: notification messages that have mail.tracking.value rows become +# message_type tracking, which is what the 20.0 changes filter searches. Comments that +# also carry tracking values stay comments. + +mail / mail.message / partner_cc_ids (many2many) : NEW relation: res.partner + +# NOTHING TO DO: new Cc relations. mail.thread.cc stored a char on the inheriting +# document, not partners on mail.message. + +mail / mail.message / starred_partner_ids (many2many): DEL relation: res.partner + +# DONE in pre-migration: mail_message_res_partner_starred_rel is renamed to +# mail_message_res_partner_bookmarked_rel. Column names are unchanged. + +mail / mail.message / started_poll_ids (one2many) : NEW relation: mail.poll + +# NOTHING TO DO: new poll relation. No 19.0 rows. + +mail / mail.message / tracking_value_ids (one2many) : module is now 'mail_tracking' ('mail') + +# DONE by installing mail_tracking. Same columns and table; only the module that owns +# the field changes. + +mail / mail.poll / allow_multiple_options (boolean): NEW +mail / mail.poll / end_message_id (many2one) : NEW relation: mail.message +mail / mail.poll / option_ids (one2many) : NEW relation: mail.poll.option, required +mail / mail.poll / poll_end_dt (datetime) : NEW +mail / mail.poll / poll_question (char) : NEW required +mail / mail.poll / start_message_id (many2one) : NEW relation: mail.message, required +mail / mail.poll.option / option_emoji (char) : NEW +mail / mail.poll.option / option_label (char) : NEW required +mail / mail.poll.option / poll_id (many2one) : NEW relation: mail.poll, required +mail / mail.poll.option / vote_ids (one2many) : NEW relation: mail.poll.vote +mail / mail.poll.vote / guest_id (many2one) : NEW relation: mail.guest +mail / mail.poll.vote / option_id (many2one) : NEW relation: mail.poll.option, required +mail / mail.poll.vote / user_id (many2one) : NEW relation: res.users + +# NOTHING TO DO: new model fields. + +mail / mail.scheduled.message / partner_cc_ids (many2many) : NEW relation: res.partner + +# NOTHING TO DO: new Cc relations. mail.thread.cc stored a char on the inheriting +# document, not partners on mail.message. + +mail / mail.template / email_layout_force_footer (boolean): NEW hasdefault: default +mail / mail.template / email_layout_force_header (boolean): NEW hasdefault: default + +# NOTHING TO DO: new optional fields or a new selection key. No stored values to map. + +mail / mail.template / partner_cc (char) : NEW + +# NOTHING TO DO: new Cc relations. mail.thread.cc stored a char on the inheriting +# document, not partners on mail.message. + +mail / mail.tracking.value / _order : module is now 'mail_tracking' ('mail') + +# DONE by installing mail_tracking. Same columns and table; only the module that owns +# the field changes. + +mail / mail.tracking.value / currency_id (many2one) : DEL relation: res.currency + +# DONE in pre-migration: currency_id is copied into field_info.currency_id before +# mail_tracking drops the column. 20.0 reads the currency from field_info. + +mail / mail.tracking.value / display_name (char) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / field_id (many2one) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / field_info (json) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / mail_message_id (many2one) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_char (char) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_datetime (datetime) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_float (float) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_integer (integer) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / new_value_text (text) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_char (char) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_datetime (datetime) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_float (float) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_integer (integer) : module is now 'mail_tracking' ('mail') +mail / mail.tracking.value / old_value_text (text) : module is now 'mail_tracking' ('mail') + +# DONE by installing mail_tracking. Same columns and table; only the module that owns +# the field changes. + +mail / res.partner / contact_address_inline (char) : module is now 'base' ('mail') + +# NOTHING TO DO: same column. The field definition moved to base, which loads before +# mail, so the column is not dropped. + +mail / res.role / active (boolean) : NEW hasdefault: default + +# NOTHING TO DO: new role and KPI fields. + +mail / res.users / activity_date_deadline (date) : not related anymore +mail / res.users / activity_date_deadline (date) : now a function +mail / res.users / activity_exception_decoration (selection): not related anymore +mail / res.users / activity_exception_decoration (selection): now a function +mail / res.users / activity_exception_decoration (selection): selection_keys is now '['danger', 'warning']' ('function') +mail / res.users / activity_exception_icon (char): not related anymore +mail / res.users / activity_exception_icon (char): now a function +mail / res.users / activity_ids (one2many) : is now stored +mail / res.users / activity_ids (one2many) : not related anymore +mail / res.users / activity_state (selection) : not related anymore +mail / res.users / activity_state (selection) : now a function +mail / res.users / activity_state (selection) : selection_keys is now '['overdue', 'planned', 'today']' ('function') +mail / res.users / activity_user_id (many2one) : not related anymore +mail / res.users / activity_user_id (many2one) : now a function + +# NOTHING TO DO: mail.thread and mail.activity.mixin fields on res.users changed from +# related to stored computes. The ORM creates the columns and recomputes them. Nothing +# user-entered is stored only in the old related value. + +mail / res.users / contact_address_inline (char) : module is now 'base' ('mail') + +# NOTHING TO DO: same column. The field definition moved to base, which loads before +# mail, so the column is not dropped. + +mail / res.users / has_message (boolean) : not related anymore +mail / res.users / has_message (boolean) : now a function + +# NOTHING TO DO: mail.thread and mail.activity.mixin fields on res.users changed from +# related to stored computes. The ORM creates the columns and recomputes them. Nothing +# user-entered is stored only in the old related value. + +mail / res.users / im_status (char) : selection_keys is now '['away', 'busy', 'offline', 'online']' ('False') +mail / res.users / im_status (char) : type is now 'selection' ('char') + +# NOTHING TO DO: res.users.im_status and mail.guest.im_status are computed and not +# stored in both versions. The type change Char to Selection does not touch a column. +# Stored presence is mail.presence.status (online/away/offline), unchanged, and +# manual_im_status is unchanged. bus has no im_status column. The partner value bot was +# also a non-stored compute and the field was removed from res.partner. + +mail / res.users / message_attachment_count (integer): not related anymore +mail / res.users / message_attachment_count (integer): now a function +mail / res.users / message_follower_ids (one2many): is now stored +mail / res.users / message_follower_ids (one2many): not related anymore +mail / res.users / message_has_error (boolean) : not related anymore +mail / res.users / message_has_error (boolean) : now a function +mail / res.users / message_has_error_counter (integer): not related anymore +mail / res.users / message_has_error_counter (integer): now a function +mail / res.users / message_ids (one2many) : is now stored +mail / res.users / message_ids (one2many) : not related anymore +mail / res.users / message_is_follower (boolean) : not related anymore +mail / res.users / message_is_follower (boolean) : now a function +mail / res.users / message_needaction (boolean) : not related anymore +mail / res.users / message_needaction (boolean) : now a function +mail / res.users / message_needaction_counter (integer): not related anymore +mail / res.users / message_needaction_counter (integer): now a function +mail / res.users / message_partner_ids (many2many): not related anymore +mail / res.users / message_partner_ids (many2many): now a function +mail / res.users / my_activity_date_deadline (date): not related anymore +mail / res.users / my_activity_date_deadline (date): now a function +mail / res.users / offline_since (datetime) : not related anymore +mail / res.users / offline_since (datetime) : now a function + +# NOTHING TO DO: mail.thread and mail.activity.mixin fields on res.users changed from +# related to stored computes. The ORM creates the columns and recomputes them. Nothing +# user-entered is stored only in the old related value. + +mail / res.users.settings / is_discuss_sidebar_category_channel_open (boolean): DEL +mail / res.users.settings / is_discuss_sidebar_category_chat_open (boolean): DEL +mail / res.users.settings / push_to_talk_key (char) : DEL +mail / res.users.settings / use_push_to_talk (boolean) : DEL +mail / res.users.settings / voice_active_duration (integer): DEL + +# NOTHING TO DO: push-to-talk and the Discuss sidebar category flags were removed with +# the feature. No successor column. + +---XML records in module 'mail'--- +NEW discuss.channel.member: mail.channel_member_channel_admin_partner_admin (noupdate) + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +NEW ir.access: mail.access_discuss_category_erp_manager +NEW ir.access: mail.access_discuss_category_user +NEW ir.access: mail.access_discuss_channel_last_interest_update_system + +# NOTHING TO DO: new feature with no 19.0 data. + +NEW ir.access: mail.access_discuss_channel_rtc_session_system +NEW ir.access: mail.access_discuss_voice_metadata_user +NEW ir.access: mail.access_fetchmail_server +NEW ir.access: mail.access_mail_activity_plan_template_user +NEW ir.access: mail.access_mail_activity_plan_user +NEW ir.access: mail.access_mail_activity_schedule_line_user +NEW ir.access: mail.access_mail_activity_schedule_user +NEW ir.access: mail.access_mail_activity_type_system +NEW ir.access: mail.access_mail_activity_type_user +NEW ir.access: mail.access_mail_alias_domain_system +NEW ir.access: mail.access_mail_alias_domain_user +NEW ir.access: mail.access_mail_alias_system +NEW ir.access: mail.access_mail_alias_user +NEW ir.access: mail.access_mail_blacklist_remove_system +NEW ir.access: mail.access_mail_blacklist_system +NEW ir.access: mail.access_mail_call_artifact_admin +NEW ir.access: mail.access_mail_call_artifact_user +NEW ir.access: mail.access_mail_canned_reponse +NEW ir.access: mail.access_mail_compose_message +NEW ir.access: mail.access_mail_followers_edit +NEW ir.access: mail.access_mail_followers_system +NEW ir.access: mail.access_mail_followers_user +NEW ir.access: mail.access_mail_gateway_allowed_system +NEW ir.access: mail.access_mail_guest_system +NEW ir.access: mail.access_mail_guest_user +NEW ir.access: mail.access_mail_ice_server_system +NEW ir.access: mail.access_mail_link_preview_admin +NEW ir.access: mail.access_mail_mail_system +NEW ir.access: mail.access_mail_message_link_preview_erp_manager +NEW ir.access: mail.access_mail_message_reaction_system +NEW ir.access: mail.access_mail_message_scheduled_system +NEW ir.access: mail.access_mail_message_subtype_system +NEW ir.access: mail.access_mail_message_subtype_user +NEW ir.access: mail.access_mail_message_translation_system +NEW ir.access: mail.access_mail_notification_system +NEW ir.access: mail.access_mail_notification_user +NEW ir.access: mail.access_mail_poll_erp_manager +NEW ir.access: mail.access_mail_poll_option_erp_manager +NEW ir.access: mail.access_mail_poll_vote_erp_manager +NEW ir.access: mail.access_mail_presence +NEW ir.access: mail.access_mail_push_device_system +NEW ir.access: mail.access_mail_push_system +NEW ir.access: mail.access_mail_template +NEW ir.access: mail.access_mail_template_editor +NEW ir.access: mail.access_mail_template_preview +NEW ir.access: mail.access_mail_template_reset +NEW ir.access: mail.access_publisher_warranty_contract_all +NEW ir.access: mail.access_res_role_admin +NEW ir.access: mail.access_res_role_user +NEW ir.access: mail.discuss_gif_favorite_admin_rule +NEW ir.access: mail.discuss_gif_favorite_user_rule +NEW ir.access: mail.ir_actions_report_access_user +NEW ir.access: mail.ir_rule_discuss_call_history_read_all +NEW ir.access: mail.ir_rule_discuss_channel_all +NEW ir.access: mail.ir_rule_discuss_channel_all_user_write +NEW ir.access: mail.ir_rule_discuss_channel_group_system +NEW ir.access: mail.ir_rule_discuss_channel_member_create_is_group_matching_all +NEW ir.access: mail.ir_rule_discuss_channel_member_create_is_group_matching_group_user +NEW ir.access: mail.ir_rule_discuss_channel_member_create_is_member_group_user +NEW ir.access: mail.ir_rule_discuss_channel_member_group_system +NEW ir.access: mail.ir_rule_discuss_channel_member_is_channel_admin_unlink +NEW ir.access: mail.ir_rule_discuss_channel_member_is_channel_owner_unlink +NEW ir.access: mail.ir_rule_discuss_channel_member_is_self_all +NEW ir.access: mail.ir_rule_discuss_channel_member_is_self_unlink +NEW ir.access: mail.ir_rule_discuss_channel_member_read_all +NEW ir.access: mail.ir_rule_mail_canned_response_admin +NEW ir.access: mail.ir_rule_mail_canned_response_user_read +NEW ir.access: mail.ir_rule_mail_canned_response_user_update +NEW ir.access: mail.ir_rule_mail_notifications_group_portal +NEW ir.access: mail.ir_rule_mail_notifications_group_user +NEW ir.access: mail.ir_rule_mail_scheduled_message +NEW ir.access: mail.ir_rule_mail_scheduled_message_user +NEW ir.access: mail.mail_activity_plan_rule_admin +NEW ir.access: mail.mail_activity_plan_template_rule_admin +NEW ir.access: mail.mail_activity_rule_access_create +NEW ir.access: mail.mail_activity_rule_access_read +NEW ir.access: mail.mail_activity_rule_access_unlink +NEW ir.access: mail.mail_activity_rule_access_write +NEW ir.access: mail.mail_activity_rule_user +NEW ir.access: mail.mail_compose_message_rule +NEW ir.access: mail.mail_message_rule_access_create +NEW ir.access: mail.mail_message_rule_access_create_1 +NEW ir.access: mail.mail_message_rule_access_read +NEW ir.access: mail.mail_message_rule_access_unlink +NEW ir.access: mail.mail_message_rule_access_unlink_1 +NEW ir.access: mail.mail_message_rule_access_write +NEW ir.access: mail.mail_message_rule_access_write_1 +NEW ir.access: mail.mail_message_subtype_rule_public +NEW ir.access: mail.mail_template_editor_rule +NEW ir.access: mail.mail_template_employee_rule +NEW ir.access: mail.res_users_settings_volumes_rule_admin +NEW ir.access: mail.res_users_settings_volumes_rule_user + +# NOTHING TO DO: ir.model.access and ir.rule are merged into ir.access by the base +# migration (OCA OpenUpgrade PR #6068). Standard rows are loaded again from this +# module's data. Records without an xmlid are preserved by base. This script does not +# touch them. + +NEW ir.actions.act_url: mail.action_open_discuss_settings + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +NEW ir.actions.act_window: mail.discuss_category_settings_action + +# NOTHING TO DO: new feature with no 19.0 data. + +NEW ir.actions.act_window: mail.discuss_my_conversations_action +NEW ir.actions.act_window: mail.ir_ui_view_action_usage_mail_post +NEW ir.actions.act_window: mail.mail_activity_action_to_assign + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +DEL ir.actions.act_window: mail.action_view_mail_tracking_value [renamed to mail_tracking module] + +# DONE in pre-migration: xmlid renamed to mail_tracking so the record is updated in +# place. The access xmlid is renamed by base before mail loads, and mail_tracking's CSV +# creates the ir.access row. + +NEW ir.actions.act_window.view: mail.mail_activity_action_my_view_graph +NEW ir.actions.act_window.view: mail.mail_activity_action_my_view_pivot +NEW ir.actions.act_window.view: mail.mail_activity_action_to_assign_view_list + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +NEW ir.cron: mail.ir_cron_discuss_channel_sync_last_interest_dt (noupdate) + +# NOTHING TO DO: new feature with no 19.0 data. + +NEW ir.cron: mail.ir_cron_mail_end_polls (noupdate) + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +DEL ir.model.access: mail.access_discuss_call_history_portal +DEL ir.model.access: mail.access_discuss_call_history_public +DEL ir.model.access: mail.access_discuss_call_history_user +DEL ir.model.access: mail.access_discuss_channel_member_portal +DEL ir.model.access: mail.access_discuss_channel_member_public +DEL ir.model.access: mail.access_discuss_channel_member_user +DEL ir.model.access: mail.access_discuss_channel_portal +DEL ir.model.access: mail.access_discuss_channel_public +DEL ir.model.access: mail.access_discuss_channel_rtc_session_system +DEL ir.model.access: mail.access_discuss_channel_system +DEL ir.model.access: mail.access_discuss_channel_user +DEL ir.model.access: mail.access_discuss_gif_favorite +DEL ir.model.access: mail.access_discuss_voice_metadata_user +DEL ir.model.access: mail.access_fetchmail_server +DEL ir.model.access: mail.access_mail_activity_plan_system +DEL ir.model.access: mail.access_mail_activity_plan_template_system +DEL ir.model.access: mail.access_mail_activity_plan_template_user +DEL ir.model.access: mail.access_mail_activity_plan_user +DEL ir.model.access: mail.access_mail_activity_schedule_line_user +DEL ir.model.access: mail.access_mail_activity_schedule_user +DEL ir.model.access: mail.access_mail_activity_type_system +DEL ir.model.access: mail.access_mail_activity_type_user +DEL ir.model.access: mail.access_mail_activity_user +DEL ir.model.access: mail.access_mail_alias_domain_system +DEL ir.model.access: mail.access_mail_alias_domain_user +DEL ir.model.access: mail.access_mail_alias_system +DEL ir.model.access: mail.access_mail_alias_user +DEL ir.model.access: mail.access_mail_blacklist_remove_system +DEL ir.model.access: mail.access_mail_blacklist_system +DEL ir.model.access: mail.access_mail_canned_reponse +DEL ir.model.access: mail.access_mail_compose_message +DEL ir.model.access: mail.access_mail_followers_edit +DEL ir.model.access: mail.access_mail_followers_system +DEL ir.model.access: mail.access_mail_followers_user +DEL ir.model.access: mail.access_mail_gateway_allowed_system +DEL ir.model.access: mail.access_mail_guest_system +DEL ir.model.access: mail.access_mail_guest_user +DEL ir.model.access: mail.access_mail_ice_server_system +DEL ir.model.access: mail.access_mail_link_preview_admin +DEL ir.model.access: mail.access_mail_mail_system +DEL ir.model.access: mail.access_mail_message_all +DEL ir.model.access: mail.access_mail_message_link_preview_erp_manager +DEL ir.model.access: mail.access_mail_message_portal +DEL ir.model.access: mail.access_mail_message_reaction_system +DEL ir.model.access: mail.access_mail_message_scheduled_system +DEL ir.model.access: mail.access_mail_message_subtype_portal +DEL ir.model.access: mail.access_mail_message_subtype_public +DEL ir.model.access: mail.access_mail_message_subtype_system +DEL ir.model.access: mail.access_mail_message_subtype_user +DEL ir.model.access: mail.access_mail_message_translation_system +DEL ir.model.access: mail.access_mail_message_user +DEL ir.model.access: mail.access_mail_notification_portal +DEL ir.model.access: mail.access_mail_notification_system +DEL ir.model.access: mail.access_mail_notification_user +DEL ir.model.access: mail.access_mail_presence +DEL ir.model.access: mail.access_mail_push_device_system +DEL ir.model.access: mail.access_mail_push_system +DEL ir.model.access: mail.access_mail_scheduled_message +DEL ir.model.access: mail.access_mail_template +DEL ir.model.access: mail.access_mail_template_editor +DEL ir.model.access: mail.access_mail_template_preview +DEL ir.model.access: mail.access_mail_template_reset +DEL ir.model.access: mail.access_mail_template_system +DEL ir.model.access: mail.access_mail_tracking_value_system +DEL ir.model.access: mail.access_publisher_warranty_contract_all +DEL ir.model.access: mail.access_res_role_admin +DEL ir.model.access: mail.access_res_role_user +DEL ir.model.access: mail.access_res_users_settings_volumes_user +DEL ir.model.access: mail.ir_actions_report_access_user + +# NOTHING TO DO: ir.model.access and ir.rule are merged into ir.access by the base +# migration (OCA OpenUpgrade PR #6068). Standard rows are loaded again from this +# module's data. Records without an xmlid are preserved by base. This script does not +# touch them. + +NEW ir.model.constraint: mail.constraint_discuss_category_name_unique + +# NOTHING TO DO: new feature with no 19.0 data. + +NEW ir.model.constraint: mail.constraint_discuss_channel_member_channel_id_id_idx + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +NEW ir.model.constraint: mail.constraint_discuss_channel_member_indices_channel_check +NEW ir.model.constraint: mail.constraint_discuss_channel_member_indices_chat_check +NEW ir.model.constraint: mail.constraint_discuss_channel_member_indices_unique + +# NOTHING TO DO: stored compute filled by the ORM for chats. The partial unique index +# can fail the upgrade if two chats already have the same members; that is reported +# rather than merged, because merging chats would drop messages. + +NEW ir.model.constraint: mail.constraint_discuss_channel_readonly_channel_type_check +NEW ir.model.constraint: mail.constraint_ir_attachment_mail_call_artifact_uniq +NEW ir.model.constraint: mail.constraint_mail_activity_unassigned_role_idx +NEW ir.model.constraint: mail.constraint_mail_call_artifact_artifact_has_possessor +NEW ir.model.constraint: mail.constraint_mail_call_artifact_start_before_end +NEW ir.model.constraint: mail.constraint_mail_poll_option_check_option_label +NEW ir.model.constraint: mail.constraint_mail_poll_unique_end_message_id +NEW ir.model.constraint: mail.constraint_mail_poll_unique_start_message_id +NEW ir.model.constraint: mail.constraint_mail_poll_vote_check_user_or_guest_set +NEW ir.model.constraint: mail.constraint_mail_poll_vote_unique_option_id_guest_id +NEW ir.model.constraint: mail.constraint_mail_poll_vote_unique_option_id_user_id + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +DEL ir.rule: mail.discuss_gif_favorite_admin_rule (noupdate) +DEL ir.rule: mail.discuss_gif_favorite_user_rule (noupdate) +DEL ir.rule: mail.ir_rule_discuss_call_history_read_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_group_system (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_create_is_group_matching_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_create_is_group_matching_group_user (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_create_is_member_group_user (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_group_system (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_is_self_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_read_all (noupdate) +DEL ir.rule: mail.ir_rule_mail_canned_response_admin (noupdate) +DEL ir.rule: mail.ir_rule_mail_canned_response_user_read (noupdate) +DEL ir.rule: mail.ir_rule_mail_canned_response_user_update (noupdate) +DEL ir.rule: mail.ir_rule_mail_notifications_group_portal (noupdate) +DEL ir.rule: mail.ir_rule_mail_notifications_group_user (noupdate) +DEL ir.rule: mail.ir_rule_mail_scheduled_message_user (noupdate) +DEL ir.rule: mail.mail_activity_plan_rule_admin (noupdate) +DEL ir.rule: mail.mail_activity_plan_template_rule_admin (noupdate) +DEL ir.rule: mail.mail_activity_rule_user (noupdate) +DEL ir.rule: mail.mail_compose_message_rule (noupdate) +DEL ir.rule: mail.mail_message_subtype_rule_public (noupdate) +DEL ir.rule: mail.mail_template_editor_rule (noupdate) +DEL ir.rule: mail.mail_template_employee_rule (noupdate) +DEL ir.rule: mail.res_users_settings_volumes_rule_admin (noupdate) +DEL ir.rule: mail.res_users_settings_volumes_rule_user (noupdate) + +# NOTHING TO DO: ir.model.access and ir.rule are merged into ir.access by the base +# migration (OCA OpenUpgrade PR #6068). Standard rows are loaded again from this +# module's data. Records without an xmlid are preserved by base. This script does not +# touch them. + +NEW ir.ui.menu: mail.ir_ui_view_menu_usage_mail_post + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +NEW ir.ui.menu: mail.menu_discuss_category + +# NOTHING TO DO: new feature with no 19.0 data. + +NEW ir.ui.menu: mail.menu_discuss_user_settings +NEW ir.ui.menu: mail.menu_settings +DEL ir.ui.menu: mail.discuss_technical + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +DEL ir.ui.menu: mail.menu_mail_tracking_value [renamed to mail_tracking module] + +# DONE in pre-migration: xmlid renamed to mail_tracking so the record is updated in +# place. The access xmlid is renamed by base before mail loads, and mail_tracking's CSV +# creates the ir.access row. + +NEW ir.ui.view: mail.content_markdown +NEW ir.ui.view: mail.content_text +NEW ir.ui.view: mail.discuss_call_history_view_search + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +NEW ir.ui.view: mail.discuss_category_view_form +NEW ir.ui.view: mail.discuss_category_view_kanban +NEW ir.ui.view: mail.discuss_category_view_search +NEW ir.ui.view: mail.discuss_category_view_tree + +# NOTHING TO DO: new feature with no 19.0 data. + +NEW ir.ui.view: mail.discuss_my_conversations_view_search +NEW ir.ui.view: mail.group_change_template +NEW ir.ui.view: mail.ir_access_form_view_inherit_mail +NEW ir.ui.view: mail.ir_attachment_view_list +NEW ir.ui.view: mail.ir_ui_view_view_search_mail +NEW ir.ui.view: mail.mail_activity_view_graph +NEW ir.ui.view: mail.mail_activity_view_pivot +NEW ir.ui.view: mail.mail_tracking_template +NEW ir.ui.view: mail.res_config_settings_view_form_sfu_client_source + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. + +DEL ir.ui.view: mail.view_mail_tracking_value_form +DEL ir.ui.view: mail.view_mail_tracking_value_tree + +# DONE in pre-migration: xmlid renamed to mail_tracking so the record is updated in +# place. The access xmlid is renamed by base before mail loads, and mail_tracking's CSV +# creates the ir.access row. + +NEW mail.message.subtype: mail.mt_important_notification (noupdate) + +# NOTHING TO DO: standard data added or removed by the module load. The generated +# noupdate_changes.xml is not loaded: it would blank #general and the admin channel +# names. Post-migration updates activity icons, subtype English names and sequences, and +# the canned-response admin implied group, only where the 19.0 value is still in place. diff --git a/openupgrade_scripts/scripts/mail_tracking/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/mail_tracking/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..c63b95ed6e0 --- /dev/null +++ b/openupgrade_scripts/scripts/mail_tracking/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,31 @@ +---Models in module 'mail_tracking'--- +model mail.tracking.value (moved from mail) +---Fields in module 'mail_tracking'--- +mail_tracking / mail.mail / tracking_value_ids (one2many) : previously in module mail +mail_tracking / mail.message / source_template_id (many2one) : NEW relation: mail.template +mail_tracking / mail.message / source_view_id (many2one) : NEW relation: ir.ui.view +mail_tracking / mail.message / tracking_value_ids (one2many) : previously in module mail +mail_tracking / mail.tracking.value / _order : previously in module mail +mail_tracking / mail.tracking.value / display_name (char) : previously in module mail +mail_tracking / mail.tracking.value / field_id (many2one) : previously in module mail +mail_tracking / mail.tracking.value / field_info (json) : previously in module mail +mail_tracking / mail.tracking.value / mail_message_id (many2one) : previously in module mail +mail_tracking / mail.tracking.value / new_value_char (char) : previously in module mail +mail_tracking / mail.tracking.value / new_value_datetime (datetime) : previously in module mail +mail_tracking / mail.tracking.value / new_value_float (float) : previously in module mail +mail_tracking / mail.tracking.value / new_value_integer (integer) : previously in module mail +mail_tracking / mail.tracking.value / new_value_text (text) : previously in module mail +mail_tracking / mail.tracking.value / old_value_char (char) : previously in module mail +mail_tracking / mail.tracking.value / old_value_datetime (datetime) : previously in module mail +mail_tracking / mail.tracking.value / old_value_float (float) : previously in module mail +mail_tracking / mail.tracking.value / old_value_integer (integer) : previously in module mail +mail_tracking / mail.tracking.value / old_value_text (text) : previously in module mail +---XML records in module 'mail_tracking'--- +NEW ir.access: mail_tracking.access_mail_tracking_value_system +NEW ir.actions.act_window: mail_tracking.action_view_mail_tracking_value [renamed from mail module] +NEW ir.ui.menu: mail_tracking.menu_mail_tracking_value [renamed from mail module] +NEW ir.ui.view: mail_tracking.mail_message_view_form_inherit_mail_tracking +NEW ir.ui.view: mail_tracking.mail_message_view_list +NEW ir.ui.view: mail_tracking.mail_message_view_search +NEW ir.ui.view: mail_tracking.view_mail_tracking_value_form +NEW ir.ui.view: mail_tracking.view_mail_tracking_value_tree diff --git a/openupgrade_scripts/scripts/mail_tracking/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/mail_tracking/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..19df70c8513 --- /dev/null +++ b/openupgrade_scripts/scripts/mail_tracking/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,54 @@ +---Models in module 'mail_tracking'--- +model mail.tracking.value (moved from mail) + +# DONE from mail's pre-migration, which marks this module to install and renames the +# moved xmlids before _process_end. The model and table names are unchanged, so existing +# mail.tracking.value rows are kept. source_template_id and source_view_id are new +# columns with no 19.0 data. currency_id is folded into field_info by the mail script. +# New views and the renamed action and menu are loaded by the module. The ir.access row +# replaces ir.model.access via the base migration. + +---Fields in module 'mail_tracking'--- +mail_tracking / mail.mail / tracking_value_ids (one2many) : previously in module mail +mail_tracking / mail.message / source_template_id (many2one) : NEW relation: mail.template +mail_tracking / mail.message / source_view_id (many2one) : NEW relation: ir.ui.view +mail_tracking / mail.message / tracking_value_ids (one2many) : previously in module mail +mail_tracking / mail.tracking.value / _order : previously in module mail +mail_tracking / mail.tracking.value / display_name (char) : previously in module mail +mail_tracking / mail.tracking.value / field_id (many2one) : previously in module mail +mail_tracking / mail.tracking.value / field_info (json) : previously in module mail +mail_tracking / mail.tracking.value / mail_message_id (many2one) : previously in module mail +mail_tracking / mail.tracking.value / new_value_char (char) : previously in module mail +mail_tracking / mail.tracking.value / new_value_datetime (datetime) : previously in module mail +mail_tracking / mail.tracking.value / new_value_float (float) : previously in module mail +mail_tracking / mail.tracking.value / new_value_integer (integer) : previously in module mail +mail_tracking / mail.tracking.value / new_value_text (text) : previously in module mail +mail_tracking / mail.tracking.value / old_value_char (char) : previously in module mail +mail_tracking / mail.tracking.value / old_value_datetime (datetime) : previously in module mail +mail_tracking / mail.tracking.value / old_value_float (float) : previously in module mail +mail_tracking / mail.tracking.value / old_value_integer (integer) : previously in module mail +mail_tracking / mail.tracking.value / old_value_text (text) : previously in module mail + +# DONE from mail's pre-migration, which marks this module to install and renames the +# moved xmlids before _process_end. The model and table names are unchanged, so existing +# mail.tracking.value rows are kept. source_template_id and source_view_id are new +# columns with no 19.0 data. currency_id is folded into field_info by the mail script. +# New views and the renamed action and menu are loaded by the module. The ir.access row +# replaces ir.model.access via the base migration. + +---XML records in module 'mail_tracking'--- +NEW ir.access: mail_tracking.access_mail_tracking_value_system +NEW ir.actions.act_window: mail_tracking.action_view_mail_tracking_value [renamed from mail module] +NEW ir.ui.menu: mail_tracking.menu_mail_tracking_value [renamed from mail module] +NEW ir.ui.view: mail_tracking.mail_message_view_form_inherit_mail_tracking +NEW ir.ui.view: mail_tracking.mail_message_view_list +NEW ir.ui.view: mail_tracking.mail_message_view_search +NEW ir.ui.view: mail_tracking.view_mail_tracking_value_form +NEW ir.ui.view: mail_tracking.view_mail_tracking_value_tree + +# DONE from mail's pre-migration, which marks this module to install and renames the +# moved xmlids before _process_end. The model and table names are unchanged, so existing +# mail.tracking.value rows are kept. source_template_id and source_view_id are new +# columns with no 19.0 data. currency_id is folded into field_info by the mail script. +# New views and the renamed action and menu are loaded by the module. The ir.access row +# replaces ir.model.access via the base migration. diff --git a/openupgrade_scripts/scripts/mail_tracking_mass_mailing/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/mail_tracking_mass_mailing/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..e357d103d9d --- /dev/null +++ b/openupgrade_scripts/scripts/mail_tracking_mass_mailing/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,7 @@ +---Models in module 'mail_tracking_mass_mailing'--- +---Fields in module 'mail_tracking_mass_mailing'--- +mail_tracking_mass_mailing / mail.message / source_mailing_id (many2one) : NEW relation: mailing.mailing +---XML records in module 'mail_tracking_mass_mailing'--- +NEW ir.ui.view: mail_tracking_mass_mailing.mail_message_view_form +NEW ir.ui.view: mail_tracking_mass_mailing.mail_message_view_list +NEW ir.ui.view: mail_tracking_mass_mailing.mail_message_view_search diff --git a/openupgrade_scripts/scripts/mail_tracking_mass_mailing/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/mail_tracking_mass_mailing/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..51756c567fc --- /dev/null +++ b/openupgrade_scripts/scripts/mail_tracking_mass_mailing/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,18 @@ +---Models in module 'mail_tracking_mass_mailing'--- +---Fields in module 'mail_tracking_mass_mailing'--- +mail_tracking_mass_mailing / mail.message / source_mailing_id (many2one) : NEW relation: mailing.mailing + +# NOTHING TO DO: new auto_install glue. source_mailing_id is a new column. mail's +# pre-migration marks this module to install when mass_mailing is already installed, +# because update_list() ran before mail_tracking was scheduled and would otherwise miss +# the auto_install. + +---XML records in module 'mail_tracking_mass_mailing'--- +NEW ir.ui.view: mail_tracking_mass_mailing.mail_message_view_form +NEW ir.ui.view: mail_tracking_mass_mailing.mail_message_view_list +NEW ir.ui.view: mail_tracking_mass_mailing.mail_message_view_search + +# NOTHING TO DO: new auto_install glue. source_mailing_id is a new column. mail's +# pre-migration marks this module to install when mass_mailing is already installed, +# because update_list() ran before mail_tracking was scheduled and would otherwise miss +# the auto_install. diff --git a/openupgrade_scripts/scripts/mail_tracking_sms/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/mail_tracking_sms/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..9798ec41fdc --- /dev/null +++ b/openupgrade_scripts/scripts/mail_tracking_sms/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,7 @@ +---Models in module 'mail_tracking_sms'--- +---Fields in module 'mail_tracking_sms'--- +mail_tracking_sms / mail.message / source_sms_template_id (many2one): NEW relation: sms.template +---XML records in module 'mail_tracking_sms'--- +NEW ir.ui.view: mail_tracking_sms.mail_message_view_form +NEW ir.ui.view: mail_tracking_sms.mail_message_view_list +NEW ir.ui.view: mail_tracking_sms.mail_message_view_search diff --git a/openupgrade_scripts/scripts/mail_tracking_sms/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/mail_tracking_sms/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..fd8ba2e25c4 --- /dev/null +++ b/openupgrade_scripts/scripts/mail_tracking_sms/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,14 @@ +---Models in module 'mail_tracking_sms'--- +---Fields in module 'mail_tracking_sms'--- +mail_tracking_sms / mail.message / source_sms_template_id (many2one): NEW relation: sms.template + +# NOTHING TO DO: new auto_install glue. source_sms_template_id is a new column. mail's +# pre-migration marks this module to install when sms is already installed. + +---XML records in module 'mail_tracking_sms'--- +NEW ir.ui.view: mail_tracking_sms.mail_message_view_form +NEW ir.ui.view: mail_tracking_sms.mail_message_view_list +NEW ir.ui.view: mail_tracking_sms.mail_message_view_search + +# NOTHING TO DO: new auto_install glue. source_sms_template_id is a new column. mail's +# pre-migration marks this module to install when sms is already installed. diff --git a/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..4af14c04103 --- /dev/null +++ b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,8 @@ +---Models in module 'website_livechat'--- +---Fields in module 'website_livechat'--- +website_livechat / website.visitor / livechat_operator_id (many2one): DEL relation: res.partner +---XML records in module 'website_livechat'--- +NEW ir.access: website_livechat.access_website_track_livechat_users +NEW ir.access: website_livechat.access_website_visitor_livechat_users +DEL ir.model.access: website_livechat.access_website_track_livechat_users +DEL ir.model.access: website_livechat.access_website_visitor_livechat_users diff --git a/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..6954a34739b --- /dev/null +++ b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,25 @@ +---Models in module 'website_livechat'--- +---Fields in module 'website_livechat'--- +website_livechat / website.visitor / livechat_operator_id (many2one): DEL relation: res.partner + +# NOTHING TO DO: website.visitor.livechat_operator_id was a stored compute of +# discuss.channel.livechat_operator_id. The operator is still known from channel members +# and im_livechat.channel.member.history, so the cache column can be dropped. The +# ir.model.access to ir.access rename is the base migration. The noupdate website +# channel link now points at base.default_website, which base renames from +# website.default_website; the channel_id value itself is unchanged, so the generated +# noupdate_changes.xml is not loaded. + +---XML records in module 'website_livechat'--- +NEW ir.access: website_livechat.access_website_track_livechat_users +NEW ir.access: website_livechat.access_website_visitor_livechat_users +DEL ir.model.access: website_livechat.access_website_track_livechat_users +DEL ir.model.access: website_livechat.access_website_visitor_livechat_users + +# NOTHING TO DO: website.visitor.livechat_operator_id was a stored compute of +# discuss.channel.livechat_operator_id. The operator is still known from channel members +# and im_livechat.channel.member.history, so the cache column can be dropped. The +# ir.model.access to ir.access rename is the base migration. The noupdate website +# channel link now points at base.default_website, which base renames from +# website.default_website; the channel_id value itself is unchanged, so the generated +# noupdate_changes.xml is not loaded.