From 1a432975894b6748d0d514a3aeca90836d1b8ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 1 May 2023 14:07:33 +0200 Subject: [PATCH 001/932] Create branch 6.8 --HG-- branch : 6.8 From a453a10b9a691b92c643dcda187a6b6865a2dea4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 1 May 2023 14:09:26 +0200 Subject: [PATCH 002/932] Increase version number --HG-- branch : 6.8 --- modules/account/tryton.cfg | 2 +- modules/account_asset/tryton.cfg | 2 +- modules/account_be/tryton.cfg | 2 +- modules/account_budget/tryton.cfg | 2 +- modules/account_cash_rounding/tryton.cfg | 2 +- modules/account_consolidation/tryton.cfg | 2 +- modules/account_credit_limit/tryton.cfg | 2 +- modules/account_de_skr03/tryton.cfg | 2 +- modules/account_deposit/tryton.cfg | 2 +- modules/account_dunning/tryton.cfg | 2 +- modules/account_dunning_email/tryton.cfg | 2 +- modules/account_dunning_fee/tryton.cfg | 2 +- modules/account_dunning_letter/tryton.cfg | 2 +- modules/account_es/tryton.cfg | 2 +- modules/account_es_sii/tryton.cfg | 2 +- modules/account_eu/tryton.cfg | 2 +- modules/account_fr/tryton.cfg | 2 +- modules/account_fr_chorus/tryton.cfg | 2 +- modules/account_invoice/tryton.cfg | 2 +- modules/account_invoice_correction/tryton.cfg | 2 +- modules/account_invoice_defer/tryton.cfg | 2 +- modules/account_invoice_history/tryton.cfg | 2 +- modules/account_invoice_line_standalone/tryton.cfg | 2 +- modules/account_invoice_secondary_unit/tryton.cfg | 2 +- modules/account_invoice_stock/tryton.cfg | 2 +- modules/account_invoice_watermark/tryton.cfg | 2 +- modules/account_move_line_grouping/tryton.cfg | 2 +- modules/account_payment/tryton.cfg | 2 +- modules/account_payment_braintree/tryton.cfg | 2 +- modules/account_payment_clearing/tryton.cfg | 2 +- modules/account_payment_sepa/tryton.cfg | 2 +- modules/account_payment_sepa_cfonb/tryton.cfg | 2 +- modules/account_payment_stripe/tryton.cfg | 2 +- modules/account_product/tryton.cfg | 2 +- modules/account_receivable_rule/tryton.cfg | 2 +- modules/account_rule/tryton.cfg | 2 +- modules/account_statement/tryton.cfg | 2 +- modules/account_statement_aeb43/tryton.cfg | 2 +- modules/account_statement_coda/tryton.cfg | 2 +- modules/account_statement_mt940/tryton.cfg | 2 +- modules/account_statement_ofx/tryton.cfg | 2 +- modules/account_statement_rule/tryton.cfg | 2 +- modules/account_statement_sepa/tryton.cfg | 2 +- modules/account_stock_anglo_saxon/tryton.cfg | 2 +- modules/account_stock_continental/tryton.cfg | 2 +- modules/account_stock_eu/tryton.cfg | 2 +- modules/account_stock_landed_cost/tryton.cfg | 2 +- modules/account_stock_landed_cost_weight/tryton.cfg | 2 +- modules/account_stock_shipment_cost/tryton.cfg | 2 +- modules/account_stock_shipment_cost_weight/tryton.cfg | 2 +- modules/account_tax_cash/tryton.cfg | 2 +- modules/account_tax_non_deductible/tryton.cfg | 2 +- modules/account_tax_rule_country/tryton.cfg | 2 +- modules/analytic_account/tryton.cfg | 2 +- modules/analytic_budget/tryton.cfg | 2 +- modules/analytic_invoice/tryton.cfg | 2 +- modules/analytic_purchase/tryton.cfg | 2 +- modules/analytic_sale/tryton.cfg | 2 +- modules/attendance/tryton.cfg | 2 +- modules/authentication_saml/tryton.cfg | 2 +- modules/authentication_sms/tryton.cfg | 2 +- modules/bank/tryton.cfg | 2 +- modules/carrier/tryton.cfg | 2 +- modules/carrier_carriage/tryton.cfg | 2 +- modules/carrier_percentage/tryton.cfg | 2 +- modules/carrier_subdivision/tryton.cfg | 2 +- modules/carrier_weight/tryton.cfg | 2 +- modules/commission/tryton.cfg | 2 +- modules/commission_waiting/tryton.cfg | 2 +- modules/company/tryton.cfg | 2 +- modules/company_work_time/tryton.cfg | 2 +- modules/country/tryton.cfg | 2 +- modules/currency/tryton.cfg | 2 +- modules/currency_ro/tryton.cfg | 2 +- modules/currency_rs/tryton.cfg | 2 +- modules/customs/tryton.cfg | 2 +- modules/dashboard/tryton.cfg | 2 +- modules/edocument_uncefact/tryton.cfg | 2 +- modules/edocument_unece/tryton.cfg | 2 +- modules/google_maps/tryton.cfg | 2 +- modules/incoterm/tryton.cfg | 2 +- modules/ldap_authentication/tryton.cfg | 2 +- modules/marketing/tryton.cfg | 2 +- modules/marketing_automation/tryton.cfg | 2 +- modules/marketing_campaign/tryton.cfg | 2 +- modules/marketing_email/tryton.cfg | 2 +- modules/notification_email/tryton.cfg | 2 +- modules/party/tryton.cfg | 2 +- modules/party_avatar/tryton.cfg | 2 +- modules/party_relationship/tryton.cfg | 2 +- modules/party_siret/tryton.cfg | 2 +- modules/product/tryton.cfg | 2 +- modules/product_attribute/tryton.cfg | 2 +- modules/product_classification/tryton.cfg | 2 +- modules/product_classification_taxonomic/tryton.cfg | 2 +- modules/product_cost_fifo/tryton.cfg | 2 +- modules/product_cost_history/tryton.cfg | 2 +- modules/product_cost_warehouse/tryton.cfg | 2 +- modules/product_image/tryton.cfg | 2 +- modules/product_image_attribute/tryton.cfg | 2 +- modules/product_kit/tryton.cfg | 2 +- modules/product_measurements/tryton.cfg | 2 +- modules/product_price_list/tryton.cfg | 2 +- modules/product_price_list_dates/tryton.cfg | 2 +- modules/product_price_list_parent/tryton.cfg | 2 +- modules/production/tryton.cfg | 2 +- modules/production_outsourcing/tryton.cfg | 2 +- modules/production_routing/tryton.cfg | 2 +- modules/production_split/tryton.cfg | 2 +- modules/production_work/tryton.cfg | 2 +- modules/production_work_timesheet/tryton.cfg | 2 +- modules/project/tryton.cfg | 2 +- modules/project_invoice/tryton.cfg | 2 +- modules/project_plan/tryton.cfg | 2 +- modules/project_revenue/tryton.cfg | 2 +- modules/purchase/tryton.cfg | 2 +- modules/purchase_amendment/tryton.cfg | 2 +- modules/purchase_blanket_agreement/tryton.cfg | 2 +- modules/purchase_history/tryton.cfg | 2 +- modules/purchase_invoice_line_standalone/tryton.cfg | 2 +- modules/purchase_price_list/tryton.cfg | 2 +- modules/purchase_product_quantity/tryton.cfg | 2 +- modules/purchase_request/tryton.cfg | 2 +- modules/purchase_request_quotation/tryton.cfg | 2 +- modules/purchase_requisition/tryton.cfg | 2 +- modules/purchase_secondary_unit/tryton.cfg | 2 +- modules/purchase_shipment_cost/tryton.cfg | 2 +- modules/quality/tryton.cfg | 2 +- modules/sale/tryton.cfg | 2 +- modules/sale_advance_payment/tryton.cfg | 2 +- modules/sale_amendment/tryton.cfg | 2 +- modules/sale_blanket_agreement/tryton.cfg | 2 +- modules/sale_complaint/tryton.cfg | 2 +- modules/sale_credit_limit/tryton.cfg | 2 +- modules/sale_discount/tryton.cfg | 2 +- modules/sale_extra/tryton.cfg | 2 +- modules/sale_gift_card/tryton.cfg | 2 +- modules/sale_history/tryton.cfg | 2 +- modules/sale_invoice_date/tryton.cfg | 2 +- modules/sale_invoice_grouping/tryton.cfg | 2 +- modules/sale_opportunity/tryton.cfg | 2 +- modules/sale_payment/tryton.cfg | 2 +- modules/sale_point/tryton.cfg | 2 +- modules/sale_price_list/tryton.cfg | 2 +- modules/sale_product_customer/tryton.cfg | 2 +- modules/sale_product_quantity/tryton.cfg | 2 +- modules/sale_product_recommendation/tryton.cfg | 2 +- modules/sale_product_recommendation_association_rule/tryton.cfg | 2 +- modules/sale_promotion/tryton.cfg | 2 +- modules/sale_promotion_coupon/tryton.cfg | 2 +- modules/sale_promotion_coupon_payment/tryton.cfg | 2 +- modules/sale_secondary_unit/tryton.cfg | 2 +- modules/sale_shipment_cost/tryton.cfg | 2 +- modules/sale_shipment_grouping/tryton.cfg | 2 +- modules/sale_shipment_tolerance/tryton.cfg | 2 +- modules/sale_stock_quantity/tryton.cfg | 2 +- modules/sale_subscription/tryton.cfg | 2 +- modules/sale_subscription_asset/tryton.cfg | 2 +- modules/sale_supply/tryton.cfg | 2 +- modules/sale_supply_drop_shipment/tryton.cfg | 2 +- modules/sale_supply_production/tryton.cfg | 2 +- modules/stock/tryton.cfg | 2 +- modules/stock_assign_manual/tryton.cfg | 2 +- modules/stock_consignment/tryton.cfg | 2 +- modules/stock_forecast/tryton.cfg | 2 +- modules/stock_inventory_location/tryton.cfg | 2 +- modules/stock_location_move/tryton.cfg | 2 +- modules/stock_location_sequence/tryton.cfg | 2 +- modules/stock_lot/tryton.cfg | 2 +- modules/stock_lot_sled/tryton.cfg | 2 +- modules/stock_lot_unit/tryton.cfg | 2 +- modules/stock_package/tryton.cfg | 2 +- modules/stock_package_shipping/tryton.cfg | 2 +- modules/stock_package_shipping_dpd/tryton.cfg | 2 +- modules/stock_package_shipping_mygls/tryton.cfg | 2 +- modules/stock_package_shipping_sendcloud/tryton.cfg | 2 +- modules/stock_package_shipping_ups/tryton.cfg | 2 +- modules/stock_product_location/tryton.cfg | 2 +- modules/stock_quantity_early_planning/tryton.cfg | 2 +- modules/stock_quantity_issue/tryton.cfg | 2 +- modules/stock_secondary_unit/tryton.cfg | 2 +- modules/stock_shipment_cost/tryton.cfg | 2 +- modules/stock_shipment_cost_weight/tryton.cfg | 2 +- modules/stock_shipment_measurements/tryton.cfg | 2 +- modules/stock_split/tryton.cfg | 2 +- modules/stock_supply/tryton.cfg | 2 +- modules/stock_supply_day/tryton.cfg | 2 +- modules/stock_supply_forecast/tryton.cfg | 2 +- modules/stock_supply_production/tryton.cfg | 2 +- modules/timesheet/tryton.cfg | 2 +- modules/timesheet_cost/tryton.cfg | 2 +- modules/user_role/tryton.cfg | 2 +- modules/web_shop/tryton.cfg | 2 +- modules/web_shop_shopify/tryton.cfg | 2 +- modules/web_shop_vue_storefront/tryton.cfg | 2 +- modules/web_shop_vue_storefront_stripe/tryton.cfg | 2 +- modules/web_shortener/tryton.cfg | 2 +- modules/web_user/tryton.cfg | 2 +- proteus/proteus/__init__.py | 2 +- sao/package.json | 2 +- tryton/tryton/__init__.py | 2 +- trytond-gis/trytond_gis/__init__.py | 2 +- trytond/trytond/__init__.py | 2 +- 203 files changed, 203 insertions(+), 203 deletions(-) diff --git a/modules/account/tryton.cfg b/modules/account/tryton.cfg index aeb713e51c0..cb4b53bc4a1 100644 --- a/modules/account/tryton.cfg +++ b/modules/account/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company currency diff --git a/modules/account_asset/tryton.cfg b/modules/account_asset/tryton.cfg index 810c50ee6ee..e105f014124 100644 --- a/modules/account_asset/tryton.cfg +++ b/modules/account_asset/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/account_be/tryton.cfg b/modules/account_be/tryton.cfg index a51b5ec88f0..2fa93574dd6 100644 --- a/modules/account_be/tryton.cfg +++ b/modules/account_be/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_eu diff --git a/modules/account_budget/tryton.cfg b/modules/account_budget/tryton.cfg index 9894b75d53e..8a35c53672d 100644 --- a/modules/account_budget/tryton.cfg +++ b/modules/account_budget/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/account_cash_rounding/tryton.cfg b/modules/account_cash_rounding/tryton.cfg index ae6bd8cce90..2c6cbf7796d 100644 --- a/modules/account_cash_rounding/tryton.cfg +++ b/modules/account_cash_rounding/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account currency diff --git a/modules/account_consolidation/tryton.cfg b/modules/account_consolidation/tryton.cfg index db3221f7202..cd77707e193 100644 --- a/modules/account_consolidation/tryton.cfg +++ b/modules/account_consolidation/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/account_credit_limit/tryton.cfg b/modules/account_credit_limit/tryton.cfg index 434a578ac95..e16280cc92d 100644 --- a/modules/account_credit_limit/tryton.cfg +++ b/modules/account_credit_limit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/account_de_skr03/tryton.cfg b/modules/account_de_skr03/tryton.cfg index 9b3be1b0196..b82003eb024 100644 --- a/modules/account_de_skr03/tryton.cfg +++ b/modules/account_de_skr03/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account xml: diff --git a/modules/account_deposit/tryton.cfg b/modules/account_deposit/tryton.cfg index 7b60efb9c52..dd7a84346ad 100644 --- a/modules/account_deposit/tryton.cfg +++ b/modules/account_deposit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_dunning/tryton.cfg b/modules/account_dunning/tryton.cfg index 1f95659b197..6af2975e2d8 100644 --- a/modules/account_dunning/tryton.cfg +++ b/modules/account_dunning/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/account_dunning_email/tryton.cfg b/modules/account_dunning_email/tryton.cfg index 9ab94f2fc64..508c5218508 100644 --- a/modules/account_dunning_email/tryton.cfg +++ b/modules/account_dunning_email/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_dunning account_dunning_letter diff --git a/modules/account_dunning_fee/tryton.cfg b/modules/account_dunning_fee/tryton.cfg index 50debf049ee..53d51724deb 100644 --- a/modules/account_dunning_fee/tryton.cfg +++ b/modules/account_dunning_fee/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_dunning account_product diff --git a/modules/account_dunning_letter/tryton.cfg b/modules/account_dunning_letter/tryton.cfg index 538c089b42d..02076dad805 100644 --- a/modules/account_dunning_letter/tryton.cfg +++ b/modules/account_dunning_letter/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_dunning diff --git a/modules/account_es/tryton.cfg b/modules/account_es/tryton.cfg index 1e24b3080a4..908094d95bb 100644 --- a/modules/account_es/tryton.cfg +++ b/modules/account_es/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company currency diff --git a/modules/account_es_sii/tryton.cfg b/modules/account_es_sii/tryton.cfg index ede4be36c05..27f728421a2 100644 --- a/modules/account_es_sii/tryton.cfg +++ b/modules/account_es_sii/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_es diff --git a/modules/account_eu/tryton.cfg b/modules/account_eu/tryton.cfg index 94f98cdeb16..34bee65c8b1 100644 --- a/modules/account_eu/tryton.cfg +++ b/modules/account_eu/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_fr/tryton.cfg b/modules/account_fr/tryton.cfg index 7b62d690f42..fd9bddd7d88 100644 --- a/modules/account_fr/tryton.cfg +++ b/modules/account_fr/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account party_siret diff --git a/modules/account_fr_chorus/tryton.cfg b/modules/account_fr_chorus/tryton.cfg index a9386024109..cd24432f1f6 100644 --- a/modules/account_fr_chorus/tryton.cfg +++ b/modules/account_fr_chorus/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_invoice/tryton.cfg b/modules/account_invoice/tryton.cfg index 98a8590df61..5e368b8bb7b 100644 --- a/modules/account_invoice/tryton.cfg +++ b/modules/account_invoice/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_product diff --git a/modules/account_invoice_correction/tryton.cfg b/modules/account_invoice_correction/tryton.cfg index db693d164b5..8cb240bca58 100644 --- a/modules/account_invoice_correction/tryton.cfg +++ b/modules/account_invoice_correction/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir account_invoice diff --git a/modules/account_invoice_defer/tryton.cfg b/modules/account_invoice_defer/tryton.cfg index b7b32cff205..57dedf5244e 100644 --- a/modules/account_invoice_defer/tryton.cfg +++ b/modules/account_invoice_defer/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_invoice_history/tryton.cfg b/modules/account_invoice_history/tryton.cfg index ebce2ce9129..8777d8a2f0f 100644 --- a/modules/account_invoice_history/tryton.cfg +++ b/modules/account_invoice_history/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice party diff --git a/modules/account_invoice_line_standalone/tryton.cfg b/modules/account_invoice_line_standalone/tryton.cfg index 2adcd407e60..f6813420c1d 100644 --- a/modules/account_invoice_line_standalone/tryton.cfg +++ b/modules/account_invoice_line_standalone/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice ir diff --git a/modules/account_invoice_secondary_unit/tryton.cfg b/modules/account_invoice_secondary_unit/tryton.cfg index 6228e4f4f0c..04223609d4d 100644 --- a/modules/account_invoice_secondary_unit/tryton.cfg +++ b/modules/account_invoice_secondary_unit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice ir diff --git a/modules/account_invoice_stock/tryton.cfg b/modules/account_invoice_stock/tryton.cfg index e19d3b11616..91b4e08772b 100644 --- a/modules/account_invoice_stock/tryton.cfg +++ b/modules/account_invoice_stock/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice stock diff --git a/modules/account_invoice_watermark/tryton.cfg b/modules/account_invoice_watermark/tryton.cfg index bf36e21bfda..74bb11e905b 100644 --- a/modules/account_invoice_watermark/tryton.cfg +++ b/modules/account_invoice_watermark/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice ir diff --git a/modules/account_move_line_grouping/tryton.cfg b/modules/account_move_line_grouping/tryton.cfg index 0659c897b9f..4195b3bfd43 100644 --- a/modules/account_move_line_grouping/tryton.cfg +++ b/modules/account_move_line_grouping/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account ir diff --git a/modules/account_payment/tryton.cfg b/modules/account_payment/tryton.cfg index fa7019e4a20..070525a3d27 100644 --- a/modules/account_payment/tryton.cfg +++ b/modules/account_payment/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/account_payment_braintree/tryton.cfg b/modules/account_payment_braintree/tryton.cfg index a47139b86d0..e7c96446760 100644 --- a/modules/account_payment_braintree/tryton.cfg +++ b/modules/account_payment_braintree/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_payment diff --git a/modules/account_payment_clearing/tryton.cfg b/modules/account_payment_clearing/tryton.cfg index a7fcc54c4b3..9e4deb2c983 100644 --- a/modules/account_payment_clearing/tryton.cfg +++ b/modules/account_payment_clearing/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_payment ir diff --git a/modules/account_payment_sepa/tryton.cfg b/modules/account_payment_sepa/tryton.cfg index 7f5619db51f..035d0ae95ff 100644 --- a/modules/account_payment_sepa/tryton.cfg +++ b/modules/account_payment_sepa/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_payment company diff --git a/modules/account_payment_sepa_cfonb/tryton.cfg b/modules/account_payment_sepa_cfonb/tryton.cfg index 38da97e7632..935d486c551 100644 --- a/modules/account_payment_sepa_cfonb/tryton.cfg +++ b/modules/account_payment_sepa_cfonb/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_payment account_payment_sepa diff --git a/modules/account_payment_stripe/tryton.cfg b/modules/account_payment_stripe/tryton.cfg index 0c885160430..a40b97f1533 100644 --- a/modules/account_payment_stripe/tryton.cfg +++ b/modules/account_payment_stripe/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_payment diff --git a/modules/account_product/tryton.cfg b/modules/account_product/tryton.cfg index bac4425bb91..7adc9098fc4 100644 --- a/modules/account_product/tryton.cfg +++ b/modules/account_product/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/account_receivable_rule/tryton.cfg b/modules/account_receivable_rule/tryton.cfg index 117a47d03a2..0a685bf6f13 100644 --- a/modules/account_receivable_rule/tryton.cfg +++ b/modules/account_receivable_rule/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/account_rule/tryton.cfg b/modules/account_rule/tryton.cfg index 8a76904df9c..8ee7efcf602 100644 --- a/modules/account_rule/tryton.cfg +++ b/modules/account_rule/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/account_statement/tryton.cfg b/modules/account_statement/tryton.cfg index e35e9a0df80..c022dbb0bf3 100644 --- a/modules/account_statement/tryton.cfg +++ b/modules/account_statement/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_statement_aeb43/tryton.cfg b/modules/account_statement_aeb43/tryton.cfg index 9a7cd3da5a9..6d16c1d8f84 100644 --- a/modules/account_statement_aeb43/tryton.cfg +++ b/modules/account_statement_aeb43/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_statement bank diff --git a/modules/account_statement_coda/tryton.cfg b/modules/account_statement_coda/tryton.cfg index 30d0f15fb6e..8ab7474db0e 100644 --- a/modules/account_statement_coda/tryton.cfg +++ b/modules/account_statement_coda/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_statement bank diff --git a/modules/account_statement_mt940/tryton.cfg b/modules/account_statement_mt940/tryton.cfg index 30d0f15fb6e..8ab7474db0e 100644 --- a/modules/account_statement_mt940/tryton.cfg +++ b/modules/account_statement_mt940/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_statement bank diff --git a/modules/account_statement_ofx/tryton.cfg b/modules/account_statement_ofx/tryton.cfg index 3171a28898b..a499725299d 100644 --- a/modules/account_statement_ofx/tryton.cfg +++ b/modules/account_statement_ofx/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_statement bank diff --git a/modules/account_statement_rule/tryton.cfg b/modules/account_statement_rule/tryton.cfg index 60f5dbd0b30..d5a066e996b 100644 --- a/modules/account_statement_rule/tryton.cfg +++ b/modules/account_statement_rule/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_statement_sepa/tryton.cfg b/modules/account_statement_sepa/tryton.cfg index 30d0f15fb6e..8ab7474db0e 100644 --- a/modules/account_statement_sepa/tryton.cfg +++ b/modules/account_statement_sepa/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_statement bank diff --git a/modules/account_stock_anglo_saxon/tryton.cfg b/modules/account_stock_anglo_saxon/tryton.cfg index 97dd06c1fed..de8255ba13d 100644 --- a/modules/account_stock_anglo_saxon/tryton.cfg +++ b/modules/account_stock_anglo_saxon/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_stock_continental/tryton.cfg b/modules/account_stock_continental/tryton.cfg index 66fd752404f..28c665aee7f 100644 --- a/modules/account_stock_continental/tryton.cfg +++ b/modules/account_stock_continental/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_product diff --git a/modules/account_stock_eu/tryton.cfg b/modules/account_stock_eu/tryton.cfg index 0d411b34ef6..9f3120a58f7 100644 --- a/modules/account_stock_eu/tryton.cfg +++ b/modules/account_stock_eu/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/account_stock_landed_cost/tryton.cfg b/modules/account_stock_landed_cost/tryton.cfg index b70f0acab9a..fa2fffeded2 100644 --- a/modules/account_stock_landed_cost/tryton.cfg +++ b/modules/account_stock_landed_cost/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_stock_landed_cost_weight/tryton.cfg b/modules/account_stock_landed_cost_weight/tryton.cfg index 0899aa60a85..801daac0db4 100644 --- a/modules/account_stock_landed_cost_weight/tryton.cfg +++ b/modules/account_stock_landed_cost_weight/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_stock_landed_cost ir diff --git a/modules/account_stock_shipment_cost/tryton.cfg b/modules/account_stock_shipment_cost/tryton.cfg index 531cba80171..06442142f82 100644 --- a/modules/account_stock_shipment_cost/tryton.cfg +++ b/modules/account_stock_shipment_cost/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_stock_shipment_cost_weight/tryton.cfg b/modules/account_stock_shipment_cost_weight/tryton.cfg index e37fb7b4b8b..6d40ef10af4 100644 --- a/modules/account_stock_shipment_cost_weight/tryton.cfg +++ b/modules/account_stock_shipment_cost_weight/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_stock_shipment_cost ir diff --git a/modules/account_tax_cash/tryton.cfg b/modules/account_tax_cash/tryton.cfg index c4d224cbf0e..3c8bfd1fb72 100644 --- a/modules/account_tax_cash/tryton.cfg +++ b/modules/account_tax_cash/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_tax_non_deductible/tryton.cfg b/modules/account_tax_non_deductible/tryton.cfg index c7817dcf320..81ff5e997e0 100644 --- a/modules/account_tax_non_deductible/tryton.cfg +++ b/modules/account_tax_non_deductible/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/account_tax_rule_country/tryton.cfg b/modules/account_tax_rule_country/tryton.cfg index cadfcc76d87..a116d7d4763 100644 --- a/modules/account_tax_rule_country/tryton.cfg +++ b/modules/account_tax_rule_country/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account country diff --git a/modules/analytic_account/tryton.cfg b/modules/analytic_account/tryton.cfg index fd13f40ae67..e38a8f3ed1c 100644 --- a/modules/analytic_account/tryton.cfg +++ b/modules/analytic_account/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/analytic_budget/tryton.cfg b/modules/analytic_budget/tryton.cfg index a5f87bde87a..437be99e45e 100644 --- a/modules/analytic_budget/tryton.cfg +++ b/modules/analytic_budget/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_budget analytic_account diff --git a/modules/analytic_invoice/tryton.cfg b/modules/analytic_invoice/tryton.cfg index 2146dfde016..ecb1275a710 100644 --- a/modules/analytic_invoice/tryton.cfg +++ b/modules/analytic_invoice/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice analytic_account diff --git a/modules/analytic_purchase/tryton.cfg b/modules/analytic_purchase/tryton.cfg index 98ca14f2ec5..db028b8de5d 100644 --- a/modules/analytic_purchase/tryton.cfg +++ b/modules/analytic_purchase/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: analytic_account analytic_invoice diff --git a/modules/analytic_sale/tryton.cfg b/modules/analytic_sale/tryton.cfg index 32df051f5eb..63c96b553a5 100644 --- a/modules/analytic_sale/tryton.cfg +++ b/modules/analytic_sale/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: analytic_account analytic_invoice diff --git a/modules/attendance/tryton.cfg b/modules/attendance/tryton.cfg index 7e50716e5c9..d086760445d 100644 --- a/modules/attendance/tryton.cfg +++ b/modules/attendance/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir company diff --git a/modules/authentication_saml/tryton.cfg b/modules/authentication_saml/tryton.cfg index f6aeab7cabd..0ddb7e2bfe8 100644 --- a/modules/authentication_saml/tryton.cfg +++ b/modules/authentication_saml/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir xml: diff --git a/modules/authentication_sms/tryton.cfg b/modules/authentication_sms/tryton.cfg index dbdc27441f3..7d3740a53f5 100644 --- a/modules/authentication_sms/tryton.cfg +++ b/modules/authentication_sms/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/bank/tryton.cfg b/modules/bank/tryton.cfg index 15ef66f732f..6bca9e35a1d 100644 --- a/modules/bank/tryton.cfg +++ b/modules/bank/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir party diff --git a/modules/carrier/tryton.cfg b/modules/carrier/tryton.cfg index 8c9c2b6b7fd..8622eef5520 100644 --- a/modules/carrier/tryton.cfg +++ b/modules/carrier/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: country ir diff --git a/modules/carrier_carriage/tryton.cfg b/modules/carrier_carriage/tryton.cfg index c5cb3b0fff4..4fb6c25167c 100644 --- a/modules/carrier_carriage/tryton.cfg +++ b/modules/carrier_carriage/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: carrier ir diff --git a/modules/carrier_percentage/tryton.cfg b/modules/carrier_percentage/tryton.cfg index 315e569d594..a5c833dba46 100644 --- a/modules/carrier_percentage/tryton.cfg +++ b/modules/carrier_percentage/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: carrier currency diff --git a/modules/carrier_subdivision/tryton.cfg b/modules/carrier_subdivision/tryton.cfg index 7d9e510e03f..0658ea08dd9 100644 --- a/modules/carrier_subdivision/tryton.cfg +++ b/modules/carrier_subdivision/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir carrier diff --git a/modules/carrier_weight/tryton.cfg b/modules/carrier_weight/tryton.cfg index fa5c87ab5f3..e86d7404eef 100644 --- a/modules/carrier_weight/tryton.cfg +++ b/modules/carrier_weight/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: carrier company diff --git a/modules/commission/tryton.cfg b/modules/commission/tryton.cfg index fd822893acf..bdb00fd5229 100644 --- a/modules/commission/tryton.cfg +++ b/modules/commission/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/commission_waiting/tryton.cfg b/modules/commission_waiting/tryton.cfg index 4baa2b41f0a..31475584d4a 100644 --- a/modules/commission_waiting/tryton.cfg +++ b/modules/commission_waiting/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/company/tryton.cfg b/modules/company/tryton.cfg index bd82b78e09c..74fc6d98236 100644 --- a/modules/company/tryton.cfg +++ b/modules/company/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: currency ir diff --git a/modules/company_work_time/tryton.cfg b/modules/company_work_time/tryton.cfg index 2b1768ab953..7be6583f727 100644 --- a/modules/company_work_time/tryton.cfg +++ b/modules/company_work_time/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/country/tryton.cfg b/modules/country/tryton.cfg index 920d009b4f6..25621dfea06 100644 --- a/modules/country/tryton.cfg +++ b/modules/country/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/currency/tryton.cfg b/modules/currency/tryton.cfg index 60b7454eab1..d0cdac9a1e7 100644 --- a/modules/currency/tryton.cfg +++ b/modules/currency/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/currency_ro/tryton.cfg b/modules/currency_ro/tryton.cfg index af97d253b5f..a2e083df03b 100644 --- a/modules/currency_ro/tryton.cfg +++ b/modules/currency_ro/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: currency ir diff --git a/modules/currency_rs/tryton.cfg b/modules/currency_rs/tryton.cfg index e000149183a..1198f918afa 100644 --- a/modules/currency_rs/tryton.cfg +++ b/modules/currency_rs/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: currency ir diff --git a/modules/customs/tryton.cfg b/modules/customs/tryton.cfg index 96e03d71f4f..b9e0f7267e6 100644 --- a/modules/customs/tryton.cfg +++ b/modules/customs/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: country currency diff --git a/modules/dashboard/tryton.cfg b/modules/dashboard/tryton.cfg index 5e44f5e8389..c4ad0c16478 100644 --- a/modules/dashboard/tryton.cfg +++ b/modules/dashboard/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/edocument_uncefact/tryton.cfg b/modules/edocument_uncefact/tryton.cfg index 549cdd3aee0..94a2b3ba3f5 100644 --- a/modules/edocument_uncefact/tryton.cfg +++ b/modules/edocument_uncefact/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir edocument_unece diff --git a/modules/edocument_unece/tryton.cfg b/modules/edocument_unece/tryton.cfg index 9a3b9269e2a..6003fe248a0 100644 --- a/modules/edocument_unece/tryton.cfg +++ b/modules/edocument_unece/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/google_maps/tryton.cfg b/modules/google_maps/tryton.cfg index 346d2863b7e..a3950d597fc 100644 --- a/modules/google_maps/tryton.cfg +++ b/modules/google_maps/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir party diff --git a/modules/incoterm/tryton.cfg b/modules/incoterm/tryton.cfg index 13794747b4b..1c4b21e3cef 100644 --- a/modules/incoterm/tryton.cfg +++ b/modules/incoterm/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/ldap_authentication/tryton.cfg b/modules/ldap_authentication/tryton.cfg index 1a9ae3f2568..c57df137407 100644 --- a/modules/ldap_authentication/tryton.cfg +++ b/modules/ldap_authentication/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/marketing/tryton.cfg b/modules/marketing/tryton.cfg index cf77737eddc..6fa6430e06a 100644 --- a/modules/marketing/tryton.cfg +++ b/modules/marketing/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/marketing_automation/tryton.cfg b/modules/marketing_automation/tryton.cfg index f39bc9eb060..4f45e2edf4d 100644 --- a/modules/marketing_automation/tryton.cfg +++ b/modules/marketing_automation/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir marketing diff --git a/modules/marketing_campaign/tryton.cfg b/modules/marketing_campaign/tryton.cfg index 2bde8773e9e..4bdd03c7f43 100644 --- a/modules/marketing_campaign/tryton.cfg +++ b/modules/marketing_campaign/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir marketing diff --git a/modules/marketing_email/tryton.cfg b/modules/marketing_email/tryton.cfg index c4cb67de989..d680f3c8498 100644 --- a/modules/marketing_email/tryton.cfg +++ b/modules/marketing_email/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir marketing diff --git a/modules/notification_email/tryton.cfg b/modules/notification_email/tryton.cfg index 259d39625b5..f27d69a0c8c 100644 --- a/modules/notification_email/tryton.cfg +++ b/modules/notification_email/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/party/tryton.cfg b/modules/party/tryton.cfg index d701285f3e2..2d20da792ec 100644 --- a/modules/party/tryton.cfg +++ b/modules/party/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: country ir diff --git a/modules/party_avatar/tryton.cfg b/modules/party_avatar/tryton.cfg index aa8a5fd6c00..ad43e26ba97 100644 --- a/modules/party_avatar/tryton.cfg +++ b/modules/party_avatar/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir party diff --git a/modules/party_relationship/tryton.cfg b/modules/party_relationship/tryton.cfg index b5834dbac35..9d32d95fad0 100644 --- a/modules/party_relationship/tryton.cfg +++ b/modules/party_relationship/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: party xml: diff --git a/modules/party_siret/tryton.cfg b/modules/party_siret/tryton.cfg index 06535d4f347..47a49abf74f 100644 --- a/modules/party_siret/tryton.cfg +++ b/modules/party_siret/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir party diff --git a/modules/product/tryton.cfg b/modules/product/tryton.cfg index a4eaddfa609..516007ff903 100644 --- a/modules/product/tryton.cfg +++ b/modules/product/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/product_attribute/tryton.cfg b/modules/product_attribute/tryton.cfg index e3772015624..dbba3d10ebb 100644 --- a/modules/product_attribute/tryton.cfg +++ b/modules/product_attribute/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/product_classification/tryton.cfg b/modules/product_classification/tryton.cfg index 31131f09ab0..d8510855b52 100644 --- a/modules/product_classification/tryton.cfg +++ b/modules/product_classification/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/product_classification_taxonomic/tryton.cfg b/modules/product_classification_taxonomic/tryton.cfg index 1e4ff3c51d4..0552d37fb50 100644 --- a/modules/product_classification_taxonomic/tryton.cfg +++ b/modules/product_classification_taxonomic/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product_classification diff --git a/modules/product_cost_fifo/tryton.cfg b/modules/product_cost_fifo/tryton.cfg index 3de9972797c..2a35deea709 100644 --- a/modules/product_cost_fifo/tryton.cfg +++ b/modules/product_cost_fifo/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/product_cost_history/tryton.cfg b/modules/product_cost_history/tryton.cfg index da6669ebb49..aac9650580b 100644 --- a/modules/product_cost_history/tryton.cfg +++ b/modules/product_cost_history/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/product_cost_warehouse/tryton.cfg b/modules/product_cost_warehouse/tryton.cfg index cbd013ef558..64e0d7b8783 100644 --- a/modules/product_cost_warehouse/tryton.cfg +++ b/modules/product_cost_warehouse/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/product_image/tryton.cfg b/modules/product_image/tryton.cfg index e3772015624..dbba3d10ebb 100644 --- a/modules/product_image/tryton.cfg +++ b/modules/product_image/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/product_image_attribute/tryton.cfg b/modules/product_image_attribute/tryton.cfg index cd6d42cf609..3dfa0038e59 100644 --- a/modules/product_image_attribute/tryton.cfg +++ b/modules/product_image_attribute/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/product_kit/tryton.cfg b/modules/product_kit/tryton.cfg index 5acf94bbfd1..f78e6829596 100644 --- a/modules/product_kit/tryton.cfg +++ b/modules/product_kit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/product_measurements/tryton.cfg b/modules/product_measurements/tryton.cfg index ac45ec5c9a4..eb2579fc9f2 100644 --- a/modules/product_measurements/tryton.cfg +++ b/modules/product_measurements/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/product_price_list/tryton.cfg b/modules/product_price_list/tryton.cfg index b7d8c6c714d..61cfcbc642b 100644 --- a/modules/product_price_list/tryton.cfg +++ b/modules/product_price_list/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/product_price_list_dates/tryton.cfg b/modules/product_price_list_dates/tryton.cfg index 2d7be1963da..55bc05d32f0 100644 --- a/modules/product_price_list_dates/tryton.cfg +++ b/modules/product_price_list_dates/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product_price_list diff --git a/modules/product_price_list_parent/tryton.cfg b/modules/product_price_list_parent/tryton.cfg index 7fbf0cbe445..7b0bc6e59d3 100644 --- a/modules/product_price_list_parent/tryton.cfg +++ b/modules/product_price_list_parent/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product_price_list diff --git a/modules/production/tryton.cfg b/modules/production/tryton.cfg index 76a1060f257..0d288bd7def 100644 --- a/modules/production/tryton.cfg +++ b/modules/production/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/production_outsourcing/tryton.cfg b/modules/production_outsourcing/tryton.cfg index 5f6ab94de4f..e1b487d685f 100644 --- a/modules/production_outsourcing/tryton.cfg +++ b/modules/production_outsourcing/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/production_routing/tryton.cfg b/modules/production_routing/tryton.cfg index 01f640fa5da..e4cc5c865e8 100644 --- a/modules/production_routing/tryton.cfg +++ b/modules/production_routing/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir production diff --git a/modules/production_split/tryton.cfg b/modules/production_split/tryton.cfg index 521fa6b2911..ccc7928a172 100644 --- a/modules/production_split/tryton.cfg +++ b/modules/production_split/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir production diff --git a/modules/production_work/tryton.cfg b/modules/production_work/tryton.cfg index 3b09079fa12..f7de988bf0d 100644 --- a/modules/production_work/tryton.cfg +++ b/modules/production_work/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/production_work_timesheet/tryton.cfg b/modules/production_work_timesheet/tryton.cfg index f9718b8fce6..226db437eda 100644 --- a/modules/production_work_timesheet/tryton.cfg +++ b/modules/production_work_timesheet/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir production_routing diff --git a/modules/project/tryton.cfg b/modules/project/tryton.cfg index 9758ca67c72..ef728e49c9a 100644 --- a/modules/project/tryton.cfg +++ b/modules/project/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company company_work_time diff --git a/modules/project_invoice/tryton.cfg b/modules/project_invoice/tryton.cfg index 912c45f7815..5a51466c6c6 100644 --- a/modules/project_invoice/tryton.cfg +++ b/modules/project_invoice/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: currency ir diff --git a/modules/project_plan/tryton.cfg b/modules/project_plan/tryton.cfg index 746f416132a..975cf4170a8 100644 --- a/modules/project_plan/tryton.cfg +++ b/modules/project_plan/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir company diff --git a/modules/project_revenue/tryton.cfg b/modules/project_revenue/tryton.cfg index 9ac9a219893..9f7f42e0e40 100644 --- a/modules/project_revenue/tryton.cfg +++ b/modules/project_revenue/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir project diff --git a/modules/purchase/tryton.cfg b/modules/purchase/tryton.cfg index 01c447b3e3f..cffb1e3909e 100644 --- a/modules/purchase/tryton.cfg +++ b/modules/purchase/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/purchase_amendment/tryton.cfg b/modules/purchase_amendment/tryton.cfg index 762c23c9825..00398fa7556 100644 --- a/modules/purchase_amendment/tryton.cfg +++ b/modules/purchase_amendment/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice ir diff --git a/modules/purchase_blanket_agreement/tryton.cfg b/modules/purchase_blanket_agreement/tryton.cfg index 88d3a7332a4..cb377355308 100644 --- a/modules/purchase_blanket_agreement/tryton.cfg +++ b/modules/purchase_blanket_agreement/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir company diff --git a/modules/purchase_history/tryton.cfg b/modules/purchase_history/tryton.cfg index f6baeb57d13..783ccc0a1a1 100644 --- a/modules/purchase_history/tryton.cfg +++ b/modules/purchase_history/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir purchase diff --git a/modules/purchase_invoice_line_standalone/tryton.cfg b/modules/purchase_invoice_line_standalone/tryton.cfg index b2c55946d81..ae5b79352e5 100644 --- a/modules/purchase_invoice_line_standalone/tryton.cfg +++ b/modules/purchase_invoice_line_standalone/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice_line_standalone ir diff --git a/modules/purchase_price_list/tryton.cfg b/modules/purchase_price_list/tryton.cfg index 00b62afb6f8..16d43502711 100644 --- a/modules/purchase_price_list/tryton.cfg +++ b/modules/purchase_price_list/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/purchase_product_quantity/tryton.cfg b/modules/purchase_product_quantity/tryton.cfg index 3b8b4b7cbc8..b4664070a38 100644 --- a/modules/purchase_product_quantity/tryton.cfg +++ b/modules/purchase_product_quantity/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/purchase_request/tryton.cfg b/modules/purchase_request/tryton.cfg index 66a6d60bfe2..4e047e11bd3 100644 --- a/modules/purchase_request/tryton.cfg +++ b/modules/purchase_request/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir purchase diff --git a/modules/purchase_request_quotation/tryton.cfg b/modules/purchase_request_quotation/tryton.cfg index 6896bab123a..e3d193889cd 100644 --- a/modules/purchase_request_quotation/tryton.cfg +++ b/modules/purchase_request_quotation/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir company diff --git a/modules/purchase_requisition/tryton.cfg b/modules/purchase_requisition/tryton.cfg index 8f3fe4275e2..2fc3360bfb2 100644 --- a/modules/purchase_requisition/tryton.cfg +++ b/modules/purchase_requisition/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company currency diff --git a/modules/purchase_secondary_unit/tryton.cfg b/modules/purchase_secondary_unit/tryton.cfg index 01b12f4b72f..f655808c997 100644 --- a/modules/purchase_secondary_unit/tryton.cfg +++ b/modules/purchase_secondary_unit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice ir diff --git a/modules/purchase_shipment_cost/tryton.cfg b/modules/purchase_shipment_cost/tryton.cfg index 32eedaa2aa0..12b4c0dc04e 100644 --- a/modules/purchase_shipment_cost/tryton.cfg +++ b/modules/purchase_shipment_cost/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: carrier currency diff --git a/modules/quality/tryton.cfg b/modules/quality/tryton.cfg index 517f59a3034..e75e2fd80c1 100644 --- a/modules/quality/tryton.cfg +++ b/modules/quality/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/sale/tryton.cfg b/modules/sale/tryton.cfg index aa6e15986e0..88bbf0960b8 100644 --- a/modules/sale/tryton.cfg +++ b/modules/sale/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/sale_advance_payment/tryton.cfg b/modules/sale_advance_payment/tryton.cfg index 6cd3dd0b6e1..614816fede2 100644 --- a/modules/sale_advance_payment/tryton.cfg +++ b/modules/sale_advance_payment/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/sale_amendment/tryton.cfg b/modules/sale_amendment/tryton.cfg index 5c8b765d726..f3ff71cefa7 100644 --- a/modules/sale_amendment/tryton.cfg +++ b/modules/sale_amendment/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice ir diff --git a/modules/sale_blanket_agreement/tryton.cfg b/modules/sale_blanket_agreement/tryton.cfg index 37712f9022e..e3b62b40f70 100644 --- a/modules/sale_blanket_agreement/tryton.cfg +++ b/modules/sale_blanket_agreement/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir company diff --git a/modules/sale_complaint/tryton.cfg b/modules/sale_complaint/tryton.cfg index 56a642c1c4e..5474ad9bb24 100644 --- a/modules/sale_complaint/tryton.cfg +++ b/modules/sale_complaint/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice company diff --git a/modules/sale_credit_limit/tryton.cfg b/modules/sale_credit_limit/tryton.cfg index a3e83f1b5f7..3f2f5164332 100644 --- a/modules/sale_credit_limit/tryton.cfg +++ b/modules/sale_credit_limit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir account_credit_limit diff --git a/modules/sale_discount/tryton.cfg b/modules/sale_discount/tryton.cfg index 21d53da38fe..433d01a51ae 100644 --- a/modules/sale_discount/tryton.cfg +++ b/modules/sale_discount/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/sale_extra/tryton.cfg b/modules/sale_extra/tryton.cfg index d33aa87a10c..a603df5171f 100644 --- a/modules/sale_extra/tryton.cfg +++ b/modules/sale_extra/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/sale_gift_card/tryton.cfg b/modules/sale_gift_card/tryton.cfg index 9571432b6d8..e9c8a8e5ab9 100644 --- a/modules/sale_gift_card/tryton.cfg +++ b/modules/sale_gift_card/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/sale_history/tryton.cfg b/modules/sale_history/tryton.cfg index c3184ff17c9..7fc18db8416 100644 --- a/modules/sale_history/tryton.cfg +++ b/modules/sale_history/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir sale diff --git a/modules/sale_invoice_date/tryton.cfg b/modules/sale_invoice_date/tryton.cfg index 523fbeadb4b..80eac9bc28a 100644 --- a/modules/sale_invoice_date/tryton.cfg +++ b/modules/sale_invoice_date/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir sale diff --git a/modules/sale_invoice_grouping/tryton.cfg b/modules/sale_invoice_grouping/tryton.cfg index 92788439f9a..8efae83a897 100644 --- a/modules/sale_invoice_grouping/tryton.cfg +++ b/modules/sale_invoice_grouping/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/sale_opportunity/tryton.cfg b/modules/sale_opportunity/tryton.cfg index 13cdf5f2497..ca639850138 100644 --- a/modules/sale_opportunity/tryton.cfg +++ b/modules/sale_opportunity/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/sale_payment/tryton.cfg b/modules/sale_payment/tryton.cfg index ad2cd244a1b..85a6730d811 100644 --- a/modules/sale_payment/tryton.cfg +++ b/modules/sale_payment/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice account_payment diff --git a/modules/sale_point/tryton.cfg b/modules/sale_point/tryton.cfg index 10917b65311..e6c2fcac47a 100644 --- a/modules/sale_point/tryton.cfg +++ b/modules/sale_point/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_product diff --git a/modules/sale_price_list/tryton.cfg b/modules/sale_price_list/tryton.cfg index e95fd18f64e..57a8bc2ed19 100644 --- a/modules/sale_price_list/tryton.cfg +++ b/modules/sale_price_list/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/sale_product_customer/tryton.cfg b/modules/sale_product_customer/tryton.cfg index ae5ce4883b9..bbd04e32bbb 100644 --- a/modules/sale_product_customer/tryton.cfg +++ b/modules/sale_product_customer/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/sale_product_quantity/tryton.cfg b/modules/sale_product_quantity/tryton.cfg index ea6b91d2c62..98774fa1ce7 100644 --- a/modules/sale_product_quantity/tryton.cfg +++ b/modules/sale_product_quantity/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/sale_product_recommendation/tryton.cfg b/modules/sale_product_recommendation/tryton.cfg index d161aa05c71..6ae6b8e8aee 100644 --- a/modules/sale_product_recommendation/tryton.cfg +++ b/modules/sale_product_recommendation/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/sale_product_recommendation_association_rule/tryton.cfg b/modules/sale_product_recommendation_association_rule/tryton.cfg index c3a2ffd0fe1..6465c6f81bb 100644 --- a/modules/sale_product_recommendation_association_rule/tryton.cfg +++ b/modules/sale_product_recommendation_association_rule/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/sale_promotion/tryton.cfg b/modules/sale_promotion/tryton.cfg index b904c057f56..877d3297c60 100644 --- a/modules/sale_promotion/tryton.cfg +++ b/modules/sale_promotion/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company currency diff --git a/modules/sale_promotion_coupon/tryton.cfg b/modules/sale_promotion_coupon/tryton.cfg index 69e326d18e6..933405d12fa 100644 --- a/modules/sale_promotion_coupon/tryton.cfg +++ b/modules/sale_promotion_coupon/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/sale_promotion_coupon_payment/tryton.cfg b/modules/sale_promotion_coupon_payment/tryton.cfg index 64021887fb3..48935a2b238 100644 --- a/modules/sale_promotion_coupon_payment/tryton.cfg +++ b/modules/sale_promotion_coupon_payment/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_payment ir diff --git a/modules/sale_secondary_unit/tryton.cfg b/modules/sale_secondary_unit/tryton.cfg index dafa3d0167f..d29ca8141e1 100644 --- a/modules/sale_secondary_unit/tryton.cfg +++ b/modules/sale_secondary_unit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice ir diff --git a/modules/sale_shipment_cost/tryton.cfg b/modules/sale_shipment_cost/tryton.cfg index bb35e0f620f..8e6b6e42008 100644 --- a/modules/sale_shipment_cost/tryton.cfg +++ b/modules/sale_shipment_cost/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice carrier diff --git a/modules/sale_shipment_grouping/tryton.cfg b/modules/sale_shipment_grouping/tryton.cfg index 4db3879658e..9ba6f18f686 100644 --- a/modules/sale_shipment_grouping/tryton.cfg +++ b/modules/sale_shipment_grouping/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/sale_shipment_tolerance/tryton.cfg b/modules/sale_shipment_tolerance/tryton.cfg index ebed6dded1b..b92886aa02a 100644 --- a/modules/sale_shipment_tolerance/tryton.cfg +++ b/modules/sale_shipment_tolerance/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir sale diff --git a/modules/sale_stock_quantity/tryton.cfg b/modules/sale_stock_quantity/tryton.cfg index e60afec3df0..77f292a976d 100644 --- a/modules/sale_stock_quantity/tryton.cfg +++ b/modules/sale_stock_quantity/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: product sale diff --git a/modules/sale_subscription/tryton.cfg b/modules/sale_subscription/tryton.cfg index e60b0da4af7..776fa91406a 100644 --- a/modules/sale_subscription/tryton.cfg +++ b/modules/sale_subscription/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account account_invoice diff --git a/modules/sale_subscription_asset/tryton.cfg b/modules/sale_subscription_asset/tryton.cfg index 815fff5d374..3d8aaaf47fb 100644 --- a/modules/sale_subscription_asset/tryton.cfg +++ b/modules/sale_subscription_asset/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir sale_subscription diff --git a/modules/sale_supply/tryton.cfg b/modules/sale_supply/tryton.cfg index d6a50bf82a3..9fdb2e25c52 100644 --- a/modules/sale_supply/tryton.cfg +++ b/modules/sale_supply/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir purchase diff --git a/modules/sale_supply_drop_shipment/tryton.cfg b/modules/sale_supply_drop_shipment/tryton.cfg index 621352dcc5e..edf23d4a15d 100644 --- a/modules/sale_supply_drop_shipment/tryton.cfg +++ b/modules/sale_supply_drop_shipment/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/sale_supply_production/tryton.cfg b/modules/sale_supply_production/tryton.cfg index 88172d7345e..ca75a6eb429 100644 --- a/modules/sale_supply_production/tryton.cfg +++ b/modules/sale_supply_production/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir production diff --git a/modules/stock/tryton.cfg b/modules/stock/tryton.cfg index 54f3e9c3163..406eeb00625 100644 --- a/modules/stock/tryton.cfg +++ b/modules/stock/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company currency diff --git a/modules/stock_assign_manual/tryton.cfg b/modules/stock_assign_manual/tryton.cfg index c8ec8853f91..5fc774728d6 100644 --- a/modules/stock_assign_manual/tryton.cfg +++ b/modules/stock_assign_manual/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir stock diff --git a/modules/stock_consignment/tryton.cfg b/modules/stock_consignment/tryton.cfg index 5ddf02bb873..6391b2fa7c4 100644 --- a/modules/stock_consignment/tryton.cfg +++ b/modules/stock_consignment/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_invoice account_invoice_line_standalone diff --git a/modules/stock_forecast/tryton.cfg b/modules/stock_forecast/tryton.cfg index fe1e84a79d4..0278d33028d 100644 --- a/modules/stock_forecast/tryton.cfg +++ b/modules/stock_forecast/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/stock_inventory_location/tryton.cfg b/modules/stock_inventory_location/tryton.cfg index 23802d0fafa..bba6fd293ab 100644 --- a/modules/stock_inventory_location/tryton.cfg +++ b/modules/stock_inventory_location/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/stock_location_move/tryton.cfg b/modules/stock_location_move/tryton.cfg index bc8f3fdbb72..a23c1c49b11 100644 --- a/modules/stock_location_move/tryton.cfg +++ b/modules/stock_location_move/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir stock diff --git a/modules/stock_location_sequence/tryton.cfg b/modules/stock_location_sequence/tryton.cfg index d4f6531ed74..d85526eaeb1 100644 --- a/modules/stock_location_sequence/tryton.cfg +++ b/modules/stock_location_sequence/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir stock diff --git a/modules/stock_lot/tryton.cfg b/modules/stock_lot/tryton.cfg index 2635100e042..a50376ed23a 100644 --- a/modules/stock_lot/tryton.cfg +++ b/modules/stock_lot/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/stock_lot_sled/tryton.cfg b/modules/stock_lot_sled/tryton.cfg index 27e2afdf732..c90f5b7b251 100644 --- a/modules/stock_lot_sled/tryton.cfg +++ b/modules/stock_lot_sled/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/stock_lot_unit/tryton.cfg b/modules/stock_lot_unit/tryton.cfg index 34421a2db93..c9b50a03607 100644 --- a/modules/stock_lot_unit/tryton.cfg +++ b/modules/stock_lot_unit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/stock_package/tryton.cfg b/modules/stock_package/tryton.cfg index 84b2c16977e..9e218f71078 100644 --- a/modules/stock_package/tryton.cfg +++ b/modules/stock_package/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/stock_package_shipping/tryton.cfg b/modules/stock_package_shipping/tryton.cfg index 6871aa93f03..e6e020fd9a4 100644 --- a/modules/stock_package_shipping/tryton.cfg +++ b/modules/stock_package_shipping/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/stock_package_shipping_dpd/tryton.cfg b/modules/stock_package_shipping_dpd/tryton.cfg index 42bf22686c4..6caee04ce0a 100644 --- a/modules/stock_package_shipping_dpd/tryton.cfg +++ b/modules/stock_package_shipping_dpd/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/stock_package_shipping_mygls/tryton.cfg b/modules/stock_package_shipping_mygls/tryton.cfg index 1b58366514e..fdca77f39df 100644 --- a/modules/stock_package_shipping_mygls/tryton.cfg +++ b/modules/stock_package_shipping_mygls/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: carrier ir diff --git a/modules/stock_package_shipping_sendcloud/tryton.cfg b/modules/stock_package_shipping_sendcloud/tryton.cfg index f56498ffeb9..cbe6a8a5642 100644 --- a/modules/stock_package_shipping_sendcloud/tryton.cfg +++ b/modules/stock_package_shipping_sendcloud/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: carrier company diff --git a/modules/stock_package_shipping_ups/tryton.cfg b/modules/stock_package_shipping_ups/tryton.cfg index 42bf22686c4..6caee04ce0a 100644 --- a/modules/stock_package_shipping_ups/tryton.cfg +++ b/modules/stock_package_shipping_ups/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/stock_product_location/tryton.cfg b/modules/stock_product_location/tryton.cfg index 74817b19445..4cf291ffe9c 100644 --- a/modules/stock_product_location/tryton.cfg +++ b/modules/stock_product_location/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/stock_quantity_early_planning/tryton.cfg b/modules/stock_quantity_early_planning/tryton.cfg index 5a3e1b8f4f0..51494008717 100644 --- a/modules/stock_quantity_early_planning/tryton.cfg +++ b/modules/stock_quantity_early_planning/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/stock_quantity_issue/tryton.cfg b/modules/stock_quantity_issue/tryton.cfg index 785dc61534f..9bc6e4e9713 100644 --- a/modules/stock_quantity_issue/tryton.cfg +++ b/modules/stock_quantity_issue/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/stock_secondary_unit/tryton.cfg b/modules/stock_secondary_unit/tryton.cfg index ae9dda1d566..2cd97d70b3b 100644 --- a/modules/stock_secondary_unit/tryton.cfg +++ b/modules/stock_secondary_unit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir stock diff --git a/modules/stock_shipment_cost/tryton.cfg b/modules/stock_shipment_cost/tryton.cfg index 22e2e705de0..cb1b9198066 100644 --- a/modules/stock_shipment_cost/tryton.cfg +++ b/modules/stock_shipment_cost/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: carrier ir diff --git a/modules/stock_shipment_cost_weight/tryton.cfg b/modules/stock_shipment_cost_weight/tryton.cfg index 34285f8efe7..3dcd3ce6ee3 100644 --- a/modules/stock_shipment_cost_weight/tryton.cfg +++ b/modules/stock_shipment_cost_weight/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: carrier ir diff --git a/modules/stock_shipment_measurements/tryton.cfg b/modules/stock_shipment_measurements/tryton.cfg index cd8775974b8..18382b7f224 100644 --- a/modules/stock_shipment_measurements/tryton.cfg +++ b/modules/stock_shipment_measurements/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company ir diff --git a/modules/stock_split/tryton.cfg b/modules/stock_split/tryton.cfg index d4f6531ed74..d85526eaeb1 100644 --- a/modules/stock_split/tryton.cfg +++ b/modules/stock_split/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir stock diff --git a/modules/stock_supply/tryton.cfg b/modules/stock_supply/tryton.cfg index 28cb796c688..aaee01869cf 100644 --- a/modules/stock_supply/tryton.cfg +++ b/modules/stock_supply/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account ir diff --git a/modules/stock_supply_day/tryton.cfg b/modules/stock_supply_day/tryton.cfg index f6baeb57d13..783ccc0a1a1 100644 --- a/modules/stock_supply_day/tryton.cfg +++ b/modules/stock_supply_day/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir purchase diff --git a/modules/stock_supply_forecast/tryton.cfg b/modules/stock_supply_forecast/tryton.cfg index e07fa192e02..4bd0705943d 100644 --- a/modules/stock_supply_forecast/tryton.cfg +++ b/modules/stock_supply_forecast/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir stock_supply diff --git a/modules/stock_supply_production/tryton.cfg b/modules/stock_supply_production/tryton.cfg index 58652dace7d..69b5398e0c9 100644 --- a/modules/stock_supply_production/tryton.cfg +++ b/modules/stock_supply_production/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir product diff --git a/modules/timesheet/tryton.cfg b/modules/timesheet/tryton.cfg index 8bb3dbe765a..c5abd5dc420 100644 --- a/modules/timesheet/tryton.cfg +++ b/modules/timesheet/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: company company_work_time diff --git a/modules/timesheet_cost/tryton.cfg b/modules/timesheet_cost/tryton.cfg index e5af44725e7..ed8e425bc96 100644 --- a/modules/timesheet_cost/tryton.cfg +++ b/modules/timesheet_cost/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir company diff --git a/modules/user_role/tryton.cfg b/modules/user_role/tryton.cfg index ce7f04c62a1..487a66b450d 100644 --- a/modules/user_role/tryton.cfg +++ b/modules/user_role/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir res diff --git a/modules/web_shop/tryton.cfg b/modules/web_shop/tryton.cfg index bb751960cf4..9855f2004e8 100644 --- a/modules/web_shop/tryton.cfg +++ b/modules/web_shop/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account company diff --git a/modules/web_shop_shopify/tryton.cfg b/modules/web_shop_shopify/tryton.cfg index dd354ea143a..0591fe7c75b 100644 --- a/modules/web_shop_shopify/tryton.cfg +++ b/modules/web_shop_shopify/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_payment currency diff --git a/modules/web_shop_vue_storefront/tryton.cfg b/modules/web_shop_vue_storefront/tryton.cfg index db9baf01333..62ffa76a8cf 100644 --- a/modules/web_shop_vue_storefront/tryton.cfg +++ b/modules/web_shop_vue_storefront/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir party diff --git a/modules/web_shop_vue_storefront_stripe/tryton.cfg b/modules/web_shop_vue_storefront_stripe/tryton.cfg index 02ff19f54c1..2a678727ee7 100644 --- a/modules/web_shop_vue_storefront_stripe/tryton.cfg +++ b/modules/web_shop_vue_storefront_stripe/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: account_payment_stripe ir diff --git a/modules/web_shortener/tryton.cfg b/modules/web_shortener/tryton.cfg index 19dc7740ce0..688b88810bd 100644 --- a/modules/web_shortener/tryton.cfg +++ b/modules/web_shortener/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir xml: diff --git a/modules/web_user/tryton.cfg b/modules/web_user/tryton.cfg index 5117dc5a43c..337e8e9f946 100644 --- a/modules/web_user/tryton.cfg +++ b/modules/web_user/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.0 +version=6.8.1 depends: ir party diff --git a/proteus/proteus/__init__.py b/proteus/proteus/__init__.py index f4e9101454d..d671797a949 100644 --- a/proteus/proteus/__init__.py +++ b/proteus/proteus/__init__.py @@ -10,7 +10,7 @@ import proteus.config -__version__ = "6.8.0" +__version__ = "6.8.1" __all__ = ['Model', 'Wizard', 'Report'] _MODELS = threading.local() diff --git a/sao/package.json b/sao/package.json index c89da8e9cf7..0a38ec7b5bf 100644 --- a/sao/package.json +++ b/sao/package.json @@ -2,7 +2,7 @@ "name": "tryton-sao", "title": "sao", "description": "Tryton webclient", - "version": "6.8.0", + "version": "6.8.1", "homepage": "http://www.tryton.org/", "author": { "name": "Tryton" diff --git a/tryton/tryton/__init__.py b/tryton/tryton/__init__.py index a847a55ef31..eb731551401 100644 --- a/tryton/tryton/__init__.py +++ b/tryton/tryton/__init__.py @@ -1,6 +1,6 @@ # This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. -__version__ = "6.8.0" +__version__ = "6.8.1" import locale import gi diff --git a/trytond-gis/trytond_gis/__init__.py b/trytond-gis/trytond_gis/__init__.py index bb6b4b9db2d..c3d46d54e69 100644 --- a/trytond-gis/trytond_gis/__init__.py +++ b/trytond-gis/trytond_gis/__init__.py @@ -4,7 +4,7 @@ from .const import WGS_84 -__version__ = "6.8.0" +__version__ = "6.8.1" class _GeoJSON(dict): diff --git a/trytond/trytond/__init__.py b/trytond/trytond/__init__.py index 7433d3e4814..ed6e758d7b8 100644 --- a/trytond/trytond/__init__.py +++ b/trytond/trytond/__init__.py @@ -8,7 +8,7 @@ import __main__ from lxml import etree, objectify -__version__ = "6.8.0" +__version__ = "6.8.1" os.environ.setdefault( 'TRYTOND_APPNAME', From 2c03e5ebf5899cf81be28a7113d0cf322758810a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 1 May 2023 15:21:41 +0200 Subject: [PATCH 003/932] Update documentation links --HG-- branch : 6.8 --- readthedocs/account.rst | 104 +++++++++++++++--------------- readthedocs/analytic.rst | 10 +-- readthedocs/authentication.rst | 6 +- readthedocs/carrier.rst | 10 +-- readthedocs/commission.rst | 4 +- readthedocs/company.rst | 4 +- readthedocs/currency.rst | 6 +- readthedocs/edocument.rst | 4 +- readthedocs/index.rst | 26 ++++---- readthedocs/marketing.rst | 8 +-- readthedocs/party.rst | 8 +-- readthedocs/product.rst | 28 ++++---- readthedocs/production.rst | 12 ++-- readthedocs/project.rst | 8 +-- readthedocs/purchase.rst | 24 +++---- readthedocs/quality.rst | 2 +- readthedocs/sale.rst | 60 ++++++++--------- readthedocs/sale_point.rst | 2 +- readthedocs/sale_subscription.rst | 4 +- readthedocs/stock.rst | 56 ++++++++-------- readthedocs/timesheet.rst | 4 +- readthedocs/web.rst | 12 ++-- 22 files changed, 201 insertions(+), 201 deletions(-) diff --git a/readthedocs/account.rst b/readthedocs/account.rst index 66fefe71234..727f31567e1 100644 --- a/readthedocs/account.rst +++ b/readthedocs/account.rst @@ -5,161 +5,161 @@ Accounting ========== -`Account `_ +`Account `_ Fundamentals for most accounting needs. -`Asset `_ +`Asset `_ Depreciation of fixed assets. -`Belgian `_ +`Belgian `_ Belgian accounting. -`Budget `_ +`Budget `_ Budgets for accounts. -`Cash Rounding `_ +`Cash Rounding `_ Round cash amounts. -`Consolidation `_ +`Consolidation `_ Consolidate accounting of multiple companies. -`Credit Limit `_ +`Credit Limit `_ Manages credit limit of parties. -`Deposit `_ +`Deposit `_ Supports customer deposits. -`Dunning `_ +`Dunning `_ Manages dunning on receivables. -`Dunning Email `_ +`Dunning Email `_ Sends dunning emails. -`Dunning Fee `_ +`Dunning Fee `_ Adds fees to dunnings. -`Dunning Letter `_ +`Dunning Letter `_ Prints dunning letters. -`Spanish `_ +`Spanish `_ Spanish accounting. -`Spanish SII `_ +`Spanish SII `_ Sends invoices to "Subministro Inmediato de Información" (SII). -`Europe `_ +`Europe `_ Common European requirements. -`French `_ +`French `_ French accounting. -`French Chorus `_ +`French Chorus `_ Sends invoices via Chorus Pro. `German `_ German accounting. -`Invoice `_ +`Invoice `_ Manages customer and supplier invoices. -`Invoice Correction `_ +`Invoice Correction `_ Correct price on posted invoices. -`Invoice Defer `_ +`Invoice Defer `_ Defer expense and revenue. -`Invoice History `_ +`Invoice History `_ Historize invoice. -`Invoice Line Standalone `_ +`Invoice Line Standalone `_ Supports invoice line without invoice. -`Invoice Secondary Unit `_ +`Invoice Secondary Unit `_ Adds a secondary unit of measure. -`Invoice Stock `_ +`Invoice Stock `_ Links invoice lines and stock moves. -`Invoice Watermark `_ +`Invoice Watermark `_ Adds watermark to printed invoices. -`Move Line Grouping `_ +`Move Line Grouping `_ Show move line grouped. -`Payment `_ +`Payment `_ Manages payments. -`Payment Braintree `_ +`Payment Braintree `_ Receives payment from Braintree. -`Payment Clearing `_ +`Payment Clearing `_ Uses clearing account for payments. -`Payment SEPA `_ +`Payment SEPA `_ Genrates SEPA messages for payments. -`Payment SEPA CFONB `_ +`Payment SEPA CFONB `_ Adds CFONB flavors to SEPA. -`Payment Stripe `_ +`Payment Stripe `_ Receives payment from Stripe. -`Product `_ +`Product `_ Adds accounting on product and category. -`Receivable Rule `_ +`Receivable Rule `_ Applies rules to receivable. -`Rule `_ +`Rule `_ Applies rules on accounts. -`Statement `_ +`Statement `_ Books bank statement, cash day book etc. -`Statement AEB43 `_ +`Statement AEB43 `_ Imports statements in AEB43 format. -`Statement CODA `_ +`Statement CODA `_ Imports statements in CODA format. -`Statement MT940 `_ +`Statement MT940 `_ Imports statement in MT940 format. -`Statement OFX `_ +`Statement OFX `_ Imports statements in OFX format. -`Statement Rule `_ +`Statement Rule `_ Applies rules on imported statements. -`Statement SEPA `_ +`Statement SEPA `_ Imports statements in SEPA format. -`Stock Anglo-Saxon `_ +`Stock Anglo-Saxon `_ Values stock using the anglo-saxon method. -`Stock Continental `_ +`Stock Continental `_ Values stock using the continental method. -`Stock European `_ +`Stock European `_ Common stock European requirements. -`Stock Landed Cost `_ +`Stock Landed Cost `_ Allocates landed cost. -`Stock Landed Cost Weight `_ +`Stock Landed Cost Weight `_ Allocates landed cost based on weight. -`Stock Shipment Cost `_ +`Stock Shipment Cost `_ Allocates shipment cost. -`Stock Shipment Cost Weight `_ +`Stock Shipment Cost Weight `_ Allocates shipment cost by weight. -`Tax Cash `_ +`Tax Cash `_ Reports tax on cash basis. -`Tax Non-Deductible `_ +`Tax Non-Deductible `_ Reports non-deductible tax. -`Tax Rule Country `_ +`Tax Rule Country `_ Applies taxes per country of origin and destination. diff --git a/readthedocs/analytic.rst b/readthedocs/analytic.rst index 483a53b6c51..44d9aab14ca 100644 --- a/readthedocs/analytic.rst +++ b/readthedocs/analytic.rst @@ -5,17 +5,17 @@ Analytic Accounting =================== -`Account `_ +`Account `_ Fundamentals for analytic. -`Budget `_ +`Budget `_ Budgets for analytic accounts. -`Invoice `_ +`Invoice `_ Adds analytic on invoice. -`Purchase `_ +`Purchase `_ Adds analytic on purchase. -`Sale `_ +`Sale `_ Adds analytic on sale. diff --git a/readthedocs/authentication.rst b/readthedocs/authentication.rst index 92ad8f8448e..1bd25638dbf 100644 --- a/readthedocs/authentication.rst +++ b/readthedocs/authentication.rst @@ -5,11 +5,11 @@ Authentication ============== -`SAML `_ +`SAML `_ Authentication per SAML. -`SMS `_ +`SMS `_ Authentication per SMS. -`LDAP `_ +`LDAP `_ Authentication per LDAP. diff --git a/readthedocs/carrier.rst b/readthedocs/carrier.rst index 98aef29a553..6bca7551023 100644 --- a/readthedocs/carrier.rst +++ b/readthedocs/carrier.rst @@ -5,17 +5,17 @@ Carrier ======= -`Carrier `_ +`Carrier `_ Fundamentals to manage carriers. -`Carriage `_ +`Carriage `_ Supports multiple carriers per document. -`Percentage `_ +`Percentage `_ Computes cost based on percentage. -`Subdivision `_ +`Subdivision `_ Restricts the usage of a carrier to subdivisions and ZIP codes. -`Weight `_ +`Weight `_ Computes cost based on weight. diff --git a/readthedocs/commission.rst b/readthedocs/commission.rst index 5ec64ba2aad..b1423e2527b 100644 --- a/readthedocs/commission.rst +++ b/readthedocs/commission.rst @@ -5,8 +5,8 @@ Commission ========== -`Commission `_ +`Commission `_ Fundamentals to commission sale's agents. -`Waiting `_ +`Waiting `_ Creates waiting account moves. diff --git a/readthedocs/company.rst b/readthedocs/company.rst index af49cdd9996..e9133dd3c54 100644 --- a/readthedocs/company.rst +++ b/readthedocs/company.rst @@ -5,8 +5,8 @@ Company ======= -`Company `_ +`Company `_ Defines company and employees. -`Work Time `_ +`Work Time `_ Defines work time per company. diff --git a/readthedocs/currency.rst b/readthedocs/currency.rst index 18764f90300..df8274a4dbb 100644 --- a/readthedocs/currency.rst +++ b/readthedocs/currency.rst @@ -5,11 +5,11 @@ Currency ======== -`Currency `_ +`Currency `_ ISO 4217 list of currencies. -`Romanian `_ +`Romanian `_ Exchange rates from the Romanian National Bank. -`Serbian `_ +`Serbian `_ Exchange rates from the Serbian National Bank. diff --git a/readthedocs/edocument.rst b/readthedocs/edocument.rst index 818617cb7ed..3998686d1c1 100644 --- a/readthedocs/edocument.rst +++ b/readthedocs/edocument.rst @@ -5,8 +5,8 @@ Electronic Document =================== -`UN/CEFACT `_ +`UN/CEFACT `_ Supports UN/CEFACT format. -`UNECE `_ +`UNECE `_ Adds UNECE codes. diff --git a/readthedocs/index.rst b/readthedocs/index.rst index 91654f04579..82da83f9d3c 100644 --- a/readthedocs/index.rst +++ b/readthedocs/index.rst @@ -5,19 +5,19 @@ Tryton Documentation Main ---- -`Server `_ +`Server `_ The main application. -`Desktop Client `_ +`Desktop Client `_ The application to connect to the server. -`Scripting Client `_ +`Scripting Client `_ The library to access models, wizards and reports like a client. Backend ------- -`GIS `_ +`GIS `_ Adds GIS support. Modules @@ -32,7 +32,7 @@ Operational :ref:`Analytic Accounting ` Analyze your accounts. -`Attendance `_ +`Attendance `_ Track presences. :ref:`Commission ` @@ -74,7 +74,7 @@ Operational Referential ^^^^^^^^^^^ -`Banking `_ +`Banking `_ Adds bank and account. :ref:`Company ` @@ -83,22 +83,22 @@ Referential :ref:`Carrier ` To ship. -`Country `_ +`Country `_ ISO 3166 list of countries and subdivisions. :ref:`Currency ` Manage currencies -`Customs `_ +`Customs `_ Defines customs duty per tariff code. -`Dashboard `_ +`Dashboard `_ Customized dashboard. -`Google Maps `_ +`Google Maps `_ Links address to Google map. -`Incoterm `_ +`Incoterm `_ Defines incoterms. :ref:`Party ` @@ -113,10 +113,10 @@ Administration :ref:`Authentication ` Extends authentication mechanism. -`Notification Email `_ +`Notification Email `_ Sends email. -`User Role `_ +`User Role `_ Manage user groups with roles. :ref:`Web ` diff --git a/readthedocs/marketing.rst b/readthedocs/marketing.rst index 1750be2ebea..becc817d1d2 100644 --- a/readthedocs/marketing.rst +++ b/readthedocs/marketing.rst @@ -5,14 +5,14 @@ Marketing ========= -`Marketing `_ +`Marketing `_ Fundamentals for marketing. -`Automation `_ +`Automation `_ Uses scenario. -`Campaign `_ +`Campaign `_ Manage campaign. -`E-mail `_ +`E-mail `_ Manage mailing lists. diff --git a/readthedocs/party.rst b/readthedocs/party.rst index f9f3b4d755a..ce69b4c5fb1 100644 --- a/readthedocs/party.rst +++ b/readthedocs/party.rst @@ -5,14 +5,14 @@ Party ===== -`Party `_ +`Party `_ Fundamentals to store parties. -`Avatar `_ +`Avatar `_ Adds avatar. -`Relationship `_ +`Relationship `_ Defines relation between parties. -`SIRET `_ +`SIRET `_ Adds SIRET and SIREN. diff --git a/readthedocs/product.rst b/readthedocs/product.rst index 26499278384..53124aeeefe 100644 --- a/readthedocs/product.rst +++ b/readthedocs/product.rst @@ -5,44 +5,44 @@ Product ======= -`Product `_ +`Product `_ Fundamentals to manage products. -`Attribute `_ +`Attribute `_ Adds attributes to products. -`Classification `_ +`Classification `_ Classifies products. -`Classification Taxonomic `_ +`Classification Taxonomic `_ Uses Taxonomic classification. -`Cost FIFO `_ +`Cost FIFO `_ Adds FIFO cost method. -`Cost History `_ +`Cost History `_ Historize the cost. -`Cost Warehouse `_ +`Cost Warehouse `_ Calculate cost prices per warehouse. -`Measurements `_ +`Measurements `_ Adds measurements to products. -`Price List `_ +`Price List `_ Computes price. -`Price List Dates `_ +`Price List Dates `_ Sets start and end date on price lists. -`Price List Parent `_ +`Price List Parent `_ Adds price list cascading. -`Image `_ +`Image `_ Adds images. -`Image Attribute `_ +`Image Attribute `_ Adds attributes to product images. -`Kit `_ +`Kit `_ Add support for product kits. diff --git a/readthedocs/production.rst b/readthedocs/production.rst index bf6143143f5..dacfbc6f87d 100644 --- a/readthedocs/production.rst +++ b/readthedocs/production.rst @@ -5,20 +5,20 @@ Production ========== -`Production `_ +`Production `_ Fundamentals for production management. -`Outsourcing `_ +`Outsourcing `_ Outsources the production. -`Routing `_ +`Routing `_ Defines routings. -`Split `_ +`Split `_ Split production orders. -`Work `_ +`Work `_ Manage work order for each production. -`Work Timesheet `_ +`Work Timesheet `_ Track time per work. diff --git a/readthedocs/project.rst b/readthedocs/project.rst index 6111e22a91c..fbd322baead 100644 --- a/readthedocs/project.rst +++ b/readthedocs/project.rst @@ -5,14 +5,14 @@ Project ======= -`Project `_ +`Project `_ Fundamentals for project management. -`Invoice `_ +`Invoice `_ Invoices the projects. -`Plan `_ +`Plan `_ Plans the projects. -`Revenue `_ +`Revenue `_ Follows cost and revenue of projects. diff --git a/readthedocs/purchase.rst b/readthedocs/purchase.rst index dbbd76be7d4..b48363cfaa5 100644 --- a/readthedocs/purchase.rst +++ b/readthedocs/purchase.rst @@ -5,38 +5,38 @@ Purchase ======== -`Purchase `_ +`Purchase `_ Fundamentals to follow purchases. -`Amendment `_ +`Amendment `_ Amend purchases in processing. -`Blanket Agreement `_ +`Blanket Agreement `_ Manage blanket agreements. -`History `_ +`History `_ Manages revisions. -`Invoice Line Standalone `_ +`Invoice Line Standalone `_ Generates invoice lines. -`Price List `_ +`Price List `_ Applies price list. -`Product Quantity `_ +`Product Quantity `_ Adds constraints on quantity purchased. -`Request `_ +`Request `_ Collects the purchase requests. -`Request Quotation `_ +`Request Quotation `_ Asks quotation for the purchase requests. -`Requisition `_ +`Requisition `_ Requires purchase by employees. -`Secondary Unit `_ +`Secondary Unit `_ Adds a secondary unit of measure. -`Shipment Cost `_ +`Shipment Cost `_ Computes shipment cost. diff --git a/readthedocs/quality.rst b/readthedocs/quality.rst index 576da8b7b55..0fea7ac9f17 100644 --- a/readthedocs/quality.rst +++ b/readthedocs/quality.rst @@ -5,5 +5,5 @@ Quality ======= -`Quality `_ +`Quality `_ Fundamentals to manage quality. diff --git a/readthedocs/sale.rst b/readthedocs/sale.rst index 62cc4caa24c..4d1865065c6 100644 --- a/readthedocs/sale.rst +++ b/readthedocs/sale.rst @@ -5,92 +5,92 @@ Sale ==== -`Sale `_ +`Sale `_ Fundamentals to follow sales. -`Advance Payment `_ +`Advance Payment `_ Manage advance payment on sale. -`Amendment `_ +`Amendment `_ Amend sales in processing. -`Blanket Agreement `_ +`Blanket Agreement `_ Manage sale blanket agreements. -`Complaint `_ +`Complaint `_ Solves customer complaints. -`Credit Limit `_ +`Credit Limit `_ Adds sales to the credit limit. -`Discount `_ +`Discount `_ Adds discount on lines. -`Extra `_ +`Extra `_ Add extra lines. -`Gift Card `_ +`Gift Card `_ Sales gift cards. -`History `_ +`History `_ Manages revisions. -`Invoice Date `_ +`Invoice Date `_ Compute the date of invoice. -`Invoice Grouping `_ +`Invoice Grouping `_ Groups invoices. -`Opportunity `_ +`Opportunity `_ Tracks leads and opportunities. -`Payment `_ +`Payment `_ Pays sales before posting the invoice. -`Price List `_ +`Price List `_ Applies price list. -`Product Customer `_ +`Product Customer `_ Adds customer's name and code for product. -`Product Quantity `_ +`Product Quantity `_ Adds constraints on quantity sold. -`Product Recommendation `_ +`Product Recommendation `_ Recommends products. -`Product Recommendation Association Rule `_ +`Product Recommendation Association Rule `_ Recommends products based on association rules. -`Promotion `_ +`Promotion `_ Applies promotions. -`Promotion Coupon `_ +`Promotion Coupon `_ Applies promotions with coupons. -`Promotion Coupon Payment `_ +`Promotion Coupon Payment `_ Count coupon per identical payment party. -`Shipment Cost `_ +`Shipment Cost `_ Computes shipment cost. -`Shipment Grouping `_ +`Shipment Grouping `_ Groups shipments. -`Shipment Tolerance `_ +`Shipment Tolerance `_ Define tolerance for under and over shipment. -`Secondary Unit `_ +`Secondary Unit `_ Adds a secondary unit of measure. -`Stock Quantity `_ +`Stock Quantity `_ Checks stock level. -`Supply `_ +`Supply `_ Supplies from the sale. -`Supply Drop Shipment `_ +`Supply Drop Shipment `_ Supplies with drop shipment. -`Supply Production `_ +`Supply Production `_ Supplies with production. diff --git a/readthedocs/sale_point.rst b/readthedocs/sale_point.rst index 615ef66ad90..9bbdc7b32a8 100644 --- a/readthedocs/sale_point.rst +++ b/readthedocs/sale_point.rst @@ -7,5 +7,5 @@ Point of Sale .. glossary:: - `Sale Point `_ + `Sale Point `_ Fundamentals for POS. diff --git a/readthedocs/sale_subscription.rst b/readthedocs/sale_subscription.rst index 2d61f04f7eb..515c90687aa 100644 --- a/readthedocs/sale_subscription.rst +++ b/readthedocs/sale_subscription.rst @@ -5,8 +5,8 @@ Sale Subscription ================= -`Subscription `_ +`Subscription `_ Fundamentals to manage subscriptions. -`Asset `_ +`Asset `_ Add asset to subscribed service. diff --git a/readthedocs/stock.rst b/readthedocs/stock.rst index c38122b1b5e..06b6fc637b8 100644 --- a/readthedocs/stock.rst +++ b/readthedocs/stock.rst @@ -5,86 +5,86 @@ Stock ===== -`Stock `_ +`Stock `_ Fundamentals to manage warehouses. -`Assign Manual `_ +`Assign Manual `_ Manually decide where to pick products. -`Consignment `_ +`Consignment `_ Manages consignment stock from supplier or at customer warehouse. -`Forecast `_ +`Forecast `_ Forecast the stock levels. -`Inventory Location `_ +`Inventory Location `_ Creates inventories for many locations. -`Location Move `_ +`Location Move `_ Makes location movable. -`Location Sequence `_ +`Location Sequence `_ Orders locations. -`Lot `_ +`Lot `_ Track products with lot. -`Lot Shelf Life Expiration Date `_ +`Lot Shelf Life Expiration Date `_ Manages expiration dates. -`Lot Unit `_ +`Lot Unit `_ Defines unit and quantity per lot. -`Package `_ +`Package `_ Store packaging on shipments. -`Package Shipping `_ +`Package Shipping `_ Fundamentals to interact with shipping services. -`Package Shipping DPD `_ +`Package Shipping DPD `_ Connects with DPD shipping service. -`Package Shipping MyGLS `_ +`Package Shipping MyGLS `_ Connects with MyGLS shipping service. -`Package Shipping Sendcloud `_ +`Package Shipping Sendcloud `_ Connects to the Sendcloud shipping service. -`Package Shipping UPS `_ +`Package Shipping UPS `_ Connects with UPS shipping service. -`Product Location `_ +`Product Location `_ Defines preferred locations for products. -`Quantity Early Planning `_ +`Quantity Early Planning `_ Consume earlier stock. -`Quantity Issue `_ +`Quantity Issue `_ Reports quantity issues. -`Secondary Unit `_ +`Secondary Unit `_ Adds a secondary unit of measure. -`Shipment Cost `_ +`Shipment Cost `_ Adds shipment costs to outgoing moves. -`Shipment Cost Weight `_ +`Shipment Cost Weight `_ Set shipment costs based on weight. -`Shipment Measurements `_ +`Shipment Measurements `_ Adds measurements to shipments. -`Split `_ +`Split `_ Splits moves and shipments. -`Supply `_ +`Supply `_ Supplies warehouses. -`Supply Forecast `_ +`Supply Forecast `_ Uses forecast to supply warehouses. -`Supply Day `_ +`Supply Day `_ Compute supply date per week day. -`Supply Production `_ +`Supply Production `_ Supplies warehouses with production orders. diff --git a/readthedocs/timesheet.rst b/readthedocs/timesheet.rst index 8ad45607fb6..a8d8d89c944 100644 --- a/readthedocs/timesheet.rst +++ b/readthedocs/timesheet.rst @@ -5,8 +5,8 @@ Timesheet ========= -`Timesheet `_ +`Timesheet `_ Fundamentals to track time spend. -`Cost `_ +`Cost `_ Tracks employee cost. diff --git a/readthedocs/web.rst b/readthedocs/web.rst index 7210c834219..1449991ab88 100644 --- a/readthedocs/web.rst +++ b/readthedocs/web.rst @@ -5,20 +5,20 @@ Web === -`Shop `_ +`Shop `_ Fundamentals to sale online. -`Shop Shopify `_ +`Shop Shopify `_ Integration with Shopify. -`Shop Vue Storefront `_ +`Shop Vue Storefront `_ Integration with Vue Storefront. -`Shop Vue Storefront Stripe `_ +`Shop Vue Storefront Stripe `_ Support of Stripe Payment for Vue Storefront. -`Shortener `_ +`Shortener `_ Shortens URL and connects them to actions. -`User `_ +`User `_ Manages external users. From 89f89c580179f5ff336c1cd6a7138261681bc764 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Tue, 2 May 2023 16:52:28 +0200 Subject: [PATCH 004/932] Add missing bank account on process sepa without bank error message Closes #12249 (grafted from b2e5a61dfc3d6dd08cdc9d49b8680421c5f34f3e) --HG-- branch : 6.8 --- modules/account_payment_sepa/payment.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/account_payment_sepa/payment.py b/modules/account_payment_sepa/payment.py index 1a444fb5f95..d0cf49a5f48 100644 --- a/modules/account_payment_sepa/payment.py +++ b/modules/account_payment_sepa/payment.py @@ -235,10 +235,12 @@ def process_sepa(self): '.msg_payment_process_no_iban', payment=payment.rec_name)) if not payment.sepa_bank_account_number.account.bank: + bank_account = payment.sepa_bank_account_number.account raise ProcessError( gettext('account_payment_sepa' '.msg_payment_process_no_bank', - payment=payment.rec_name)) + payment=payment.rec_name, + bank_account=bank_account.rec_name)) to_write = [] for key, payments in self.sepa_payments: to_write.append(payments) From 075b15b963a50728d0f26cd408d2c9b0ffee8f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 2 May 2023 14:34:37 +0200 Subject: [PATCH 005/932] Lock cron table at the transaction starts If the lock is not taken at the transaction starts since c8771e45b861 an exception is raised. Closes #12248 (grafted from 7cf18cea4f7a5910806a441af823ce58a3bf3156) --HG-- branch : 6.8 --- trytond/trytond/ir/cron.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/trytond/trytond/ir/cron.py b/trytond/trytond/ir/cron.py index 500ec452290..4561347ca6c 100644 --- a/trytond/trytond/ir/cron.py +++ b/trytond/trytond/ir/cron.py @@ -161,10 +161,11 @@ def run(cls, db_name): logger.info('cron started for "%s"', db_name) now = datetime.datetime.now() retry = config.getint('database', 'retry') - with transaction.start(db_name, 0, context={'_skip_warnings': True}): + with transaction.start( + db_name, 0, context={'_skip_warnings': True}, + _lock_tables=[cls._table]): pool = Pool() Error = pool.get('ir.error') - cls.lock() crons = cls.search(['OR', ('next_call', '<=', now), ('next_call', '=', None), From 69a8bbf9dddda0db7c5548be3cea166ceb450010 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 28 Apr 2023 12:52:09 +0200 Subject: [PATCH 006/932] Count optional column as visible if the tree is not traggable (grafted from 190b89ea12faf969c92d7b5c0bfab1736bd3c14b) --HG-- branch : 6.8 --- sao/src/view/tree.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sao/src/view/tree.js b/sao/src/view/tree.js index a910dd89b89..ca55983dbc0 100644 --- a/sao/src/view/tree.js +++ b/sao/src/view/tree.js @@ -794,6 +794,9 @@ // Set column visibility depending on attributes and domain var visible_columns = 1; // start at 1 because of the checkbox + if (this.optionals.length && !this.draggable) { + visible_columns += 1; + } var domain = []; if (!jQuery.isEmptyObject(this.screen.domain)) { domain.push(this.screen.domain); From 8b1b1ee371d338c93370a51849fffe7066c2be90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 28 Apr 2023 12:53:04 +0200 Subject: [PATCH 007/932] Do not add multiple times a more row (grafted from 0172717f00343da444594ba330bc3c2e1b275212) --HG-- branch : 6.8 --- sao/src/view/tree.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sao/src/view/tree.js b/sao/src/view/tree.js index ca55983dbc0..97ff38b8c4e 100644 --- a/sao/src/view/tree.js +++ b/sao/src/view/tree.js @@ -922,7 +922,8 @@ }).map(function(row) { return row.el; })); - if (this.display_size < this.group.length) { + if ((this.display_size < this.group.length) && + (!this.tbody.children().last().hasClass('more-row'))) { var more_row = jQuery('', { 'class': 'more-row', }); From 2a888e5b8e1c19f73074333aed964e6ea29c853e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 28 Apr 2023 12:56:15 +0200 Subject: [PATCH 008/932] Restore scroll position to the position before loading more rows When the scroll is at the bottom (and a footer is present), when new rows are added the scroll stay at the bottom which trigger again to load more rows. This continue until reaching the end of the tree. To prevent this behavior we restore the position of the scroll using the height from the top. Closes #12223 (grafted from 6bcec872fdb13b1f3222c0a08757b44c5877d79c) --HG-- branch : 6.8 --- sao/src/view/tree.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sao/src/view/tree.js b/sao/src/view/tree.js index 97ff38b8c4e..dfeb60541bb 100644 --- a/sao/src/view/tree.js +++ b/sao/src/view/tree.js @@ -936,8 +936,17 @@ 'title': Sao.i18n.gettext("More"), }).text(Sao.i18n.gettext('More') ).click(() => { + var height = this.table.height(); this.display_size += Sao.config.display_size; this.display(); + height -= this.treeview.height(); + height -= 50; + if (this.tfoot) { + height -= this.tfoot.height(); + } + this.treeview[0].scroll({ + 'top': height, + }); }); more_cell.append(more_button); more_row.append(more_cell); From 67dd4eeb762f52b5a6a9c700d3fb5a45e8da77d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 2 May 2023 15:06:17 +0200 Subject: [PATCH 009/932] Ensure to always have at least one set to union stock moves of commissions Closes #12247 (grafted from 4cd04ce74d4d9b2a36dc2db57a83ecd55a3d7a26) --HG-- branch : 6.8 --- modules/commission/commission.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/commission/commission.py b/modules/commission/commission.py index 25e0142ea6f..46ffc9f73f2 100644 --- a/modules/commission/commission.py +++ b/modules/commission/commission.py @@ -482,7 +482,7 @@ def line_key(c): cls.save(to_save) if Move and hasattr(Move, 'update_unit_price'): - moves = list(set.union(*(c.stock_moves for c in commissions))) + moves = list(set().union(*(c.stock_moves for c in commissions))) if moves: Move.__queue__.update_unit_price(moves) From 03a8ef57ae48373a216ac369ab4c862d179b5e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 29 Apr 2023 12:56:51 +0200 Subject: [PATCH 010/932] Set invoice account only when changing party or dates Using on_change_with does not work correctly for editable field because the value may be changed when the user does not expect it. Closes #12239 (grafted from 8557c57f05896c8e976d88d68500ec8d5ab6f255) --HG-- branch : 6.8 --- modules/account_invoice/invoice.py | 40 +++++++++++++++++++----------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/modules/account_invoice/invoice.py b/modules/account_invoice/invoice.py index a8714011b15..776474b9037 100644 --- a/modules/account_invoice/invoice.py +++ b/modules/account_invoice/invoice.py @@ -486,20 +486,9 @@ def default_company(): def on_change_with_company_party(self, name=None): return self.company.party if self.company else None - @fields.depends( - 'state', 'account', 'party', 'type', 'accounting_date', 'invoice_date') - def on_change_with_account(self): - if self.state != 'draft': - return self.account - account = None - if self.party: - with Transaction().set_context( - date=self.accounting_date or self.invoice_date): - if self.type == 'out': - account = self.party.account_receivable_used - elif self.type == 'in': - account = self.party.account_payable_used - return account + @fields.depends(methods=['set_journal', 'on_change_party']) + def on_change_type(self): + self.on_change_party() @classmethod def _journal_types(cls, invoice_type): @@ -526,18 +515,39 @@ def order_accounting_date(cls, tables): table, _ = tables[None] return [Coalesce(table.accounting_date, table.invoice_date)] - @fields.depends('party', 'type') + @fields.depends('party', 'type', methods=['_update_account']) def on_change_party(self): self.invoice_address = None if self.party: self.invoice_address = self.party.address_get(type='invoice') self.party_tax_identifier = self.party.tax_identifier if self.type == 'out': + self.account = self.party.account_receivable_used self.payment_term = self.party.customer_payment_term elif self.type == 'in': + self.account = self.party.account_payable_used self.payment_term = self.party.supplier_payment_term else: self.payment_term = None + self.account = None + self._update_account() + + @fields.depends(methods=['_update_account']) + def on_change_accounting_date(self): + self._update_account() + + @fields.depends(methods=['_update_account']) + def on_change_invoice_date(self): + self._update_account() + + @fields.depends('account', 'accounting_date', 'invoice_date') + def _update_account(self): + "Update account to current account" + if self.account: + account = self.account.current( + date=self.accounting_date or self.invoice_date) + if account != self.account: + self.account = account @fields.depends('invoice_date', 'company') def on_change_with_currency_date(self, name=None): From c9a631516d2c5f6e39308a6271190a6aa6ffa9d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 29 Apr 2023 12:57:57 +0200 Subject: [PATCH 011/932] Set invoice journal only when type is changed Using on_change_with does not work correctly for editable field because the value may be changed when the user does not expect it. (grafted from e67f681322ea34083d172d3872fa1a0e26006a86) --HG-- branch : 6.8 --- modules/account_invoice/invoice.py | 9 ++++----- modules/account_invoice_defer/account.py | 8 ++++++-- modules/purchase/purchase.py | 2 +- modules/sale/sale.py | 2 +- modules/sale_subscription/subscription.py | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/modules/account_invoice/invoice.py b/modules/account_invoice/invoice.py index 776474b9037..011c8c9d17c 100644 --- a/modules/account_invoice/invoice.py +++ b/modules/account_invoice/invoice.py @@ -488,6 +488,7 @@ def on_change_with_company_party(self, name=None): @fields.depends(methods=['set_journal', 'on_change_party']) def on_change_type(self): + self.set_journal() self.on_change_party() @classmethod @@ -497,18 +498,16 @@ def _journal_types(cls, invoice_type): else: return ['expense'] - @fields.depends('state', 'journal', 'type') - def on_change_with_journal(self, pattern=None): + @fields.depends('type') + def set_journal(self, pattern=None): pool = Pool() Journal = pool.get('account.journal') - if self.state != 'draft': - return self.journal pattern = pattern.copy() if pattern is not None else {} pattern.setdefault('type', { 'out': 'revenue', 'in': 'expense', }.get(self.type)) - return Journal.find(pattern) + self.journal = Journal.find(pattern) @classmethod def order_accounting_date(cls, tables): diff --git a/modules/account_invoice_defer/account.py b/modules/account_invoice_defer/account.py index cdd5d46537c..f4284c02544 100644 --- a/modules/account_invoice_defer/account.py +++ b/modules/account_invoice_defer/account.py @@ -164,8 +164,12 @@ def _journal_types(cls, type): else: return ['expense'] + @fields.depends(methods=['set_journal']) + def on_change_type(self): + self.set_journal() + @fields.depends('type') - def on_change_with_journal(self, pattern=None): + def set_journal(self, pattern=None): pool = Pool() Journal = pool.get('account.journal') pattern = pattern.copy() if pattern is not None else {} @@ -173,7 +177,7 @@ def on_change_with_journal(self, pattern=None): 'out': 'revenue', 'in': 'expense', }.get(self.type)) - return Journal.find(pattern) + self.journal = Journal.find(pattern) @fields.depends('invoice_line', 'start_date', 'company') def on_change_invoice_line(self): diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py index 2de16fab929..90b30efc8e8 100644 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -801,7 +801,7 @@ def _get_invoice_purchase(self): account=party.account_payable_used, payment_term=self.payment_term, ) - invoice.journal = invoice.on_change_with_journal() + invoice.set_journal() return invoice def create_invoice(self): diff --git a/modules/sale/sale.py b/modules/sale/sale.py index 92704e5ba46..361785d1a55 100644 --- a/modules/sale/sale.py +++ b/modules/sale/sale.py @@ -856,7 +856,7 @@ def _get_invoice_sale(self): currency=self.currency, account=party.account_receivable_used, ) - invoice.journal = invoice.on_change_with_journal() + invoice.set_journal() invoice.payment_term = self.payment_term return invoice diff --git a/modules/sale_subscription/subscription.py b/modules/sale_subscription/subscription.py index 51919f4ca85..68556581f4b 100644 --- a/modules/sale_subscription/subscription.py +++ b/modules/sale_subscription/subscription.py @@ -490,7 +490,7 @@ def _get_invoice(self): account=party.account_receivable_used, ) invoice.invoice_date = self.next_invoice_date - invoice.journal = invoice.on_change_with_journal() + invoice.set_journal() invoice.payment_term = self.payment_term return invoice From 831e1f46163eebf94a6dad74dc758a661e4c14bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 30 Apr 2023 00:06:09 +0200 Subject: [PATCH 012/932] Format sum without digits Closes #12204 (grafted from b96579a49fa33288c9a10c71746c9dd51aada49c) --HG-- branch : 6.8 --- sao/src/view/tree.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sao/src/view/tree.js b/sao/src/view/tree.js index dfeb60541bb..ef6bb78a179 100644 --- a/sao/src/view/tree.js +++ b/sao/src/view/tree.js @@ -1066,6 +1066,11 @@ Sao.i18n.BC47(Sao.i18n.getlang()), options); sum_ = (sum_ || 0).toLocaleString( Sao.i18n.BC47(Sao.i18n.getlang()), options); + } else { + selected_sum = (selected_sum || 0).toLocaleString( + Sao.i18n.BC47(Sao.i18n.getlang())); + sum_ = (sum_ || 0).toLocaleString( + Sao.i18n.BC47(Sao.i18n.getlang())); } aggregate = selected_sum + ' / ' + sum_; } From 0ae4475fa2265bfabcfa3526e93e209cdcd347ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 5 May 2023 12:50:26 +0200 Subject: [PATCH 013/932] Start RPC thread instead of running it The start method execute the target in another thread when run execute the target in the current thread. Closes #12257 (grafted from 2a37cbd9c128d1e766bdf2de8dad766283d403cd) --HG-- branch : 6.8 --- tryton/tryton/common/common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tryton/tryton/common/common.py b/tryton/tryton/common/common.py index 17bcd4a4f89..9526135f6c6 100644 --- a/tryton/tryton/common/common.py +++ b/tryton/tryton/common/common.py @@ -1225,7 +1225,7 @@ def run(self, process_exception_p=True, callback=None): # otherwise the cursor is not updated. self.parent = get_toplevel_window() self._cursor_timeout = GLib.timeout_add(3000, self._set_cursor) - Thread(target=self.start).run() + Thread(target=self.start).start() return else: self.start() From c36e7133b46a2d15d183a62cdd1d25b44c430ec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 5 May 2023 12:51:06 +0200 Subject: [PATCH 014/932] Do not run RPC in thread if thread is disabled Closes #11767 (grafted from 77cfad42ae98133fc2f908c4468dd9700cbfce5b) --HG-- branch : 6.8 --- tryton/tryton/common/common.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tryton/tryton/common/common.py b/tryton/tryton/common/common.py index 9526135f6c6..ad6d8b06635 100644 --- a/tryton/tryton/common/common.py +++ b/tryton/tryton/common/common.py @@ -1211,7 +1211,7 @@ def start(self): else: if not self.res: self.error = True - if self.callback: + if self.callback and CONFIG['thread']: # Post to GTK queue to be run by the main thread GLib.idle_add(self.process) return True @@ -1220,7 +1220,7 @@ def run(self, process_exception_p=True, callback=None): self.process_exception_p = process_exception_p self.callback = callback - if callback: + if callback and CONFIG['thread']: # Parent is only useful if it is asynchronous # otherwise the cursor is not updated. self.parent = get_toplevel_window() From dced7b2661209cc913581b395f02fb8b08881eb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 30 Apr 2023 00:57:46 +0200 Subject: [PATCH 015/932] Set type to Blob for SVG image Without proper type, browsers do not render SVG image from Blob. So we try to guess if it is an SVG image by trying to parse it as XML. For other types, browsers render them without type. Closes #12201 (grafted from b4bc4a5f10c503c99a0e7d8bd8df76a8881a4c0d) --HG-- branch : 6.8 --- sao/src/common.js | 19 +++++++++++++++++++ sao/src/view/form.js | 9 +-------- sao/src/view/tree.js | 9 +-------- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/sao/src/common.js b/sao/src/common.js index db309a5f79d..ac793cef27b 100644 --- a/sao/src/common.js +++ b/sao/src/common.js @@ -4244,4 +4244,23 @@ return el.html(); }; + Sao.common.image_url = function(data) { + if (!data) { + return null; + } + var type = ''; + try { + var xml = data; + if (xml instanceof Uint8Array) { + xml = new TextDecoder().decode(data); + } + if (jQuery.parseXML(xml)) { + type = 'image/svg+xml'; + } + } catch (e) { + } + blob = new Blob([data], {type: type}); + return window.URL.createObjectURL(blob); + }; + }()); diff --git a/sao/src/view/form.js b/sao/src/view/form.js index ed0118796f5..b0ecd5f5b5f 100644 --- a/sao/src/view/form.js +++ b/sao/src/view/form.js @@ -4392,17 +4392,10 @@ function eval_pyson(value){ value = jQuery.when(null); } value.done(data => { - var url, blob; if (record !== this.record) { return; } - if (!data) { - url = null; - } else { - blob = new Blob([data]); - url = window.URL.createObjectURL(blob); - } - this.image.attr('src', url); + this.image.attr('src', Sao.common.image_url(data)); this.update_buttons(Boolean(data)); }); }, diff --git a/sao/src/view/tree.js b/sao/src/view/tree.js index ef6bb78a179..5d5ab4913e1 100644 --- a/sao/src/view/tree.js +++ b/sao/src/view/tree.js @@ -2843,14 +2843,7 @@ } const render = () => { const set_src = data => { - var img_url, blob; - if (!data) { - img_url = null; - } else { - blob = new Blob([data]); - img_url = window.URL.createObjectURL(blob); - } - cell.attr('src', img_url); + cell.attr('src', Sao.common.image_url(data)); }; var value = this.field.get_client(record); From 0967b3a8203dc18da3c1c27d3013ec32717e0814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 10 May 2023 00:06:56 +0200 Subject: [PATCH 016/932] Fix test for multiselection :string in record values Closes #12261 (grafted from 7801432502ca08418f0a373edbe600a1c2842e57) --HG-- branch : 6.8 --- sao/src/view/tree.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sao/src/view/tree.js b/sao/src/view/tree.js index 5d5ab4913e1..8d8c8b1685f 100644 --- a/sao/src/view/tree.js +++ b/sao/src/view/tree.js @@ -2630,7 +2630,7 @@ }, update_text: function(cell, record) { if (!this.tree.editable && - (this.field_name + ':string' in record._value)) { + (this.field_name + ':string' in record._values)) { var text_value = record._values[this.field_name + ':string']; cell.text(text_value).attr('title', text_value); } else { From ab2a40a3e997553e63ea9aca2849b47d294c4d52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 5 May 2023 11:13:43 +0200 Subject: [PATCH 017/932] Do not compute amount from reconciled lines if there is no currency Closes #12256 (grafted from a71dff82026e5c98cf303122422a772b20b2aea0) --HG-- branch : 6.8 --- modules/account/move.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/account/move.py b/modules/account/move.py index 73300b82fae..bed24d9e0df 100644 --- a/modules/account/move.py +++ b/modules/account/move.py @@ -2397,12 +2397,12 @@ class ReconcileShow(ModelView): @fields.depends('lines', 'currency', 'company') def on_change_lines(self): amount = Decimal(0) - for line in self.lines: - if line.second_currency == self.currency: - amount += line.amount_second_currency - elif line.currency == self.currency: - amount += line.debit - line.credit if self.currency: + for line in self.lines: + if line.second_currency == self.currency: + amount += line.amount_second_currency + elif line.currency == self.currency: + amount += line.debit - line.credit amount = self.currency.round(amount) self.write_off_amount = amount From 483b371cdd83abfefc3432d7719221376b179685 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 5 May 2023 12:24:08 +0200 Subject: [PATCH 018/932] Test currency instead of party when reconcile automatically Closes #12258 (grafted from 75bd977acf69abfcb42333d6352b822790f800e1) --HG-- branch : 6.8 --- modules/account/move.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/account/move.py b/modules/account/move.py index bed24d9e0df..600a1327834 100644 --- a/modules/account/move.py +++ b/modules/account/move.py @@ -2205,8 +2205,9 @@ def next_currency(): while lines: Line.reconcile(lines) lines = self._default_lines() - if not self.get_parties( - self.show.account, party=self.show.party): + if not self.get_currencies( + self.show.account, self.show.party, + currency=self.show.currency): return 'next_' elif not lines and self.start.only_balanced: return 'next_' From 090fc55517019adb7bba8671f2fb3422fbce6092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 10 May 2023 10:07:34 +0200 Subject: [PATCH 019/932] Remove timezone info after converting datetime in UTC The datetime are always in UTC without tzinfo so they can be compared with the data from the database. Closes #12262 (grafted from 5bf4f2ae61f15f06db43697b61162b62ab672a36) --HG-- branch : 6.8 --- modules/stock/product.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/stock/product.py b/modules/stock/product.py index b729e75dae8..fcf9da29383 100644 --- a/modules/stock/product.py +++ b/modules/stock/product.py @@ -235,7 +235,8 @@ def get_cost_value(cls, products, name): context['_datetime'] = ( context['_datetime'] .replace(tzinfo=timezone) - .astimezone(tz.UTC)) + .astimezone(tz.UTC) + .replace(tzinfo=None)) except OverflowError: pass # The date could be before the product creation From de8f125b76eef4ba289e4e917b85e7cf22c4fb6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 8 May 2023 12:20:39 +0200 Subject: [PATCH 020/932] Clear cache before commit each module As the cache is rollback to avoid dead lock, the transaction commit could restore cache version that is no more valid. For example the language cache of `ir.translation` which is filled initially with only English and then reset when other languages are created by the `ir` module. So at the end of `ir` module load, the cache is reset to contain only English as it was the content before the first cache reset. This prevents to load any other language from other modules. So to ensure the next module is loaded using a fresh cache, all the caches are cleared. Closes #12246 (grafted from 5f14ca66744e53cd1d6200dfd569c2dca19f99c6) --HG-- branch : 6.8 --- trytond/trytond/modules/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/trytond/trytond/modules/__init__.py b/trytond/trytond/modules/__init__.py index 1303a5a5da9..c9710c877cd 100644 --- a/trytond/trytond/modules/__init__.py +++ b/trytond/trytond/modules/__init__.py @@ -274,6 +274,8 @@ def load_module_graph(graph, pool, update=None, lang=None): ])) module2state[module] = 'activated' + # Clear cache from old data cached before transaction started + Cache.clear_all() # Avoid clearing cache to prevent dead lock on ir.cache table Cache.rollback(transaction) transaction.commit() From 79494b2ae318b0d5b5472e847c445990f583779a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 12:00:23 +0200 Subject: [PATCH 021/932] Declare blob as variable in image_url (grafted from a1f60a5423395af9f974237424b9776f2b9913b3) --HG-- branch : 6.8 --- sao/src/common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sao/src/common.js b/sao/src/common.js index ac793cef27b..3bf8d8a99e2 100644 --- a/sao/src/common.js +++ b/sao/src/common.js @@ -4259,7 +4259,7 @@ } } catch (e) { } - blob = new Blob([data], {type: type}); + var blob = new Blob([data], {type: type}); return window.URL.createObjectURL(blob); }; From ae50ec10ed6bdc1285fb36a535afe3a94fa290ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:29:14 +0200 Subject: [PATCH 022/932] Prepare release trytond-6.8.1 --HG-- branch : 6.8 --- trytond/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/trytond/CHANGELOG b/trytond/CHANGELOG index f10c527ef63..0938e84f1a3 100644 --- a/trytond/CHANGELOG +++ b/trytond/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From b81ff42ce820d4a73938f20a76a07c4f16690976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:29:15 +0200 Subject: [PATCH 023/932] Add tag trytond-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 8ba27991800..3e4c2e17f2a 100644 --- a/.hgtags +++ b/.hgtags @@ -8821,3 +8821,4 @@ c7aa2dba8c3dc001e420041a3fc4665204c6510b sao-6.8.0 c7aa2dba8c3dc001e420041a3fc4665204c6510b proteus-6.8.0 c7aa2dba8c3dc001e420041a3fc4665204c6510b trytond-gis-6.8.0 c7aa2dba8c3dc001e420041a3fc4665204c6510b tryton-6.8.0 +fd3ebb1b25cbfb3199f38499552c7b8c011a2c9a trytond-6.8.1 From 8fde743cb066b80d60a5a228a6c4d8b92b627908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:29:33 +0200 Subject: [PATCH 024/932] Increase version number --HG-- branch : 6.8 --- trytond/trytond/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/trytond/__init__.py b/trytond/trytond/__init__.py index ed6e758d7b8..46a570f99fd 100644 --- a/trytond/trytond/__init__.py +++ b/trytond/trytond/__init__.py @@ -8,7 +8,7 @@ import __main__ from lxml import etree, objectify -__version__ = "6.8.1" +__version__ = "6.8.2" os.environ.setdefault( 'TRYTOND_APPNAME', From c0a80544a58a02da21784ca6846a48cf68134ee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:35:29 +0200 Subject: [PATCH 025/932] Prepare release tryton-6.8.1 --HG-- branch : 6.8 --- tryton/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tryton/CHANGELOG b/tryton/CHANGELOG index 5aacd9eebe5..edfae62477a 100644 --- a/tryton/CHANGELOG +++ b/tryton/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 1884abdd3d3623084c15d23f094a5197ef60f159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:35:30 +0200 Subject: [PATCH 026/932] Add tag tryton-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 3e4c2e17f2a..5e07fe57cbf 100644 --- a/.hgtags +++ b/.hgtags @@ -8822,3 +8822,4 @@ c7aa2dba8c3dc001e420041a3fc4665204c6510b proteus-6.8.0 c7aa2dba8c3dc001e420041a3fc4665204c6510b trytond-gis-6.8.0 c7aa2dba8c3dc001e420041a3fc4665204c6510b tryton-6.8.0 fd3ebb1b25cbfb3199f38499552c7b8c011a2c9a trytond-6.8.1 +698f640273b37505fee7005d177f4ef567cb9498 tryton-6.8.1 From 8f4491b05468fbf2a4be8fa3540661dab65b9d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:35:45 +0200 Subject: [PATCH 027/932] Increase version number --HG-- branch : 6.8 --- tryton/tryton/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tryton/tryton/__init__.py b/tryton/tryton/__init__.py index eb731551401..a4ddb5ca347 100644 --- a/tryton/tryton/__init__.py +++ b/tryton/tryton/__init__.py @@ -1,6 +1,6 @@ # This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. -__version__ = "6.8.1" +__version__ = "6.8.2" import locale import gi From e96489f4e7a6b0bcc9b2c7503725b35b8dd7ecc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:38:48 +0200 Subject: [PATCH 028/932] Prepare release sao-6.8.1 --HG-- branch : 6.8 --- sao/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sao/CHANGELOG b/sao/CHANGELOG index 5202d920ae7..f9b636514c4 100644 --- a/sao/CHANGELOG +++ b/sao/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 9669a1970d8f8880a0a4f3276ef51b85cc1cc011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:38:49 +0200 Subject: [PATCH 029/932] Add tag sao-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 5e07fe57cbf..d23ceb0c539 100644 --- a/.hgtags +++ b/.hgtags @@ -8823,3 +8823,4 @@ c7aa2dba8c3dc001e420041a3fc4665204c6510b trytond-gis-6.8.0 c7aa2dba8c3dc001e420041a3fc4665204c6510b tryton-6.8.0 fd3ebb1b25cbfb3199f38499552c7b8c011a2c9a trytond-6.8.1 698f640273b37505fee7005d177f4ef567cb9498 tryton-6.8.1 +5b313fa41b6f96de06d1d055df2e0b99b30213de sao-6.8.1 From cc7201548d96f4e9311c1f94f0968639c542404b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:39:07 +0200 Subject: [PATCH 030/932] Increase version number --HG-- branch : 6.8 --- sao/package.json | 2 +- sao/src/sao.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sao/package.json b/sao/package.json index 0a38ec7b5bf..a3d4c5b222b 100644 --- a/sao/package.json +++ b/sao/package.json @@ -2,7 +2,7 @@ "name": "tryton-sao", "title": "sao", "description": "Tryton webclient", - "version": "6.8.1", + "version": "6.8.2", "homepage": "http://www.tryton.org/", "author": { "name": "Tryton" diff --git a/sao/src/sao.js b/sao/src/sao.js index e149c48a582..3a1bd2e42fc 100644 --- a/sao/src/sao.js +++ b/sao/src/sao.js @@ -1,7 +1,7 @@ /* This file is part of Tryton. The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms. */ var Sao = { - __version__: '6.8.0', + __version__: '6.8.2', }; (function() { From 00fc42094b59afbd1405d0ebddf6212cb9e0f2fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:44:25 +0200 Subject: [PATCH 031/932] Prepare release stock-6.8.1 --HG-- branch : 6.8 --- modules/stock/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/stock/CHANGELOG b/modules/stock/CHANGELOG index 31b7e6f6ff6..c994dadd684 100644 --- a/modules/stock/CHANGELOG +++ b/modules/stock/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 7a238c537c35e1e2d8c4dbb5ecae866cee6b6ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:44:26 +0200 Subject: [PATCH 032/932] Add tag stock-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index d23ceb0c539..4acf35d5e8a 100644 --- a/.hgtags +++ b/.hgtags @@ -8824,3 +8824,4 @@ c7aa2dba8c3dc001e420041a3fc4665204c6510b tryton-6.8.0 fd3ebb1b25cbfb3199f38499552c7b8c011a2c9a trytond-6.8.1 698f640273b37505fee7005d177f4ef567cb9498 tryton-6.8.1 5b313fa41b6f96de06d1d055df2e0b99b30213de sao-6.8.1 +8a202548d5dbdc277070f067b8d439939b5ebcb0 stock-6.8.1 From 6c523b103b6344bfa91e1261c4334f8da8ab5e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:44:38 +0200 Subject: [PATCH 033/932] Increase version number --HG-- branch : 6.8 --- modules/stock/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/stock/tryton.cfg b/modules/stock/tryton.cfg index 406eeb00625..719bfc542de 100644 --- a/modules/stock/tryton.cfg +++ b/modules/stock/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: company currency From 4d1f4f56ad77a158f75cbb7ce358e1714117e4d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:44:58 +0200 Subject: [PATCH 034/932] Prepare release sale_subscription-6.8.1 --HG-- branch : 6.8 --- modules/sale_subscription/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale_subscription/CHANGELOG b/modules/sale_subscription/CHANGELOG index ef8e38f9600..9cc625a7d29 100644 --- a/modules/sale_subscription/CHANGELOG +++ b/modules/sale_subscription/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From b74534280a679943a79c54b76c13b4b2b76b01ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:44:59 +0200 Subject: [PATCH 035/932] Add tag sale_subscription-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 4acf35d5e8a..180d810eb77 100644 --- a/.hgtags +++ b/.hgtags @@ -8825,3 +8825,4 @@ fd3ebb1b25cbfb3199f38499552c7b8c011a2c9a trytond-6.8.1 698f640273b37505fee7005d177f4ef567cb9498 tryton-6.8.1 5b313fa41b6f96de06d1d055df2e0b99b30213de sao-6.8.1 8a202548d5dbdc277070f067b8d439939b5ebcb0 stock-6.8.1 +653a1a6e8f838d0932b1b9baafbf1fa1ade2bc60 sale_subscription-6.8.1 From ec3b65be207e2f72e92677ddf12206b7107dd1ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:45:10 +0200 Subject: [PATCH 036/932] Increase version number --HG-- branch : 6.8 --- modules/sale_subscription/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_subscription/tryton.cfg b/modules/sale_subscription/tryton.cfg index 776fa91406a..5e9f90e2774 100644 --- a/modules/sale_subscription/tryton.cfg +++ b/modules/sale_subscription/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account account_invoice From 7b27f15aab48397dac54d05648d3aaaa7e146263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:47:30 +0200 Subject: [PATCH 037/932] Prepare release sale-6.8.1 --HG-- branch : 6.8 --- modules/sale/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale/CHANGELOG b/modules/sale/CHANGELOG index ed6dd0a8cb4..64b5aba5dac 100644 --- a/modules/sale/CHANGELOG +++ b/modules/sale/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 20fd596df97b8637e0539f8dfd114245d30d45de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:47:31 +0200 Subject: [PATCH 038/932] Add tag sale-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 180d810eb77..d4e5a77e57d 100644 --- a/.hgtags +++ b/.hgtags @@ -8826,3 +8826,4 @@ fd3ebb1b25cbfb3199f38499552c7b8c011a2c9a trytond-6.8.1 5b313fa41b6f96de06d1d055df2e0b99b30213de sao-6.8.1 8a202548d5dbdc277070f067b8d439939b5ebcb0 stock-6.8.1 653a1a6e8f838d0932b1b9baafbf1fa1ade2bc60 sale_subscription-6.8.1 +a58b34286c3efd4cc7875261725ca6c33332ef76 sale-6.8.1 From 35b81e54d4a6f5874a117637ca9687bed6b132b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:47:41 +0200 Subject: [PATCH 039/932] Increase version number --HG-- branch : 6.8 --- modules/sale/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale/tryton.cfg b/modules/sale/tryton.cfg index 88bbf0960b8..387bd202341 100644 --- a/modules/sale/tryton.cfg +++ b/modules/sale/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account account_invoice From 5c41b5d78cb46a40096202db89b26a382ddd29e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:47:56 +0200 Subject: [PATCH 040/932] Prepare release purchase-6.8.1 --HG-- branch : 6.8 --- modules/purchase/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/purchase/CHANGELOG b/modules/purchase/CHANGELOG index bef9573ea46..5f24909132d 100644 --- a/modules/purchase/CHANGELOG +++ b/modules/purchase/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From aff1e2b591f3bfb806166f90d1ee08e5794019d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:47:57 +0200 Subject: [PATCH 041/932] Add tag purchase-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index d4e5a77e57d..56e9eb8a449 100644 --- a/.hgtags +++ b/.hgtags @@ -8827,3 +8827,4 @@ fd3ebb1b25cbfb3199f38499552c7b8c011a2c9a trytond-6.8.1 8a202548d5dbdc277070f067b8d439939b5ebcb0 stock-6.8.1 653a1a6e8f838d0932b1b9baafbf1fa1ade2bc60 sale_subscription-6.8.1 a58b34286c3efd4cc7875261725ca6c33332ef76 sale-6.8.1 +eec942c6fd374d072d20fbc164989fb819cc0eea purchase-6.8.1 From 131981c9c02c6447558da794a9eaf2c5708ca239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:48:09 +0200 Subject: [PATCH 042/932] Increase version number --HG-- branch : 6.8 --- modules/purchase/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/purchase/tryton.cfg b/modules/purchase/tryton.cfg index cffb1e3909e..1ea2327275f 100644 --- a/modules/purchase/tryton.cfg +++ b/modules/purchase/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account account_invoice From 9c2393c2f84ac1b35370e6e2de5130626adb1c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:54:52 +0200 Subject: [PATCH 043/932] Prepare release commission-6.8.1 --HG-- branch : 6.8 --- modules/commission/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/commission/CHANGELOG b/modules/commission/CHANGELOG index 5e9157e5165..0b543fb0074 100644 --- a/modules/commission/CHANGELOG +++ b/modules/commission/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 1c97e0ddb79e77d533653812054df81dbdb5d955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:54:53 +0200 Subject: [PATCH 044/932] Add tag commission-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 56e9eb8a449..3657fd5d338 100644 --- a/.hgtags +++ b/.hgtags @@ -8828,3 +8828,4 @@ fd3ebb1b25cbfb3199f38499552c7b8c011a2c9a trytond-6.8.1 653a1a6e8f838d0932b1b9baafbf1fa1ade2bc60 sale_subscription-6.8.1 a58b34286c3efd4cc7875261725ca6c33332ef76 sale-6.8.1 eec942c6fd374d072d20fbc164989fb819cc0eea purchase-6.8.1 +c42ad9c5872b9c0ec1b71a33212f11c771fd9154 commission-6.8.1 From b2dbbede4b589832343b38489d32bad5546e69d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:55:02 +0200 Subject: [PATCH 045/932] Increase version number --HG-- branch : 6.8 --- modules/commission/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/commission/tryton.cfg b/modules/commission/tryton.cfg index bdb00fd5229..de44f408ee7 100644 --- a/modules/commission/tryton.cfg +++ b/modules/commission/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account account_invoice From 099fe6296f04ff96e12d1f0e1f2cbcd716db3471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:55:58 +0200 Subject: [PATCH 046/932] Prepare release account_payment_sepa-6.8.1 --HG-- branch : 6.8 --- modules/account_payment_sepa/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_payment_sepa/CHANGELOG b/modules/account_payment_sepa/CHANGELOG index aef7df72729..c93af629274 100644 --- a/modules/account_payment_sepa/CHANGELOG +++ b/modules/account_payment_sepa/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From eb63892472c8b2dcbf7f7266adc6e0a52abd4bcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:56:00 +0200 Subject: [PATCH 047/932] Add tag account_payment_sepa-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 3657fd5d338..6c4c9ce7b7b 100644 --- a/.hgtags +++ b/.hgtags @@ -8829,3 +8829,4 @@ fd3ebb1b25cbfb3199f38499552c7b8c011a2c9a trytond-6.8.1 a58b34286c3efd4cc7875261725ca6c33332ef76 sale-6.8.1 eec942c6fd374d072d20fbc164989fb819cc0eea purchase-6.8.1 c42ad9c5872b9c0ec1b71a33212f11c771fd9154 commission-6.8.1 +efddeb954ea81fb13799f9803e224ce4f7773dc2 account_payment_sepa-6.8.1 From 5b78b7cb35b5f85d29c06028054ae4e6c999664e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:56:10 +0200 Subject: [PATCH 048/932] Increase version number --HG-- branch : 6.8 --- modules/account_payment_sepa/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_payment_sepa/tryton.cfg b/modules/account_payment_sepa/tryton.cfg index 035d0ae95ff..3841f9316b7 100644 --- a/modules/account_payment_sepa/tryton.cfg +++ b/modules/account_payment_sepa/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account_payment company From 10c22c1432fa8b0f9cae7786a0e22e7364885c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:57:45 +0200 Subject: [PATCH 049/932] Prepare release account_invoice_defer-6.8.1 --HG-- branch : 6.8 --- modules/account_invoice_defer/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_invoice_defer/CHANGELOG b/modules/account_invoice_defer/CHANGELOG index c01aca00a10..b0eb50c4738 100644 --- a/modules/account_invoice_defer/CHANGELOG +++ b/modules/account_invoice_defer/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 1cecf619784c01c24c9731a97f407e8f464ec0fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:57:46 +0200 Subject: [PATCH 050/932] Add tag account_invoice_defer-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 6c4c9ce7b7b..38bea6063de 100644 --- a/.hgtags +++ b/.hgtags @@ -8830,3 +8830,4 @@ a58b34286c3efd4cc7875261725ca6c33332ef76 sale-6.8.1 eec942c6fd374d072d20fbc164989fb819cc0eea purchase-6.8.1 c42ad9c5872b9c0ec1b71a33212f11c771fd9154 commission-6.8.1 efddeb954ea81fb13799f9803e224ce4f7773dc2 account_payment_sepa-6.8.1 +e3168df3f41ae6d329818774c35725b447b3930a account_invoice_defer-6.8.1 From da2776c579467443c9bcddd8eba83c6ee59c6269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:57:55 +0200 Subject: [PATCH 051/932] Increase version number --HG-- branch : 6.8 --- modules/account_invoice_defer/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_invoice_defer/tryton.cfg b/modules/account_invoice_defer/tryton.cfg index 57dedf5244e..7184abb57aa 100644 --- a/modules/account_invoice_defer/tryton.cfg +++ b/modules/account_invoice_defer/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account account_invoice From 3067659922c00f1b2ae1eecaa79a86879a4c2fe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:58:11 +0200 Subject: [PATCH 052/932] Prepare release account_invoice-6.8.1 --HG-- branch : 6.8 --- modules/account_invoice/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_invoice/CHANGELOG b/modules/account_invoice/CHANGELOG index bc41f4171a6..fc50939fce5 100644 --- a/modules/account_invoice/CHANGELOG +++ b/modules/account_invoice/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From cf738012981847eeb17e2a9bef47f85cec8aca2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:58:12 +0200 Subject: [PATCH 053/932] Add tag account_invoice-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 38bea6063de..c72e80e077a 100644 --- a/.hgtags +++ b/.hgtags @@ -8831,3 +8831,4 @@ eec942c6fd374d072d20fbc164989fb819cc0eea purchase-6.8.1 c42ad9c5872b9c0ec1b71a33212f11c771fd9154 commission-6.8.1 efddeb954ea81fb13799f9803e224ce4f7773dc2 account_payment_sepa-6.8.1 e3168df3f41ae6d329818774c35725b447b3930a account_invoice_defer-6.8.1 +8daa4d7472cb4df08648dfbeb6110b5c405495dd account_invoice-6.8.1 From 0993823d141b40a48d5451a9330581ac39305ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 22:58:23 +0200 Subject: [PATCH 054/932] Increase version number --HG-- branch : 6.8 --- modules/account_invoice/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_invoice/tryton.cfg b/modules/account_invoice/tryton.cfg index 5e368b8bb7b..6dcebcec833 100644 --- a/modules/account_invoice/tryton.cfg +++ b/modules/account_invoice/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account account_product From 17728fdb45d8bc005dd849b118877b5f1703b17e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 23:00:06 +0200 Subject: [PATCH 055/932] Prepare release account-6.8.1 --HG-- branch : 6.8 --- modules/account/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account/CHANGELOG b/modules/account/CHANGELOG index 10acfa05ddb..2f0fec77d51 100644 --- a/modules/account/CHANGELOG +++ b/modules/account/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-05-17 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 81c7478843da5735f5783bfdf9645310a5910f8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 23:00:07 +0200 Subject: [PATCH 056/932] Add tag account-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index c72e80e077a..76a5ad64f53 100644 --- a/.hgtags +++ b/.hgtags @@ -8832,3 +8832,4 @@ c42ad9c5872b9c0ec1b71a33212f11c771fd9154 commission-6.8.1 efddeb954ea81fb13799f9803e224ce4f7773dc2 account_payment_sepa-6.8.1 e3168df3f41ae6d329818774c35725b447b3930a account_invoice_defer-6.8.1 8daa4d7472cb4df08648dfbeb6110b5c405495dd account_invoice-6.8.1 +bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 From 4043e82dc9fba61f2aa1583996e9dd37a39e1cb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 17 May 2023 23:00:20 +0200 Subject: [PATCH 057/932] Increase version number --HG-- branch : 6.8 --- modules/account/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account/tryton.cfg b/modules/account/tryton.cfg index cb4b53bc4a1..72c1b915d39 100644 --- a/modules/account/tryton.cfg +++ b/modules/account/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: company currency From 0f7cc052f45a27532b791c845d0d812d19299549 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Wed, 17 May 2023 11:26:13 +0200 Subject: [PATCH 058/932] Update SII wsdl location Closes #12276 (grafted from c417ed476b4349adb06081fe8d8f2270ba05875b) --HG-- branch : 6.8 --- modules/account_es_sii/account.py | 4 ++-- modules/account_es_sii/tests/test_module.py | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/modules/account_es_sii/account.py b/modules/account_es_sii/account.py index b6b4f0bdd77..5cfa8d6a668 100644 --- a/modules/account_es_sii/account.py +++ b/modules/account_es_sii/account.py @@ -34,8 +34,8 @@ # XXX: URLs for basque country and navarra should be added ] WS_URL = { - 'aeat': ('https://www2.agenciatributaria.gob.es/static_files/' - 'common/internet/dep/aplicaciones/es/aeat/ssii_1_1/fact/ws/'), + 'aeat': ('https://www2.agenciatributaria.gob.es/static_files/common/' + 'internet/dep/aplicaciones/es/aeat/ssii_1_1_bis/fact/ws/'), 'guipuzkoa': ( 'https://egoitza.gipuzkoa.eus/ogasuna/sii/ficheros/v1.1/'), } diff --git a/modules/account_es_sii/tests/test_module.py b/modules/account_es_sii/tests/test_module.py index be91b3603ae..2a56543a8a2 100644 --- a/modules/account_es_sii/tests/test_module.py +++ b/modules/account_es_sii/tests/test_module.py @@ -4,6 +4,7 @@ from decimal import Decimal from trytond.modules.account.tests import create_chart, get_fiscalyear +from trytond.modules.account_es_sii.account import SII_URL from trytond.modules.account_invoice.tests import set_invoice_sequences from trytond.modules.company.tests import create_company, set_company from trytond.modules.currency.tests import add_currency_rate, create_currency @@ -527,5 +528,25 @@ def test_taxes_excluded_from_sii_taxes(self): self.assertEqual(sii_invoice, []) + @with_transaction() + def test_get_client(self): + "Test client can be initialized for all environments" + pool = Pool() + Config = pool.get('account.configuration') + Credential = pool.get('account.credential.sii') + + company = create_company() + with set_company(company): + config = Config(1) + for key, _ in SII_URL: + if not key: + continue + for environment in ['staging', 'production']: + config.es_sii_url = key + config.es_sii_environment = environment + config.save() + client = Credential.get_client('SuministroFactEmitidas') + self.assertTrue(client) + del ModuleTestCase From 7cfc29709f2d36f322311631da1b1cc86ddf3b49 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Thu, 25 May 2023 15:55:40 +0200 Subject: [PATCH 059/932] Manage empty stock end date values on location quantities Closes #12289 (grafted from 7909707c00f7eaf784ff64243b38b007532655d0) --HG-- branch : 6.8 --- modules/stock/location.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/stock/location.py b/modules/stock/location.py index c3f4c45953c..a854c7bff4b 100644 --- a/modules/stock/location.py +++ b/modules/stock/location.py @@ -406,7 +406,7 @@ def valid_context(name): context = {} if (name == 'quantity' - and (trans_context.get('stock_date_end', datetime.date.max) + and ((trans_context.get('stock_date_end') or datetime.date.max) > Date_.today())): context['stock_date_end'] = Date_.today() @@ -494,7 +494,7 @@ def get_record(): return Template(trans_context['product_template']) context = {} - if 'stock_date_end' in trans_context: + if trans_context.get('stock_date_end') is not None: # Use the last cost_price of the day context['_datetime'] = datetime.datetime.combine( trans_context['stock_date_end'], datetime.time.max) From 9a655435d3c3174b5cfaf5055b22260fe416311b Mon Sep 17 00:00:00 2001 From: Hodei Navarro Date: Thu, 25 May 2023 09:06:04 +0200 Subject: [PATCH 060/932] Fix typo in search field when deactivating sale point's tax included Closes #12286 (grafted from 7ab82689c4a93e3da8e14f0bd94f0daa197732bf) --HG-- branch : 6.8 --- modules/sale_point/sale.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_point/sale.py b/modules/sale_point/sale.py index e8eb750fa68..a5c52654f6e 100644 --- a/modules/sale_point/sale.py +++ b/modules/sale_point/sale.py @@ -81,7 +81,7 @@ def write(cls, *args): if 'tax_included' in values: for sub_points in grouped_slice(points): if Sale.search([ - ('points', 'in', + ('point', 'in', list(map(int, sub_points))), ], limit=1, order=[]): From bd439cc7ff168751fc0bc0d8401007a26f9e2a21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Sat, 27 May 2023 17:12:48 +0200 Subject: [PATCH 061/932] Set the score to 0 for HashTranslator in PostgreSQL when include is specified For now indexes using the HASH method do not support the use of included columns on Postgres. Closes #12294 (grafted from de4b02c5ac9757171a70d174f10702836ccfccca) --HG-- branch : 6.8 --- trytond/trytond/backend/postgresql/table.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/trytond/trytond/backend/postgresql/table.py b/trytond/trytond/backend/postgresql/table.py index a4aefb581c3..75c4c8b2763 100644 --- a/trytond/trytond/backend/postgresql/table.py +++ b/trytond/trytond/backend/postgresql/table.py @@ -598,6 +598,8 @@ def score(cls, index): if (len(index.expressions) > 1 or index.expressions[0][1].__class__.__name__ != 'Equality'): return 0 + if index.options.get('include'): + return 0 return 100 @classmethod From 16a239039f6d2ed60773016db9d70d0766c190d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 10 May 2023 10:22:21 +0200 Subject: [PATCH 062/932] Do not validate model that requires transaction lock Since c8771e45b861 an exception is raised if the table was not locked on transaction starts. When validating some records with trytond-admin, we do not want to restart the validation process to lock the tables to avoid creating conflict with the running server. (grafted from ee4a21126b3a21ee5e10daedff7ed3f12c088cf7) --HG-- branch : 6.8 --- trytond/trytond/admin.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/trytond/trytond/admin.py b/trytond/trytond/admin.py index 8036c1c02b1..24923057582 100644 --- a/trytond/trytond/admin.py +++ b/trytond/trytond/admin.py @@ -166,13 +166,17 @@ def validate(models, percentage=100): break records = Model.browse( random.sample(records, int(len(records) * ratio))) - for record in records: - try: - Model._validate([record]) - except ValidationError as exception: - logger.error("%s: KO '%s'", record, exception) - else: - logger.info("%s: OK", record) + try: + for record in records: + try: + Model._validate([record]) + except ValidationError as exception: + logger.error("%s: KO '%s'", record, exception) + else: + logger.info("%s: OK", record) + except TransactionError: + logger.info("%s: SKIPPED", name) + break if issubclass(Model, ModelSingleton): break offset += limit From acd207ef61e5b4cad5037f8fb17abd5480c00639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 11 May 2023 09:31:20 +0200 Subject: [PATCH 063/932] Fallback to raw selection value as selection string The changeset 2763339d88d5 removed the fallback when reading invalid data for a selection but it is important to not fail on reading to let the user fix the error. (grafted from d9b6d16d256a718655a953671c3cb9a7ae6ebfa9) --HG-- branch : 6.8 --- trytond/trytond/model/fields/selection.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/trytond/model/fields/selection.py b/trytond/trytond/model/fields/selection.py index db8b0cfce2e..de2ac762d2c 100644 --- a/trytond/trytond/model/fields/selection.py +++ b/trytond/trytond/model/fields/selection.py @@ -90,7 +90,7 @@ def get_selection_string(cls, selection, value): switch_value = {None: '', '': None}[value] if switch_value in selection: value = switch_value - return selection[value] + return selection.get(value, value) class Selection(SelectionMixin, Field): From 83a9ff346d31b5cd07f15be42f678dafe9b7f4b9 Mon Sep 17 00:00:00 2001 From: Maxime Richez Date: Thu, 1 Jun 2023 08:48:45 +0200 Subject: [PATCH 064/932] Use selection widget for weekday on currency cron form Closes #12292 (grafted from af1cbfe620461274b7a692a8f443f3ead8189222) --HG-- branch : 6.8 --- modules/currency/view/cron_form.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/currency/view/cron_form.xml b/modules/currency/view/cron_form.xml index e349c72b951..8dd28e5a160 100644 --- a/modules/currency/view/cron_form.xml +++ b/modules/currency/view/cron_form.xml @@ -8,7 +8,7 @@ this repository contains the full copyright notices and license terms. --> From fe7b9389499c8faca0820da88e8988c1d7e46476 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Tue, 16 May 2023 09:35:15 +0200 Subject: [PATCH 065/932] Do not test quantity for lines of type different than line Closes #12274 (grafted from 57e7226a2a3a0f2af00e3c31a36106a45b2c2512) --HG-- branch : 6.8 --- modules/account_rule/purchase.py | 2 +- modules/account_rule/sale.py | 2 +- modules/account_rule/tests/scenario_account_rule.rst | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/account_rule/purchase.py b/modules/account_rule/purchase.py index 7eeb64df8ee..7d0840ac32c 100644 --- a/modules/account_rule/purchase.py +++ b/modules/account_rule/purchase.py @@ -10,5 +10,5 @@ class Line(metaclass=PoolMeta): def get_invoice_line(self): with Transaction().set_context( taxes=[t.id for t in self.taxes], - return_=self.quantity < 0): + return_=self.type == 'line' and self.quantity < 0): return super().get_invoice_line() diff --git a/modules/account_rule/sale.py b/modules/account_rule/sale.py index 9b892d291bb..c6a1267f85f 100644 --- a/modules/account_rule/sale.py +++ b/modules/account_rule/sale.py @@ -10,5 +10,5 @@ class Line(metaclass=PoolMeta): def get_invoice_line(self): with Transaction().set_context( taxes=[t.id for t in self.taxes], - return_=self.quantity < 0): + return_=self.type == 'line' and self.quantity < 0): return super().get_invoice_line() diff --git a/modules/account_rule/tests/scenario_account_rule.rst b/modules/account_rule/tests/scenario_account_rule.rst index 0336059d735..c5b0474916c 100644 --- a/modules/account_rule/tests/scenario_account_rule.rst +++ b/modules/account_rule/tests/scenario_account_rule.rst @@ -95,6 +95,9 @@ Test rules with a sale:: >>> line = sale.lines.new() >>> line.product = product >>> line.quantity = -1 + >>> line = sale.lines.new() + >>> line.type = 'comment' + >>> line.description = 'Sample' >>> sale.click('quote') >>> sale.click('confirm') >>> sale.state From 9b5f84265bf43a77eaeb8295aa706e8479dddc05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 11 May 2023 09:38:33 +0200 Subject: [PATCH 066/932] Call get_currencies from super to add balanced when reconcile deposit account The changeset f9560247a0fc changed the name of the function without renaming the super call. Closes #12266 (grafted from b575157cffabea75a9c65ef17091f0c3c8f015fe) --HG-- branch : 6.8 --- modules/account_deposit/account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_deposit/account.py b/modules/account_deposit/account.py index 0f1b5d86fa8..83a5605ecca 100644 --- a/modules/account_deposit/account.py +++ b/modules/account_deposit/account.py @@ -49,5 +49,5 @@ class Reconcile(metaclass=PoolMeta): def get_currencies(self, account, party, currency=None, _balanced=False): if account.type.deposit: _balanced = True - return super().get_parties( + return super().get_currencies( account, party, currency=None, _balanced=_balanced) From 687cf85271d00b6104f06fbe4a169950e0f7be6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 8 May 2023 13:21:10 +0200 Subject: [PATCH 067/932] Parse authorization header for session scheme without token Since Werkzeug >= 2.3, it always tries to parse the Authorization header as a digest. If the session value which is encoded in base64 needs padding, the trailing `=` are interpreted as header values and the token attribute is not filled. In this case we must parse ourself the Authorization header to decode the base64 value as session. Closes #12259 (grafted from 0bd0b8a0e20ad8d2f3d13cc8d879c78717817b7a) --HG-- branch : 6.8 --- trytond/trytond/protocols/wrappers.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/trytond/trytond/protocols/wrappers.py b/trytond/trytond/protocols/wrappers.py index 269598c50c0..0d11ce2e438 100644 --- a/trytond/trytond/protocols/wrappers.py +++ b/trytond/trytond/protocols/wrappers.py @@ -95,7 +95,13 @@ def authorization(self): header = self.headers.get('Authorization') return parse_authorization_header(header) elif authorization.type == 'session': - return parse_session(authorization.token) + # Werkzeug may parse the session as parameters + # if the base64 uses the padding sign '=' + if authorization.token is None: + header = self.headers.get('Authorization') + return parse_authorization_header(header) + else: + return parse_session(authorization.token) return authorization @cached_property From 8a0f2f127ab4efd26b3ea468fb5772c24241edd2 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Fri, 5 May 2023 09:58:39 +0200 Subject: [PATCH 068/932] Fix typo in sale supply register method Closes #12255 (grafted from 081dcfb3fbd80dcb8b716ea805c53a028c410834) --HG-- branch : 6.8 --- modules/sale_supply/product.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_supply/product.py b/modules/sale_supply/product.py index 0ff3df1ac94..f1f4e58679f 100644 --- a/modules/sale_supply/product.py +++ b/modules/sale_supply/product.py @@ -23,7 +23,7 @@ class Template(metaclass=PoolMeta): }) @classmethod - def __resgister__(cls, module): + def __register__(cls, module): table_h = cls.__table_handler__(module) table = cls.__table__() cursor = Transaction().connection.cursor() From 12d20239e5348f2a1c6b9ea11e2aa899a6a8c6fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 2 Jun 2023 18:26:46 +0200 Subject: [PATCH 069/932] Do not migrate supply on sale column if it does not exist (grafted from 5010033bc75227ee897319cec3adf6ea17040b9f) --HG-- branch : 6.8 --- modules/sale_supply/product.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/sale_supply/product.py b/modules/sale_supply/product.py index f1f4e58679f..db493b8aa25 100644 --- a/modules/sale_supply/product.py +++ b/modules/sale_supply/product.py @@ -28,8 +28,9 @@ def __register__(cls, module): table = cls.__table__() cursor = Transaction().connection.cursor() - migrate_supply_on_sale = table_h.column_is_type( - 'supply_on_sale', 'BOOL') + migrate_supply_on_sale = ( + table_h.column_exist('supply_on_sale') + and table_h.column_is_type('supply_on_sale', 'BOOL')) if migrate_supply_on_sale: table_h.column_rename('supply_on_sale', '_temp_supply_on_sale') From 1fe782ccd2e2b175f96d22cd46ea12a35756e4ef Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Fri, 2 Jun 2023 18:59:32 +0200 Subject: [PATCH 070/932] Migrate supply_on_sale in history table if activated Closes #12255 (grafted from 7f1f0d918bef55c05b53d83df9edfb9cebbaf1c4) --HG-- branch : 6.8 --- modules/sale_supply/product.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/sale_supply/product.py b/modules/sale_supply/product.py index db493b8aa25..b1362ac2b21 100644 --- a/modules/sale_supply/product.py +++ b/modules/sale_supply/product.py @@ -33,6 +33,15 @@ def __register__(cls, module): and table_h.column_is_type('supply_on_sale', 'BOOL')) if migrate_supply_on_sale: table_h.column_rename('supply_on_sale', '_temp_supply_on_sale') + if cls._history: + h_table_h = cls.__table_handler__(module, history=True) + h_table = cls.__table__() + h_migrate_supply_on_sale = ( + h_table_h.column_exist('supply_on_sale') + and h_table_h.column_is_type('supply_on_sale', 'BOOL')) + if h_migrate_supply_on_sale: + h_table_h.column_rename( + 'supply_on_sale', '_temp_supply_on_sale') super().__register__(module) @@ -43,6 +52,12 @@ def __register__(cls, module): ['always'], where=table._temp_supply_on_sale == Literal(True))) table_h.drop_column('_temp_supply_on_sale') + if cls._history and h_migrate_supply_on_sale: + cursor.execute(*h_table.update( + [h_table.supply_on_sale], + ['always'], + where=h_table._temp_supply_on_sale == Literal(True))) + h_table_h.drop_column('_temp_supply_on_sale') @fields.depends(methods=['_notify_order_point']) def on_change_notify(self): From 1a92607d1bf4b6c77b49642c1050e4c49077fff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 6 Jun 2023 12:55:12 +0200 Subject: [PATCH 071/932] Fallback to empty string when column path is NULL Closes #12235 (grafted from e101eb4e51fbf3033739ac4d1fba24e6a5a1eb22) --HG-- branch : 6.8 --- trytond/trytond/model/fields/many2one.py | 1 + 1 file changed, 1 insertion(+) diff --git a/trytond/trytond/model/fields/many2one.py b/trytond/trytond/model/fields/many2one.py index 1f9b967bcf1..7b1a2354a8d 100644 --- a/trytond/trytond/model/fields/many2one.py +++ b/trytond/trytond/model/fields/many2one.py @@ -133,6 +133,7 @@ def convert_domain_path(self, domain, tables): red_sql = reduce_ids(table.id, (i for i in ids if i is not None)) Target = self.get_target() path_column = getattr(Target, self.path).sql_column(table) + path_column = Coalesce(path_column, '') cursor.execute(*table.select(path_column, where=red_sql)) if operator.endswith('child_of'): where = Or() From f9d3c49edc4864de476f517eb423793787c31cca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 5 Jun 2023 15:18:11 +0200 Subject: [PATCH 072/932] Use boolean value when enforcing value to edit delivery date of purchase line The clients always convert Boolean field values into boolean so the domain validation against None value is always failing. Closes #12306 (grafted from 0ddfb45cd49e8fbfc4550df20130c160c8c3e05b) --HG-- branch : 6.8 --- modules/purchase/purchase.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py index 90b30efc8e8..bdfa55336a0 100644 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -1253,7 +1253,7 @@ class Line(sequence_ordered(), ModelSQL, ModelView): "Edit Delivery Date", domain=[ If(Eval('type') != 'line', - ('delivery_date_edit', '=', None), + ('delivery_date_edit', '=', False), ()), ], states={ From 0bde64589a8497c5a40386b8e49ae2c1cc8ea949 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 9 Jun 2023 08:17:20 +0200 Subject: [PATCH 073/932] Do not try to login if Authorization has no username User application request has an Authorization header so an Authorization instance is returned but it can not be used for login. Closes #12312 (grafted from 0a4e13728c0a9bb24536cb1033d95ca6749a2b9d) --HG-- branch : 6.8 --- trytond/trytond/protocols/wrappers.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/trytond/trytond/protocols/wrappers.py b/trytond/trytond/protocols/wrappers.py index 0d11ce2e438..d4f4d3627d3 100644 --- a/trytond/trytond/protocols/wrappers.py +++ b/trytond/trytond/protocols/wrappers.py @@ -119,7 +119,7 @@ def user_id(self): user_id = security.check( database_name, auth.get('userid'), auth.get('session'), context=context) - else: + elif auth.username: parameters = getattr(auth, 'parameters', auth) try: user_id = security.login( @@ -127,6 +127,8 @@ def user_id(self): context=context) except RateLimitException: abort(HTTPStatus.TOO_MANY_REQUESTS) + else: + user_id = None return user_id @cached_property From 7936bb6f1de11a138a7d3297ea1fe475e8c04855 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:09:45 +0200 Subject: [PATCH 074/932] Prepare release trytond-6.8.2 --HG-- branch : 6.8 --- trytond/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/trytond/CHANGELOG b/trytond/CHANGELOG index 0938e84f1a3..0d64626dc72 100644 --- a/trytond/CHANGELOG +++ b/trytond/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-06-21 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-05-17 -------------------------- * Bug fixes (see mercurial logs for details) From ce556a59451d34b1edf0af92190a5dd9e7504e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:09:46 +0200 Subject: [PATCH 075/932] Add tag trytond-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 76a5ad64f53..a0457bcf4c5 100644 --- a/.hgtags +++ b/.hgtags @@ -8833,3 +8833,4 @@ efddeb954ea81fb13799f9803e224ce4f7773dc2 account_payment_sepa-6.8.1 e3168df3f41ae6d329818774c35725b447b3930a account_invoice_defer-6.8.1 8daa4d7472cb4df08648dfbeb6110b5c405495dd account_invoice-6.8.1 bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 +1b663ba2030986d247bd0eaf23b28deff95868e7 trytond-6.8.2 From 9e0528239b1cbb3b55fdd19a3d3663969fe1c864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:10:04 +0200 Subject: [PATCH 076/932] Increase version number --HG-- branch : 6.8 --- trytond/trytond/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/trytond/__init__.py b/trytond/trytond/__init__.py index 46a570f99fd..7aa76b10db7 100644 --- a/trytond/trytond/__init__.py +++ b/trytond/trytond/__init__.py @@ -8,7 +8,7 @@ import __main__ from lxml import etree, objectify -__version__ = "6.8.2" +__version__ = "6.8.3" os.environ.setdefault( 'TRYTOND_APPNAME', From 4fad036079734a7b15977d1e0b54f3a262cbc59c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:11:53 +0200 Subject: [PATCH 077/932] Prepare release stock-6.8.2 --HG-- branch : 6.8 --- modules/stock/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/stock/CHANGELOG b/modules/stock/CHANGELOG index c994dadd684..188d50220bf 100644 --- a/modules/stock/CHANGELOG +++ b/modules/stock/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-06-21 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-05-17 -------------------------- * Bug fixes (see mercurial logs for details) From ed0969ad5e264f5220b87afd1a06d74190f262a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:11:54 +0200 Subject: [PATCH 078/932] Add tag stock-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index a0457bcf4c5..dea6e26f543 100644 --- a/.hgtags +++ b/.hgtags @@ -8834,3 +8834,4 @@ e3168df3f41ae6d329818774c35725b447b3930a account_invoice_defer-6.8.1 8daa4d7472cb4df08648dfbeb6110b5c405495dd account_invoice-6.8.1 bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 1b663ba2030986d247bd0eaf23b28deff95868e7 trytond-6.8.2 +78940621fc3c4323c0230b5b7e044d21b8a7e8f4 stock-6.8.2 From 38b3a56792d601995c39c02cee0b8c5c5362d31d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:12:10 +0200 Subject: [PATCH 079/932] Increase version number --HG-- branch : 6.8 --- modules/stock/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/stock/tryton.cfg b/modules/stock/tryton.cfg index 719bfc542de..5fa900deef7 100644 --- a/modules/stock/tryton.cfg +++ b/modules/stock/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.2 +version=6.8.3 depends: company currency From 4e5d4972cf0cd15177f90e7510c0e639e2f41ed4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:14:30 +0200 Subject: [PATCH 080/932] Prepare release sale_supply-6.8.1 --HG-- branch : 6.8 --- modules/sale_supply/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale_supply/CHANGELOG b/modules/sale_supply/CHANGELOG index b97b5d0fdf1..764f70443c2 100644 --- a/modules/sale_supply/CHANGELOG +++ b/modules/sale_supply/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-06-21 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 3e3e5ee2fe270509b31d6362453db593a8efb34c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:14:31 +0200 Subject: [PATCH 081/932] Add tag sale_supply-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index dea6e26f543..8ebb9a59074 100644 --- a/.hgtags +++ b/.hgtags @@ -8835,3 +8835,4 @@ e3168df3f41ae6d329818774c35725b447b3930a account_invoice_defer-6.8.1 bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 1b663ba2030986d247bd0eaf23b28deff95868e7 trytond-6.8.2 78940621fc3c4323c0230b5b7e044d21b8a7e8f4 stock-6.8.2 +93b5a3569e3760f6d03d9564225b896dd6d04d78 sale_supply-6.8.1 From 12ad2452679f986c187ceeb4d3422dd3d3545b44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:14:43 +0200 Subject: [PATCH 082/932] Increase version number --HG-- branch : 6.8 --- modules/sale_supply/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_supply/tryton.cfg b/modules/sale_supply/tryton.cfg index 9fdb2e25c52..f4d595744ad 100644 --- a/modules/sale_supply/tryton.cfg +++ b/modules/sale_supply/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: ir purchase From 904c8b723f4f7c9de336c2b0e47d45f44ab6c206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:15:06 +0200 Subject: [PATCH 083/932] Prepare release sale_point-6.8.1 --HG-- branch : 6.8 --- modules/sale_point/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale_point/CHANGELOG b/modules/sale_point/CHANGELOG index 646ddd6615f..94e243a5aa8 100644 --- a/modules/sale_point/CHANGELOG +++ b/modules/sale_point/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-06-21 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 73359713d6038da8a5bfc673aaf7bafba67deb57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:15:08 +0200 Subject: [PATCH 084/932] Add tag sale_point-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 8ebb9a59074..fc76a21d92a 100644 --- a/.hgtags +++ b/.hgtags @@ -8836,3 +8836,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 1b663ba2030986d247bd0eaf23b28deff95868e7 trytond-6.8.2 78940621fc3c4323c0230b5b7e044d21b8a7e8f4 stock-6.8.2 93b5a3569e3760f6d03d9564225b896dd6d04d78 sale_supply-6.8.1 +7578f3137ceb60f044e1af7f8b0e2d65cca1fb21 sale_point-6.8.1 From a89e686575e8826a996e3e4f437b9af1cb6c2f43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:15:18 +0200 Subject: [PATCH 085/932] Increase version number --HG-- branch : 6.8 --- modules/sale_point/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_point/tryton.cfg b/modules/sale_point/tryton.cfg index e6c2fcac47a..c2cb25287ea 100644 --- a/modules/sale_point/tryton.cfg +++ b/modules/sale_point/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account account_product From 14c237aa6ebaa0f83a128a17eb8bc13ae7483e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:16:13 +0200 Subject: [PATCH 086/932] Prepare release purchase-6.8.2 --HG-- branch : 6.8 --- modules/purchase/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/purchase/CHANGELOG b/modules/purchase/CHANGELOG index 5f24909132d..182b2f0f640 100644 --- a/modules/purchase/CHANGELOG +++ b/modules/purchase/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-06-21 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-05-17 -------------------------- * Bug fixes (see mercurial logs for details) From 839e327638a00003e285df880eff64602ff08be1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:16:15 +0200 Subject: [PATCH 087/932] Add tag purchase-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index fc76a21d92a..d44d2750df4 100644 --- a/.hgtags +++ b/.hgtags @@ -8837,3 +8837,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 78940621fc3c4323c0230b5b7e044d21b8a7e8f4 stock-6.8.2 93b5a3569e3760f6d03d9564225b896dd6d04d78 sale_supply-6.8.1 7578f3137ceb60f044e1af7f8b0e2d65cca1fb21 sale_point-6.8.1 +7bfadb0e8d89805c39f8bbd10a8f851face0fb93 purchase-6.8.2 From 073becce6ea1dcbb2efdae8db497fc847a08a0a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:16:24 +0200 Subject: [PATCH 088/932] Increase version number --HG-- branch : 6.8 --- modules/purchase/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/purchase/tryton.cfg b/modules/purchase/tryton.cfg index 1ea2327275f..a078f55271c 100644 --- a/modules/purchase/tryton.cfg +++ b/modules/purchase/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.2 +version=6.8.3 depends: account account_invoice From 780cd48ccfe19b8bd987b73aae04af4fa79df9fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:16:47 +0200 Subject: [PATCH 089/932] Prepare release currency-6.8.1 --HG-- branch : 6.8 --- modules/currency/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/currency/CHANGELOG b/modules/currency/CHANGELOG index f6a9a47654b..22aadfb0307 100644 --- a/modules/currency/CHANGELOG +++ b/modules/currency/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-06-21 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 3ba068c0a304a6bb8189bbf624c7785f02b542ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:16:48 +0200 Subject: [PATCH 090/932] Add tag currency-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index d44d2750df4..057775da671 100644 --- a/.hgtags +++ b/.hgtags @@ -8838,3 +8838,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 93b5a3569e3760f6d03d9564225b896dd6d04d78 sale_supply-6.8.1 7578f3137ceb60f044e1af7f8b0e2d65cca1fb21 sale_point-6.8.1 7bfadb0e8d89805c39f8bbd10a8f851face0fb93 purchase-6.8.2 +4d14e58c9fad1f9a1716cacef385f20eee9c51fa currency-6.8.1 From 573cb7762970fd079e73b0d1655496177949b494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:16:57 +0200 Subject: [PATCH 091/932] Increase version number --HG-- branch : 6.8 --- modules/currency/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/currency/tryton.cfg b/modules/currency/tryton.cfg index d0cdac9a1e7..cdfed122f54 100644 --- a/modules/currency/tryton.cfg +++ b/modules/currency/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: ir res From c03f83dec0316e185125f609fa9bdb76cbf99378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:18:24 +0200 Subject: [PATCH 092/932] Prepare release account_rule-6.8.1 --HG-- branch : 6.8 --- modules/account_rule/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_rule/CHANGELOG b/modules/account_rule/CHANGELOG index 87a00a5f66f..705df6b1edf 100644 --- a/modules/account_rule/CHANGELOG +++ b/modules/account_rule/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-06-21 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 5e0557ba74f349122ab07a4006efa061f25dcfeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:18:25 +0200 Subject: [PATCH 093/932] Add tag account_rule-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 057775da671..e270c1e90db 100644 --- a/.hgtags +++ b/.hgtags @@ -8839,3 +8839,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 7578f3137ceb60f044e1af7f8b0e2d65cca1fb21 sale_point-6.8.1 7bfadb0e8d89805c39f8bbd10a8f851face0fb93 purchase-6.8.2 4d14e58c9fad1f9a1716cacef385f20eee9c51fa currency-6.8.1 +6ddffc2e0bfad14c493a92fc915714c3e4993120 account_rule-6.8.1 From 74de20f7b18f82be498947097c7e7b3d76b0a3ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:18:33 +0200 Subject: [PATCH 094/932] Increase version number --HG-- branch : 6.8 --- modules/account_rule/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_rule/tryton.cfg b/modules/account_rule/tryton.cfg index 8ee7efcf602..fe2c31deedf 100644 --- a/modules/account_rule/tryton.cfg +++ b/modules/account_rule/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account company From d6ac7bd3c989b5dd12313e06ecf3d3b2746f4b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:19:35 +0200 Subject: [PATCH 095/932] Prepare release account_es_sii-6.8.1 --HG-- branch : 6.8 --- modules/account_es_sii/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_es_sii/CHANGELOG b/modules/account_es_sii/CHANGELOG index d52546d971d..87889405c9e 100644 --- a/modules/account_es_sii/CHANGELOG +++ b/modules/account_es_sii/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-06-21 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From dc246582e5b0e5440178706a4e92853324626016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:19:36 +0200 Subject: [PATCH 096/932] Add tag account_es_sii-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index e270c1e90db..03b9764dc55 100644 --- a/.hgtags +++ b/.hgtags @@ -8840,3 +8840,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 7bfadb0e8d89805c39f8bbd10a8f851face0fb93 purchase-6.8.2 4d14e58c9fad1f9a1716cacef385f20eee9c51fa currency-6.8.1 6ddffc2e0bfad14c493a92fc915714c3e4993120 account_rule-6.8.1 +2842eb6aa71baa9c82a7f278ff162403a1f7570c account_es_sii-6.8.1 From 17ea71de11b5b780c80d23e4f8c24e7c4a388796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:19:44 +0200 Subject: [PATCH 097/932] Increase version number --HG-- branch : 6.8 --- modules/account_es_sii/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_es_sii/tryton.cfg b/modules/account_es_sii/tryton.cfg index 27f728421a2..3159ebd861c 100644 --- a/modules/account_es_sii/tryton.cfg +++ b/modules/account_es_sii/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account account_es From 3cc7a38c6a1a033a284d15e122f24b6b5a66377b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:20:37 +0200 Subject: [PATCH 098/932] Prepare release account_deposit-6.8.1 --HG-- branch : 6.8 --- modules/account_deposit/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_deposit/CHANGELOG b/modules/account_deposit/CHANGELOG index d4c49b65dbb..9f4c2fc0e86 100644 --- a/modules/account_deposit/CHANGELOG +++ b/modules/account_deposit/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-06-21 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 5ebd37d6f1fd23b4accd0cdeae23e4fadb29a64b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:20:38 +0200 Subject: [PATCH 099/932] Add tag account_deposit-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 03b9764dc55..dbf9119b4ef 100644 --- a/.hgtags +++ b/.hgtags @@ -8841,3 +8841,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 4d14e58c9fad1f9a1716cacef385f20eee9c51fa currency-6.8.1 6ddffc2e0bfad14c493a92fc915714c3e4993120 account_rule-6.8.1 2842eb6aa71baa9c82a7f278ff162403a1f7570c account_es_sii-6.8.1 +6aab18317875baff88f74a77612a9f6977ae7e44 account_deposit-6.8.1 From 4b8d3384875e4d4277a1a5877d42126fc6beb33a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 19:20:46 +0200 Subject: [PATCH 100/932] Increase version number --HG-- branch : 6.8 --- modules/account_deposit/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_deposit/tryton.cfg b/modules/account_deposit/tryton.cfg index dd7a84346ad..d1cb83bc6b0 100644 --- a/modules/account_deposit/tryton.cfg +++ b/modules/account_deposit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account account_invoice From cdf955ff2dd2191e134a022b7e3a6d06e1e08181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 22 May 2023 13:09:15 +0200 Subject: [PATCH 101/932] Compare string version of option value when it is SQL Closes #12282 (grafted from b0662166474410985bb38dab685840bcf7bcb0e7) --HG-- branch : 6.8 --- trytond/trytond/model/modelsql.py | 8 +++++++- trytond/trytond/tests/test_model_index.py | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/trytond/trytond/model/modelsql.py b/trytond/trytond/model/modelsql.py index 76a739ffe4a..d1fa7116de6 100644 --- a/trytond/trytond/model/modelsql.py +++ b/trytond/trytond/model/modelsql.py @@ -179,7 +179,13 @@ def __eq__(self, other): and all((str(c), u) == (str(oc), ou) for (c, u), (oc, ou) in zip( self.expressions, other.expressions)) - and self.options == other.options) + and self._options_cmp == other._options_cmp) + + @property + def _options_cmp(self): + def _format(value): + return str(value) if isinstance(value, Expression) else value + return {k: _format(v) for k, v in self.options.items()} class Unaccent(Expression): "Unaccent function if database support for index" diff --git a/trytond/trytond/tests/test_model_index.py b/trytond/trytond/tests/test_model_index.py index 7dac68a6e2b..14795e48dc7 100644 --- a/trytond/trytond/tests/test_model_index.py +++ b/trytond/trytond/tests/test_model_index.py @@ -103,7 +103,7 @@ def test_index_inequality_option_expression(self): (table2.amount, Index.Range()), where=table2.amount == 'foo') - self.assertEqual(index1, index2) + self.assertNotEqual(index1, index2) def test_index_inequality_option_param(self): "Test Index inequality on option param" From 3fade8f846fb3d22ee40ae792cc51b2021bde300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jun 2023 11:11:25 +0200 Subject: [PATCH 102/932] Manage naming collision for log method on ir.error Since a2eaa8f46096, ModelStorage has a generic log method which collides with the exiting log method introduced in f6b0d437b5b6. For backward compatibility we test the arguments to decide which version is actually called. Closes #12333 (grafted from 71b3c8347dcf7eff2b427700d9e99ba29d1ae420) --HG-- branch : 6.8 --- trytond/trytond/ir/error.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/trytond/trytond/ir/error.py b/trytond/trytond/ir/error.py index 93e7161b9c5..0c8ea1ba58c 100644 --- a/trytond/trytond/ir/error.py +++ b/trytond/trytond/ir/error.py @@ -6,7 +6,8 @@ from trytond.config import config from trytond.exceptions import UserError, UserWarning -from trytond.model import Index, ModelSQL, ModelView, Workflow, fields +from trytond.model import ( + Index, ModelSQL, ModelView, Workflow, dualmethod, fields) from trytond.pool import Pool from trytond.pyson import Eval from trytond.tools import firstline @@ -117,9 +118,14 @@ def get_rec_name(self, name): return "%s - %s" % (self.origin_string, self.origin.rec_name) return super().get_rec_name(name) - @classmethod - def log(cls, origin, exception): + @dualmethod + def log(cls, *args, **kwargs): + # Test if it is a ModelStorage.log call + if len(args) <= 1 or not isinstance(args[1], Exception): + return super().log(*args, **kwargs) try: + origin, exception = args + assert not kwargs assert isinstance(exception, (UserError, UserWarning)) with Transaction().new_transaction(autocommit=True): if not cls.search([ From 6d8ef03f096129892485c23ad7ca6584b498faf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 30 May 2023 18:15:43 +0200 Subject: [PATCH 103/932] Set value on focus out and changed signal for datetime widget The focus out of child widgets must call focus out method. And we need to connect to the datetime-changed event as DateTime does not call the __init__ method of Date. Closes #12020 (grafted from 62934f0e75525d65719bcc83f750d5e9070e4632) --HG-- branch : 6.8 --- tryton/tryton/gui/window/view_form/view/form_gtk/calendar_.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tryton/tryton/gui/window/view_form/view/form_gtk/calendar_.py b/tryton/tryton/gui/window/view_form/view/form_gtk/calendar_.py index 34bc67fc2a3..86de75315b1 100644 --- a/tryton/tryton/gui/window/view_form/view/form_gtk/calendar_.py +++ b/tryton/tryton/gui/window/view_form/view/form_gtk/calendar_.py @@ -138,6 +138,8 @@ def __init__(self, view, attrs): child.connect('key_press_event', self.sig_key_press) child.connect('activate', self.sig_activate) child.connect('changed', lambda _: self.send_modified()) + child.connect('focus-out-event', lambda *a: self._focus_out()) + self.entry.connect(self._changed_signal, self.changed) self.widget.pack_start(self.entry, expand=False, fill=False, padding=0) @classmethod From f227b00b766e93a0fa501bbf3ba7ac5e708f70d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 30 May 2023 18:26:16 +0200 Subject: [PATCH 104/932] Always disable scroll-event and prevent move-active on readonly time and datetime The time and datetime widgets were missing from 7a55ecca7a59 of #7076 (grafted from cc50b693f196c5e75a4f5d635341d0805794dab8) --HG-- branch : 6.8 --- .../gui/window/view_form/view/form_gtk/calendar_.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tryton/tryton/gui/window/view_form/view/form_gtk/calendar_.py b/tryton/tryton/gui/window/view_form/view/form_gtk/calendar_.py index 86de75315b1..debbcb7f45f 100644 --- a/tryton/tryton/gui/window/view_form/view/form_gtk/calendar_.py +++ b/tryton/tryton/gui/window/view_form/view/form_gtk/calendar_.py @@ -92,11 +92,20 @@ def display(self): self.set_format() +def _move_active(combobox, scroll_type): + if not combobox.get_child().get_editable(): + combobox.stop_emission_by_name('move-active') + + class Time(Date): _changed_signal = 'time-changed' def __init__(self, view, attrs): super(Time, self).__init__(view, attrs, _entry=TimeEntry) + self.entry.connect('move-active', _move_active) + self.entry.connect( + 'scroll-event', + lambda c, e: c.stop_emission_by_name('scroll-event')) def _set_editable(self, value): self.entry.set_sensitive(value) @@ -133,6 +142,10 @@ def __init__(self, view, attrs): for child in self.entry.get_children(): add_operators(child) if isinstance(child, Gtk.ComboBox): + child.connect('move-active', _move_active) + child.connect( + 'scroll-event', + lambda c, e: c.stop_emission_by_name('scroll-event')) child = child.get_child() child.set_property('activates_default', True) child.connect('key_press_event', self.sig_key_press) From ad541aa015410bc39890f49e19d83855e5b10541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 13 Jun 2023 15:52:27 +0200 Subject: [PATCH 105/932] Use proper module prefix for msg_dict_schema_help_selection_help (grafted from d223f6f40c6aac3b47a26b90e70a8ca526ad1ee1) --HG-- branch : 6.8 --- trytond/trytond/model/dictschema.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/trytond/model/dictschema.py b/trytond/trytond/model/dictschema.py index 3bae43539d7..1e1b45b867a 100644 --- a/trytond/trytond/model/dictschema.py +++ b/trytond/trytond/model/dictschema.py @@ -69,7 +69,7 @@ class DictSchemaMixin(object): 'invisible': ~Eval('type_').in_(['selection', 'multiselection']), }, depends=['type_'], - help=lazy_gettext('is.msg_dict_schema_help_selection_help')) + help=lazy_gettext('ir.msg_dict_schema_help_selection_help')) selection_json = fields.Function(fields.Char( lazy_gettext('ir.msg_dict_schema_selection_json'), states={ From 3a2aa2ed11cb02da0d901457f76b1cbc978247e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 13 Jun 2023 15:57:00 +0200 Subject: [PATCH 106/932] Fix message variable for open fiscal year earlier (grafted from 882254549b380160242668f0312d5702549e912b) --HG-- branch : 6.8 --- modules/account/fiscalyear.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account/fiscalyear.py b/modules/account/fiscalyear.py index fa44b201e9b..530ef77d476 100644 --- a/modules/account/fiscalyear.py +++ b/modules/account/fiscalyear.py @@ -147,7 +147,7 @@ def check_dates(cls, fiscalyears, field_names=None): raise FiscalYearDatesError( gettext('account.msg_open_fiscalyear_earlier', open=year.rec_name, - close=fiscalyear.rec_name)) + closed=fiscalyear.rec_name)) @classmethod def check_post_move_sequence(cls, fiscalyears, field_names=None): From 42bc35f7f05a001a40fdaa401a4de2b5f2577311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Tue, 27 Jun 2023 14:59:33 +0200 Subject: [PATCH 107/932] Do not set previous record in selection changed callback when it is destroyed Closes #12357 (grafted from cc4b93be0eeb71875b9db93093ffade0c2669727) --HG-- branch : 6.8 --- tryton/tryton/gui/window/view_form/view/list.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tryton/tryton/gui/window/view_form/view/list.py b/tryton/tryton/gui/window/view_form/view/list.py index ffa4546bd67..388b040f385 100644 --- a/tryton/tryton/gui/window/view_form/view/list.py +++ b/tryton/tryton/gui/window/view_form/view/list.py @@ -1032,7 +1032,9 @@ def __sig_switch(self, treeview, path, column): def __select_changed(self, tree_sel): previous_record = self.record - if previous_record and previous_record not in previous_record.group: + if (previous_record + and (previous_record not in previous_record.group + or previous_record.destroyed)): previous_record = None if tree_sel.get_mode() == Gtk.SelectionMode.SINGLE: From d59040b6719e518cb2a795032d563a2772b2ca48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Nu=C3=B1ez?= Date: Fri, 30 Jun 2023 09:17:02 +0200 Subject: [PATCH 108/932] Correct call to super method for Shopify name The name of the property was changed on commit 905801635f45 but the call to super method was not updated to the new name. Closes #12355 (grafted from 22c0ececae8817f6b91bed9b13e0e1ac60a3ca1d) --HG-- branch : 6.8 --- modules/web_shop_shopify/product.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/web_shop_shopify/product.py b/modules/web_shop_shopify/product.py index f110481b664..98a2e224917 100644 --- a/modules/web_shop_shopify/product.py +++ b/modules/web_shop_shopify/product.py @@ -612,7 +612,7 @@ class Image_Attribute(metaclass=PoolMeta): @property def shopify_name(self): - name = super().shopify_filename + name = super().shopify_name if self.product: attributes_name = self.product.attributes_name else: From 77d3997889b952fcf61cb6b843ef41214a6b1f40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Thu, 11 May 2023 15:39:34 +0200 Subject: [PATCH 109/932] Do not reset view when switching to a tabbed wizard form Closes #12317 (grafted from 688198fbf4432175968378219f6c049cdd338868) --HG-- branch : 6.8 --- tryton/tryton/gui/window/wizard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tryton/tryton/gui/window/wizard.py b/tryton/tryton/gui/window/wizard.py index e787bb12930..fbd258d3cea 100644 --- a/tryton/tryton/gui/window/wizard.py +++ b/tryton/tryton/gui/window/wizard.py @@ -300,7 +300,7 @@ def end(self, callback=None): def set_cursor(self): if self.screen: - self.screen.set_cursor() + self.screen.set_cursor(reset_view=False) class WizardDialog(Wizard, NoModal): From 25ff3da4fbe660e2431890ac0f4115538654f29f Mon Sep 17 00:00:00 2001 From: Jan Grasnick Date: Sat, 1 Jul 2023 08:49:32 +0200 Subject: [PATCH 110/932] Do not copy account move of sale from point Closes #12362 (grafted from 0a036eaa067b96652536e8ad8a2216d8f3a8366a) --HG-- branch : 6.8 --- modules/sale_point/sale.py | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/sale_point/sale.py b/modules/sale_point/sale.py index a5c52654f6e..e869224d71e 100644 --- a/modules/sale_point/sale.py +++ b/modules/sale_point/sale.py @@ -270,6 +270,7 @@ def copy(cls, sales, default=None): default.setdefault('employee') default.setdefault('number') default.setdefault('payments') + default.setdefault('move') return super().copy(sales, default=default) @classmethod From 8db2b06af931098063b53439d465c2c8b0874883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 5 Jun 2023 18:20:44 +0200 Subject: [PATCH 111/932] Allow to store view location as warehouse storage on shipments It is allowed to have a view location as storage for a warehouse so the shipment should support it. Closes #12307 (grafted from eb0483a83644edb72c9b1f1c69329bb974cf87c6) --HG-- branch : 6.8 --- modules/stock/shipment.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/stock/shipment.py b/modules/stock/shipment.py index 26d47feb36b..7fd9519dee5 100644 --- a/modules/stock/shipment.py +++ b/modules/stock/shipment.py @@ -196,7 +196,7 @@ class ShipmentIn(ShipmentMixin, Workflow, ModelSQL, ModelView): warehouse_storage = fields.Many2One( 'stock.location', "Warehouse Storage", required=True, domain=[ - ('type', '=', 'storage'), + ('type', 'in', ['storage', 'view']), If(Eval('state') == 'draft', ('parent', 'child_of', [Eval('warehouse', -1)]), ()), @@ -1078,7 +1078,7 @@ class ShipmentOut(ShipmentAssignMixin, Workflow, ModelSQL, ModelView): warehouse_storage = fields.Many2One( 'stock.location', "Warehouse Storage", required=True, domain=[ - ('type', '=', 'storage'), + ('type', 'in', ['storage', 'view']), If(Eval('state') == 'draft', ('parent', 'child_of', [Eval('warehouse', -1)]), ()), @@ -1799,7 +1799,7 @@ class ShipmentOutReturn(ShipmentMixin, Workflow, ModelSQL, ModelView): warehouse_storage = fields.Many2One( 'stock.location', "Warehouse Storage", required=True, domain=[ - ('type', '=', 'storage'), + ('type', 'in', ['storage', 'view']), If(Eval('state') == 'draft', ('parent', 'child_of', [Eval('warehouse', -1)]), ()), From c755757b0e82f347fc8373ed0d51f33704746d96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 7 Jun 2023 16:53:24 +0200 Subject: [PATCH 112/932] Do not try to assign shipments that do not need to be assigned Closes #12311 (grafted from 2fdb477b01dd5cdd9a23f831edabef123f86b12a) --HG-- branch : 6.8 --- modules/stock/shipment.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/stock/shipment.py b/modules/stock/shipment.py index 7fd9519dee5..460e87fe162 100644 --- a/modules/stock/shipment.py +++ b/modules/stock/shipment.py @@ -968,6 +968,7 @@ def assign_wizard(cls, shipments): def assign_try(cls, shipments, with_childs=None): pool = Pool() Move = pool.get('stock.move') + shipments = [s for s in shipments if s.state == 'waiting'] to_assign = defaultdict(list) for shipment in shipments: location_type = shipment.from_location.type @@ -1712,6 +1713,10 @@ def assign_moves(self): @ModelView.button def assign_try(cls, shipments): Move = Pool().get('stock.move') + shipments = [ + s for s in shipments + if s.state == 'waiting' + and s.warehouse_storage != s.warehouse_output] to_assign = [ m for s in shipments for m in s.assign_moves if m.assignation_required] From 4dfbefa6a5ebc42d89dfd94afd26172f6ce4aeeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 25 Jun 2023 12:03:52 +0200 Subject: [PATCH 113/932] Ensure to get a different email token for each marketing email The default methods are called only once. Closes #12349 (grafted from 7dc93a9a99f951def83888364ff9a7dd03f66498) --HG-- branch : 6.8 --- modules/marketing_email/marketing.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/marketing_email/marketing.py b/modules/marketing_email/marketing.py index 75c048e73f9..a8c303ec316 100644 --- a/modules/marketing_email/marketing.py +++ b/modules/marketing_email/marketing.py @@ -135,6 +135,11 @@ def _format_email(cls, records): @classmethod def create(cls, vlist): + vlist = [v.copy() for v in vlist] + for values in vlist: + # Ensure to get a different token for each record + # default methods are called only once + values.setdefault('email_token', cls.default_email_token()) records = super().create(vlist) cls._format_email(records) return records From 0661f3cac911a97dee1d5060539cd84c175b3d6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 30 Jun 2023 00:18:00 +0200 Subject: [PATCH 114/932] Prevent None value in selection of MultiSelection Closes #12313 (grafted from 470a28314f49c5c02112d17fa95f0ef5941626c0) --HG-- branch : 6.8 --- modules/account_invoice_stock/stock.py | 2 +- modules/party/address.py | 6 ++++-- trytond/trytond/tests/test_tryton.py | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/account_invoice_stock/stock.py b/modules/account_invoice_stock/stock.py index 5a46ea7c007..63bde5c6133 100644 --- a/modules/account_invoice_stock/stock.py +++ b/modules/account_invoice_stock/stock.py @@ -39,7 +39,7 @@ def __setup__(cls): def get_invoice_types(cls): pool = Pool() Invoice = pool.get('account.invoice') - return Invoice.fields_get(['type'])['type']['selection'] + [(None, '')] + return Invoice.fields_get(['type'])['type']['selection'] @fields.depends('from_location', 'to_location') def on_change_with_invoice_types(self, name=None): diff --git a/modules/party/address.py b/modules/party/address.py index 0e56c3abe95..f055b5ceb0c 100644 --- a/modules/party/address.py +++ b/modules/party/address.py @@ -265,7 +265,8 @@ def on_change_country(self): def get_subdivision_types(cls): pool = Pool() Subdivision = pool.get('country.subdivision') - return Subdivision.fields_get(['type'])['type']['selection'] + selection = Subdivision.fields_get(['type'])['type']['selection'] + return [(k, v) for k, v in selection if k is not None] @fields.depends('country') def on_change_with_subdivision_types(self, name=None): @@ -437,7 +438,8 @@ def __setup__(cls): def get_subdivision_types(cls): pool = Pool() Subdivision = pool.get('country.subdivision') - return Subdivision.fields_get(['type'])['type']['selection'] + selection = Subdivision.fields_get(['type'])['type']['selection'] + return [(k, v) for k, v in selection if k is not None] @classmethod def create(cls, *args, **kwargs): diff --git a/trytond/trytond/tests/test_tryton.py b/trytond/trytond/tests/test_tryton.py index c1c23babf51..f9c839d5649 100644 --- a/trytond/trytond/tests/test_tryton.py +++ b/trytond/trytond/tests/test_tryton.py @@ -749,6 +749,8 @@ def test_selection_fields(self): 'field': field_name, 'model': model.__name__, }) + if field._type == 'multiselection': + self.assertNotIn(None, dict(selection_values).keys()) @with_transaction() def test_function_fields(self): From 69a05252e2d4d63a018d48af27a64f656ef25a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 3 Jul 2023 19:52:15 +0200 Subject: [PATCH 115/932] Add missing show and hide method to email no modal windows Closes #12368 (grafted from 45d9d6fc9bdf6dfe7575bbbdb1df55479b37b407) --HG-- branch : 6.8 --- tryton/tryton/gui/window/email_.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tryton/tryton/gui/window/email_.py b/tryton/tryton/gui/window/email_.py index e976fb62112..abada7ce196 100644 --- a/tryton/tryton/gui/window/email_.py +++ b/tryton/tryton/gui/window/email_.py @@ -355,3 +355,9 @@ def response(self, dialog, response): def destroy(self): super().destroy() self.dialog.destroy() + + def show(self): + self.dialog.show() + + def hide(self): + self.dialog.hide() From 76bd92720db8f973f8bcc84cc4321a37e7aec1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 8 Jun 2023 18:42:07 +0200 Subject: [PATCH 116/932] Skip child position of exported data based on field names When exporting data of a xxx2Many field, the column to skip should be based on the child field names instead of the exported value (which can be 0 for example). Closes #12316 (grafted from a91e1a9f95ca2b22d4ce5372b1753999d03aa8af) --HG-- branch : 6.8 --- trytond/trytond/model/modelstorage.py | 9 +++++---- trytond/trytond/tests/export_data.py | 1 + trytond/trytond/tests/test_exportdata.py | 20 ++++++++++++++++++++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/trytond/trytond/model/modelstorage.py b/trytond/trytond/model/modelstorage.py index d746de1c644..5f06d4c0975 100644 --- a/trytond/trytond/model/modelstorage.py +++ b/trytond/trytond/model/modelstorage.py @@ -737,10 +737,11 @@ def __export_row(record, fields_names): child_lines = ModelStorage.__export_row(child_record, child_fields_names) if first: - for child_fpos in range(len(fields_names)): - if child_lines and child_lines[0][child_fpos]: - data[child_fpos] = \ - child_lines[0][child_fpos] + if child_lines: + for child_fpos in range(len(fields_names)): + if child_fields_names[child_fpos]: + data[child_fpos] = ( + child_lines[0][child_fpos]) lines += child_lines[1:] first = False else: diff --git a/trytond/trytond/tests/export_data.py b/trytond/trytond/tests/export_data.py index 44e94131fdc..b62f6b2abaa 100644 --- a/trytond/trytond/tests/export_data.py +++ b/trytond/trytond/tests/export_data.py @@ -9,6 +9,7 @@ class ExportDataTarget(ModelSQL): "Export Data Target" __name__ = 'test.export_data.target' name = fields.Char('Name') + value = fields.Float("Value") class ExportData(ModelSQL): diff --git a/trytond/trytond/tests/test_exportdata.py b/trytond/trytond/tests/test_exportdata.py index 23a9dfe68ca..75a525f4b02 100644 --- a/trytond/trytond/tests/test_exportdata.py +++ b/trytond/trytond/tests/test_exportdata.py @@ -354,6 +354,26 @@ def test_one2many(self): 'one2many/name']), [[export1.id, 'Target 1'], ['', 'Target 2'], [export2.id, '']]) + @with_transaction() + def test_one2many_empty_value(self): + "Test export_data one2many with first child with 0 value" + pool = Pool() + ExportData = pool.get('test.export_data') + ExportDataTarget = pool.get('test.export_data.target') + + export, = ExportData.create([{}]) + ExportDataTarget.create([{ + 'value': 0, + 'one2many': export.id, + }, { + 'value': 42, + 'one2many': export.id, + }]) + + self.assertEqual( + ExportData.export_data([export], ['id', 'one2many/value']), + [[export.id, 0], ['', 42]]) + @with_transaction() def test_reference(self): 'Test export_data reference' From 0acdf145c82b4b79bc6c2b2cc2bf36a141dba312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 4 Jul 2023 18:39:28 +0200 Subject: [PATCH 117/932] Document on_change methods under ModelView instead of Model (grafted from a379ef0e1567383579001994c4c11f9cd711ad62) --HG-- branch : 6.8 --- trytond/doc/ref/models.rst | 38 ++++++++++++++++++++------------------ trytond/doc/ref/wizard.rst | 4 ++-- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/trytond/doc/ref/models.rst b/trytond/doc/ref/models.rst index 6937c6de0d3..a9146d11233 100644 --- a/trytond/doc/ref/models.rst +++ b/trytond/doc/ref/models.rst @@ -106,24 +106,6 @@ Class methods: Instance methods: -.. method:: Model.on_change(fieldnames) - - Return the list of changes by calling ``on_change`` method of each field. - -.. method:: Model.on_change_with(fieldnames) - - Return the new values of all fields by calling ``on_change_with`` method of - each field. - -.. method:: Model.on_change_notify(fieldnames) - - Returns a list of type and message couple to display on the client side. - Available types are ``info``, ``warning`` and ``error``. - - .. note:: - To be called by the client, this method must be decorated - by :meth:`~trytond.model.fields.depends` with the fields needed. - .. method:: Model.pre_validate() Validate the instance before being stored. @@ -228,6 +210,26 @@ Class methods: This method is public mainly to allow modification the existing XML of the view by code. +Instance methods: + +.. method:: ModelView.on_change(fieldnames) + + Return the list of changes by calling ``on_change`` method of each field. + +.. method:: ModelView.on_change_with(fieldnames) + + Return the new values of all fields by calling ``on_change_with`` method of + each field. + +.. method:: ModelView.on_change_notify(fieldnames) + + Returns a list of type and message couple to display on the client side. + Available types are ``info``, ``warning`` and ``error``. + + .. note:: + To be called by the client, this method must be decorated + by :meth:`~trytond.model.fields.depends` with the fields needed. + ModelStorage ============ diff --git a/trytond/doc/ref/wizard.rst b/trytond/doc/ref/wizard.rst index f421dca3dcd..fc0fb090cfd 100644 --- a/trytond/doc/ref/wizard.rst +++ b/trytond/doc/ref/wizard.rst @@ -123,8 +123,8 @@ StateView .. note:: The difference between default values and values is that the client calls - :meth:`~trytond.model.Model.on_change` and - :meth:`~trytond.model.Model.on_change_with` for the default values. + :meth:`~trytond.model.ModelView.on_change` and + :meth:`~trytond.model.ModelView.on_change_with` for the default values. Instance attributes are: From a17b2afaa00aa30a721830f677425dd2a9a1d374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 10 Jul 2023 23:40:23 +0200 Subject: [PATCH 118/932] Use proper module prefix for unique constraint on marketing email list (grafted from aab3b5c86e721c457b2a08ba8d6440f744a45a2c) --HG-- branch : 6.8 --- modules/marketing_email/marketing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/marketing_email/marketing.py b/modules/marketing_email/marketing.py index a8c303ec316..b103eabae17 100644 --- a/modules/marketing_email/marketing.py +++ b/modules/marketing_email/marketing.py @@ -88,7 +88,7 @@ def __setup__(cls): t = cls.__table__() cls._sql_constraints = [ ('email_list_unique', Unique(t, t.email, t.list_), - 'marketing.msg_email_list_unique'), + 'marketing_email.msg_email_list_unique'), ] cls._sql_indexes.add(Index( t, From f258162adadb29f3a201acbcb2b1b03c92380f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Fri, 14 Jul 2023 18:50:44 +0200 Subject: [PATCH 119/932] Clear caches after commit when installing modules A call to clear_all is required after the commit in order to ensure that the transaction uses an empty cache from this point. clear_all is not required to prevent the deadlock on ir.cache because the rollback ensures that nothing changed from the point of view of this transaction. Close #12343 (grafted from 48396d9cfed6caccb3fca6d981fec5016a1f6ca2) --HG-- branch : 6.8 --- trytond/trytond/modules/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/trytond/trytond/modules/__init__.py b/trytond/trytond/modules/__init__.py index c9710c877cd..36d400b5e2f 100644 --- a/trytond/trytond/modules/__init__.py +++ b/trytond/trytond/modules/__init__.py @@ -274,11 +274,14 @@ def load_module_graph(graph, pool, update=None, lang=None): ])) module2state[module] = 'activated' - # Clear cache from old data cached before transaction started - Cache.clear_all() - # Avoid clearing cache to prevent dead lock on ir.cache table + # Rollback cache changes to prevent dead lock on ir.cache table Cache.rollback(transaction) transaction.commit() + # Clear the cache so that the transaction has an empty cache + # from now on. The cache is not empty because the rollback might + # have filled it with old data from before the transaction + # started. + Cache.clear_all() # Clear transaction cache to update default_factory transaction.cache.clear() From e723e92c6ccfd1282d65c83ed18247168c55562e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 12 Jul 2023 15:13:32 +0200 Subject: [PATCH 120/932] Call load method on record to retrieve binary value for binary widget in list The call to fetch was introduced in 61900bf04dfb but the method does not exist. Closes #12392 (grafted from 1de8cadc52af4c5dace582b2dec2172d6604f729) --HG-- branch : 6.8 --- .../gui/window/view_form/view/list_gtk/widget.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tryton/tryton/gui/window/view_form/view/list_gtk/widget.py b/tryton/tryton/gui/window/view_form/view/list_gtk/widget.py index e514d010b5e..b9473368fb0 100644 --- a/tryton/tryton/gui/window/view_form/view/list_gtk/widget.py +++ b/tryton/tryton/gui/window/view_form/view/list_gtk/widget.py @@ -626,8 +626,8 @@ def view(self): return self.binary.view @catch_errors(False) - def _fetch_data(self, record): - record.fetch(self.attrs['name'], process_exception=False) + def _load_data(self, record): + record.load(self.attrs['name'], process_exception=False) return True @@ -657,7 +657,7 @@ def clicked(self, renderer, path): @CellCache.cache def setter(self, column, cell, store, iter_, user_data=None): record, field = self._get_record_field_from_iter(iter_, store) - if not self._fetch_data(record): + if not self._load_data(record): cell.set_property('visible', False) return if hasattr(field, 'get_size'): @@ -700,7 +700,7 @@ def _select(): @CellCache.cache def setter(self, column, cell, store, iter_, user_data=None): record, field = self._get_record_field_from_iter(iter_, store) - if not self._fetch_data(record): + if not self._load_data(record): cell.set_property('visible', False) return if hasattr(field, 'get_size'): @@ -742,7 +742,7 @@ def clicked(self, renderer, path): def setter(self, column, cell, store, iter_, user_data=None): super().setter(column, cell, store, iter_) record, field = self._get_record_field_from_iter(iter_, store) - if not self._fetch_data(record): + if not self._load_data(record): cell.set_property('visible', False) return filename_field = record.group.fields.get(self.attrs.get('filename')) From 33c192defa98102cf8d59bfc7d69dc4e85b46b16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 15 Jul 2023 00:36:31 +0200 Subject: [PATCH 121/932] Use history table instance to migrate supply on sale column on history table Closes #12379 (grafted from 426e31ae9b134fbc65d58835562422fe7a131de9) --HG-- branch : 6.8 --- modules/sale_supply/product.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_supply/product.py b/modules/sale_supply/product.py index b1362ac2b21..469869ee54a 100644 --- a/modules/sale_supply/product.py +++ b/modules/sale_supply/product.py @@ -35,7 +35,7 @@ def __register__(cls, module): table_h.column_rename('supply_on_sale', '_temp_supply_on_sale') if cls._history: h_table_h = cls.__table_handler__(module, history=True) - h_table = cls.__table__() + h_table = cls.__table_history__() h_migrate_supply_on_sale = ( h_table_h.column_exist('supply_on_sale') and h_table_h.column_is_type('supply_on_sale', 'BOOL')) From 180db9da2f85ae18a794993285595595fca74567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 15 Jul 2023 00:40:59 +0200 Subject: [PATCH 122/932] Do not fail on ValueError when formatting message with gettext If wrong variables are used to call gettext, the formatting may raise a ValueError. It is better to not fail for such minor error when not testing. Closes #12371 (grafted from 47809a507263c47b927c318750f22499adecd036) --HG-- branch : 6.8 --- trytond/trytond/i18n.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/trytond/i18n.py b/trytond/trytond/i18n.py index 4a9d6119341..fb3c3673b6a 100644 --- a/trytond/trytond/i18n.py +++ b/trytond/trytond/i18n.py @@ -24,7 +24,7 @@ def gettext(message_id, *args, **variables): return message_id try: return Message.gettext(module, id_, language, **variables) - except KeyError: + except (KeyError, ValueError): return message_id From 1725fad09fdafd3a570a97ed2ee0eed251d87157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 18 Jun 2023 17:42:36 +0200 Subject: [PATCH 123/932] Create screen with the mode from the action views d800175396c4 changed the parameter name into view_mode instead of mode. Closes #12332 (grafted from 50a08036dd8a1c22f0845e8b7851914edfb0e36a) --HG-- branch : 6.8 --- tryton/tryton/action/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tryton/tryton/action/main.py b/tryton/tryton/action/main.py index 6b361dfb04c..3105921e484 100644 --- a/tryton/tryton/action/main.py +++ b/tryton/tryton/action/main.py @@ -96,7 +96,7 @@ def add_name_suffix(name, context=None): if action['type'] == 'ir.action.act_window': if action.get('views', []): params['view_ids'] = [x[0] for x in action['views']] - params['view_mode'] = [x[1] for x in action['views']] + params['mode'] = [x[1] for x in action['views']] elif action.get('view_id', False): params['view_ids'] = [action['view_id'][0]] From b33774d089d4d4985d1faebf6f9875bad87ec71e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 15:30:17 +0200 Subject: [PATCH 124/932] Read ids from the table even without columns if a rule domain exists The rule must be enforced also when only non SQL type fields are read. Closes #12428 (grafted from bd69f1025bca6648fd9ff11f585a60214d2bbf6e) --HG-- branch : 6.8 --- trytond/CHANGELOG | 1 + trytond/trytond/model/modelsql.py | 2 +- trytond/trytond/tests/test_rule.py | 27 +++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/trytond/CHANGELOG b/trytond/CHANGELOG index 0d64626dc72..c9fe22b4eab 100644 --- a/trytond/CHANGELOG +++ b/trytond/CHANGELOG @@ -1,3 +1,4 @@ +* Enforce record rules when reading only non SQL fields (#12428) Version 6.8.2 - 2023-06-21 -------------------------- diff --git a/trytond/trytond/model/modelsql.py b/trytond/trytond/model/modelsql.py index d1fa7116de6..1d0cd83202a 100644 --- a/trytond/trytond/model/modelsql.py +++ b/trytond/trytond/model/modelsql.py @@ -1032,7 +1032,7 @@ def read(cls, ids, fields_names): and columns.keys() == {'write_date'}): columns.pop('write_date') extra_fields.discard('write_date') - if columns: + if columns or domain: if 'id' not in fields_names: columns['id'] = table.id.as_('id') diff --git a/trytond/trytond/tests/test_rule.py b/trytond/trytond/tests/test_rule.py index a44633d2738..d407254d615 100644 --- a/trytond/trytond/tests/test_rule.py +++ b/trytond/trytond/tests/test_rule.py @@ -319,6 +319,33 @@ def test_perm_read_with_rule_fail(self): with self.assertRaisesRegex(AccessError, "Field different from foo"): TestRule.read([test.id], ['field']) + @with_transaction(context=_context) + def test_perm_read_with_rule_no_sql_type_fail(self): + "Test read with rule fail and without SQL type" + pool = Pool() + TestRule = pool.get('test.rule') + RuleGroup = pool.get('ir.rule.group') + Model = pool.get('ir.model') + + model, = Model.search([('model', '=', 'test.rule')]) + rule_group, = RuleGroup.create([{ + 'name': "Field different from foo", + 'model': model.id, + 'global_p': True, + 'perm_read': True, + 'perm_create': False, + 'perm_write': False, + 'perm_delete': False, + 'rules': [('create', [{ + 'domain': json.dumps( + [('field', '!=', 'foo')]), + }])], + }]) + test, = TestRule.create([{'field': 'foo'}]) + + with self.assertRaisesRegex(AccessError, "Field different from foo"): + TestRule.read([test.id], ['rec_name']) + @with_transaction(context=_context) def test_search_without_rule(self): "Test search without rule" From cb99e5c370b93b46b28ce19d7d98930d123d003a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 17:06:26 +0200 Subject: [PATCH 125/932] Prepare release trytond-6.8.3 --HG-- branch : 6.8 --- trytond/CHANGELOG | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/trytond/CHANGELOG b/trytond/CHANGELOG index c9fe22b4eab..90372b5dcf7 100644 --- a/trytond/CHANGELOG +++ b/trytond/CHANGELOG @@ -1,3 +1,7 @@ + +Version 6.8.3 - 2023-07-31 +-------------------------- +* Bug fixes (see mercurial logs for details) * Enforce record rules when reading only non SQL fields (#12428) Version 6.8.2 - 2023-06-21 From d01a750d26bfadebe7df1a39050c9036c86069ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 17:06:28 +0200 Subject: [PATCH 126/932] Add tag trytond-6.8.3 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index dbf9119b4ef..77dd18d42de 100644 --- a/.hgtags +++ b/.hgtags @@ -8842,3 +8842,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 6ddffc2e0bfad14c493a92fc915714c3e4993120 account_rule-6.8.1 2842eb6aa71baa9c82a7f278ff162403a1f7570c account_es_sii-6.8.1 6aab18317875baff88f74a77612a9f6977ae7e44 account_deposit-6.8.1 +eb3ec822db1f8e9b7d6277bbffbe7ec36e1eef52 trytond-6.8.3 From 996889865442dc58cfcdc5bc3129e2299ef047a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 17:06:46 +0200 Subject: [PATCH 127/932] Increase version number --HG-- branch : 6.8 --- trytond/trytond/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/trytond/__init__.py b/trytond/trytond/__init__.py index 7aa76b10db7..6178cbf3b55 100644 --- a/trytond/trytond/__init__.py +++ b/trytond/trytond/__init__.py @@ -8,7 +8,7 @@ import __main__ from lxml import etree, objectify -__version__ = "6.8.3" +__version__ = "6.8.4" os.environ.setdefault( 'TRYTOND_APPNAME', From be2c7d2c8a20941735afb3433534152fa69a2a03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 19:11:35 +0200 Subject: [PATCH 128/932] Prepare release account_invoice_stock-6.8.1 --HG-- branch : 6.8 --- modules/account_invoice_stock/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_invoice_stock/CHANGELOG b/modules/account_invoice_stock/CHANGELOG index 8cd344bfabf..16f3dd049f9 100644 --- a/modules/account_invoice_stock/CHANGELOG +++ b/modules/account_invoice_stock/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-07-31 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 99883ffb31532961270029ddc358b5d51c2dbe18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 19:11:36 +0200 Subject: [PATCH 129/932] Add tag account_invoice_stock-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 77dd18d42de..1f8b060d539 100644 --- a/.hgtags +++ b/.hgtags @@ -8843,3 +8843,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 2842eb6aa71baa9c82a7f278ff162403a1f7570c account_es_sii-6.8.1 6aab18317875baff88f74a77612a9f6977ae7e44 account_deposit-6.8.1 eb3ec822db1f8e9b7d6277bbffbe7ec36e1eef52 trytond-6.8.3 +a6060b00036d30a216193b2e85bc5a139575eb94 account_invoice_stock-6.8.1 From 197f00b759cc143901d5a9aecd196cab14699c2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 19:11:44 +0200 Subject: [PATCH 130/932] Increase version number --HG-- branch : 6.8 --- modules/account_invoice_stock/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_invoice_stock/tryton.cfg b/modules/account_invoice_stock/tryton.cfg index 91b4e08772b..b8799d72b99 100644 --- a/modules/account_invoice_stock/tryton.cfg +++ b/modules/account_invoice_stock/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account_invoice stock From 94e1c0fa5b1790797b6fced0837c5db6a379d236 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 19:12:06 +0200 Subject: [PATCH 131/932] Prepare release party-6.8.1 --HG-- branch : 6.8 --- modules/party/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/party/CHANGELOG b/modules/party/CHANGELOG index 04c45f7dc2c..7317f1013ed 100644 --- a/modules/party/CHANGELOG +++ b/modules/party/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-07-31 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 7e18746db03c6e564a8802ee837992027b2a2382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 19:12:07 +0200 Subject: [PATCH 132/932] Add tag party-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 1f8b060d539..84448c5537e 100644 --- a/.hgtags +++ b/.hgtags @@ -8844,3 +8844,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 6aab18317875baff88f74a77612a9f6977ae7e44 account_deposit-6.8.1 eb3ec822db1f8e9b7d6277bbffbe7ec36e1eef52 trytond-6.8.3 a6060b00036d30a216193b2e85bc5a139575eb94 account_invoice_stock-6.8.1 +9a7486e8f1f445af8a81c8c3b825ede78e90831e party-6.8.1 From cf9964ed66d61bf7bb9a5c5dfd532f729654e648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 31 Jul 2023 19:12:16 +0200 Subject: [PATCH 133/932] Increase version number --HG-- branch : 6.8 --- modules/party/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/party/tryton.cfg b/modules/party/tryton.cfg index 2d20da792ec..0133d6da583 100644 --- a/modules/party/tryton.cfg +++ b/modules/party/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: country ir From 5022e3631fab92c5477f1ea524a15fa4dcfad3f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:39:46 +0200 Subject: [PATCH 134/932] Prepare release tryton-6.8.2 --HG-- branch : 6.8 --- tryton/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tryton/CHANGELOG b/tryton/CHANGELOG index edfae62477a..841c4d360db 100644 --- a/tryton/CHANGELOG +++ b/tryton/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-08-01 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-05-17 -------------------------- * Bug fixes (see mercurial logs for details) From 2c887a8495e1426b9fdfe54821883a8fa50f7782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:39:48 +0200 Subject: [PATCH 135/932] Add tag tryton-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 84448c5537e..89b2fa4ef0e 100644 --- a/.hgtags +++ b/.hgtags @@ -8845,3 +8845,4 @@ bc7874bfbf2af33b5fff0e452c38f14209b8a193 account-6.8.1 eb3ec822db1f8e9b7d6277bbffbe7ec36e1eef52 trytond-6.8.3 a6060b00036d30a216193b2e85bc5a139575eb94 account_invoice_stock-6.8.1 9a7486e8f1f445af8a81c8c3b825ede78e90831e party-6.8.1 +d2114835e27a9fab5a22943dac91fec3c0a2cc79 tryton-6.8.2 From 0745312f1b75d8d2e984eb6350e225bc8004b0b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:40:01 +0200 Subject: [PATCH 136/932] Increase version number --HG-- branch : 6.8 --- tryton/tryton/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tryton/tryton/__init__.py b/tryton/tryton/__init__.py index a4ddb5ca347..1031af3ff37 100644 --- a/tryton/tryton/__init__.py +++ b/tryton/tryton/__init__.py @@ -1,6 +1,6 @@ # This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. -__version__ = "6.8.2" +__version__ = "6.8.3" import locale import gi From dcce065d08662aef78533bec8bb989746a5b7ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:42:03 +0200 Subject: [PATCH 137/932] Prepare release web_shop_shopify-6.8.1 --HG-- branch : 6.8 --- modules/web_shop_shopify/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/web_shop_shopify/CHANGELOG b/modules/web_shop_shopify/CHANGELOG index 280fa3a511d..65e9cc197cc 100644 --- a/modules/web_shop_shopify/CHANGELOG +++ b/modules/web_shop_shopify/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-08-01 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 8af7b804b5136a61c0a09282ab6213a1c50dd40d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:42:05 +0200 Subject: [PATCH 138/932] Add tag web_shop_shopify-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 89b2fa4ef0e..d39eee4fdc1 100644 --- a/.hgtags +++ b/.hgtags @@ -8846,3 +8846,4 @@ eb3ec822db1f8e9b7d6277bbffbe7ec36e1eef52 trytond-6.8.3 a6060b00036d30a216193b2e85bc5a139575eb94 account_invoice_stock-6.8.1 9a7486e8f1f445af8a81c8c3b825ede78e90831e party-6.8.1 d2114835e27a9fab5a22943dac91fec3c0a2cc79 tryton-6.8.2 +b841f7b52e52923640f59cad3f3135a278e05934 web_shop_shopify-6.8.1 From 2c117bf8161706ee989bc40a29c7466b23b6dfc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:42:15 +0200 Subject: [PATCH 139/932] Increase version number --HG-- branch : 6.8 --- modules/web_shop_shopify/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/web_shop_shopify/tryton.cfg b/modules/web_shop_shopify/tryton.cfg index 0591fe7c75b..de14ac9bc2a 100644 --- a/modules/web_shop_shopify/tryton.cfg +++ b/modules/web_shop_shopify/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account_payment currency From 503fffe20927b6278fb7e59b2498217e36e310c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:48:38 +0200 Subject: [PATCH 140/932] Prepare release sale_supply-6.8.2 --HG-- branch : 6.8 --- modules/sale_supply/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale_supply/CHANGELOG b/modules/sale_supply/CHANGELOG index 764f70443c2..bf802f99b53 100644 --- a/modules/sale_supply/CHANGELOG +++ b/modules/sale_supply/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-08-01 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-06-21 -------------------------- * Bug fixes (see mercurial logs for details) From 1150b41725100407c920831fefaa254d2cbe3c01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:48:39 +0200 Subject: [PATCH 141/932] Add tag sale_supply-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index d39eee4fdc1..422b5a42f26 100644 --- a/.hgtags +++ b/.hgtags @@ -8847,3 +8847,4 @@ a6060b00036d30a216193b2e85bc5a139575eb94 account_invoice_stock-6.8.1 9a7486e8f1f445af8a81c8c3b825ede78e90831e party-6.8.1 d2114835e27a9fab5a22943dac91fec3c0a2cc79 tryton-6.8.2 b841f7b52e52923640f59cad3f3135a278e05934 web_shop_shopify-6.8.1 +f6fb47b9df42cd564b9fdc6b0b6b9d6a29e51a30 sale_supply-6.8.2 From a5f91eac45d79cec9ac9c2e7a9146f6ae3881a4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:48:49 +0200 Subject: [PATCH 142/932] Increase version number --HG-- branch : 6.8 --- modules/sale_supply/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_supply/tryton.cfg b/modules/sale_supply/tryton.cfg index f4d595744ad..fe7bd3acb9b 100644 --- a/modules/sale_supply/tryton.cfg +++ b/modules/sale_supply/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.2 +version=6.8.3 depends: ir purchase From 7fb11f4a62861a09a882556d106f24b7a40fe932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:49:59 +0200 Subject: [PATCH 143/932] Prepare release sale_point-6.8.2 --HG-- branch : 6.8 --- modules/sale_point/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale_point/CHANGELOG b/modules/sale_point/CHANGELOG index 94e243a5aa8..413a28622a8 100644 --- a/modules/sale_point/CHANGELOG +++ b/modules/sale_point/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-08-01 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-06-21 -------------------------- * Bug fixes (see mercurial logs for details) From 9ee0e5b1c0c40bd48e3b6a4d9de9428e492e7640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:50:01 +0200 Subject: [PATCH 144/932] Add tag sale_point-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 422b5a42f26..575da1bf420 100644 --- a/.hgtags +++ b/.hgtags @@ -8848,3 +8848,4 @@ a6060b00036d30a216193b2e85bc5a139575eb94 account_invoice_stock-6.8.1 d2114835e27a9fab5a22943dac91fec3c0a2cc79 tryton-6.8.2 b841f7b52e52923640f59cad3f3135a278e05934 web_shop_shopify-6.8.1 f6fb47b9df42cd564b9fdc6b0b6b9d6a29e51a30 sale_supply-6.8.2 +a1f54a55e2e13a66a9b67b6e57487d650c53e22f sale_point-6.8.2 From 7599d5e634a136ff1ad95ab5de1d3ede54a4f79e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:50:10 +0200 Subject: [PATCH 145/932] Increase version number --HG-- branch : 6.8 --- modules/sale_point/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_point/tryton.cfg b/modules/sale_point/tryton.cfg index c2cb25287ea..cd08ea7d0c0 100644 --- a/modules/sale_point/tryton.cfg +++ b/modules/sale_point/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.2 +version=6.8.3 depends: account account_product From 7c19b07a9a45b5849e07f5b954079cab680b40be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:52:28 +0200 Subject: [PATCH 146/932] Prepare release marketing_email-6.8.1 --HG-- branch : 6.8 --- modules/marketing_email/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/marketing_email/CHANGELOG b/modules/marketing_email/CHANGELOG index aeeaf6d1681..879556e615f 100644 --- a/modules/marketing_email/CHANGELOG +++ b/modules/marketing_email/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-08-01 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 454971c49f0d5e7013171455baf26dc25784f418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:52:29 +0200 Subject: [PATCH 147/932] Add tag marketing_email-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 575da1bf420..6ad4b54fe96 100644 --- a/.hgtags +++ b/.hgtags @@ -8849,3 +8849,4 @@ d2114835e27a9fab5a22943dac91fec3c0a2cc79 tryton-6.8.2 b841f7b52e52923640f59cad3f3135a278e05934 web_shop_shopify-6.8.1 f6fb47b9df42cd564b9fdc6b0b6b9d6a29e51a30 sale_supply-6.8.2 a1f54a55e2e13a66a9b67b6e57487d650c53e22f sale_point-6.8.2 +c3a647e2404407038f6938a8029de03b9d7797ab marketing_email-6.8.1 From 0a002bb1e31d82089f4e66454c7f57ff3ab802d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:52:38 +0200 Subject: [PATCH 148/932] Increase version number --HG-- branch : 6.8 --- modules/marketing_email/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/marketing_email/tryton.cfg b/modules/marketing_email/tryton.cfg index d680f3c8498..e9e59bc026a 100644 --- a/modules/marketing_email/tryton.cfg +++ b/modules/marketing_email/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: ir marketing From d09b034c46deba2f7a04b71559d6e7505da2bdff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:56:43 +0200 Subject: [PATCH 149/932] Prepare release account-6.8.2 --HG-- branch : 6.8 --- modules/account/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account/CHANGELOG b/modules/account/CHANGELOG index 2f0fec77d51..6977ee79728 100644 --- a/modules/account/CHANGELOG +++ b/modules/account/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-08-01 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-05-17 -------------------------- * Bug fixes (see mercurial logs for details) From 1bcee8760c8871a75b9f3592b14fa7526b41b036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:56:44 +0200 Subject: [PATCH 150/932] Add tag account-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 6ad4b54fe96..1f9bc02f0f4 100644 --- a/.hgtags +++ b/.hgtags @@ -8850,3 +8850,4 @@ b841f7b52e52923640f59cad3f3135a278e05934 web_shop_shopify-6.8.1 f6fb47b9df42cd564b9fdc6b0b6b9d6a29e51a30 sale_supply-6.8.2 a1f54a55e2e13a66a9b67b6e57487d650c53e22f sale_point-6.8.2 c3a647e2404407038f6938a8029de03b9d7797ab marketing_email-6.8.1 +b4d1901f358a7441ff02123dcf71377f13ac3611 account-6.8.2 From 6347ea6d4fa2a2f643e2a84d0bbe5faccfed4d22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Aug 2023 21:56:57 +0200 Subject: [PATCH 151/932] Increase version number --HG-- branch : 6.8 --- modules/account/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account/tryton.cfg b/modules/account/tryton.cfg index 72c1b915d39..75b2c779b92 100644 --- a/modules/account/tryton.cfg +++ b/modules/account/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.2 +version=6.8.3 depends: company currency From bd29a5a320530193ac87ee9993c91ab1fd050b75 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Fri, 21 Jul 2023 10:36:43 +0200 Subject: [PATCH 152/932] Group sii taxes detail based on tax rate Closes #12420 (grafted from 997b9100a857e16dc1906fdd769f2f381d9a76c2) --HG-- branch : 6.8 --- modules/account_es_sii/account.py | 39 +++++++++++----- modules/account_es_sii/tests/test_module.py | 52 +++++++++++++++++++++ 2 files changed, 79 insertions(+), 12 deletions(-) diff --git a/modules/account_es_sii/account.py b/modules/account_es_sii/account.py index 5cfa8d6a668..f6e1d6c3c01 100644 --- a/modules/account_es_sii/account.py +++ b/modules/account_es_sii/account.py @@ -486,6 +486,18 @@ def tax_grouping_key(cls, tax_line): ('operation_key', tax.es_sii_operation_key or ''), ('excluded', tax.es_exclude_from_sii), ('product_key', product_type), + ) + + @classmethod + def tax_detail_grouping_key(cls, tax_line): + if not tax_line.tax: + return tuple() + tax = tax_line.tax + if tax.es_reported_with: + tax = tax.es_reported_with + if not tax.es_sii_operation_key: + return tuple() + return ( ('rate', tax.rate * 100), ) @@ -620,18 +632,21 @@ def get_invoice_payload(self): tax_amount = Decimal(0) for tax_key, tax_lines in groupby( tax_lines, key=self.tax_grouping_key): - key = dict(tax_key) - values = self.get_tax_values(key, list(tax_lines)) - if not values: - continue - operation_keys.add(key['operation_key']) - tax_amount += values["Cuota%s" % key['cuota_suffix']] - total_amount += ( - values['BaseImponible'] - + values["Cuota%s" % key['cuota_suffix']]) - if 'CuotaRecargoEquivalencia' in values: - total_amount += values['CuotaRecargoEquivalencia'] - tax_values[tax_key].append(values) + tax_lines = sorted(tax_lines, key=self.tax_detail_grouping_key) + for detail_key, tax_lines in groupby( + tax_lines, key=self.tax_detail_grouping_key): + key = dict(tax_key + detail_key) + values = self.get_tax_values(key, list(tax_lines)) + if not values: + continue + operation_keys.add(key['operation_key']) + tax_amount += values["Cuota%s" % key['cuota_suffix']] + total_amount += ( + values['BaseImponible'] + + values["Cuota%s" % key['cuota_suffix']]) + if 'CuotaRecargoEquivalencia' in values: + total_amount += values['CuotaRecargoEquivalencia'] + tax_values[tax_key].append(values) return self.get_invoice_detail( tax_values, operation_keys, total_amount, tax_amount) diff --git a/modules/account_es_sii/tests/test_module.py b/modules/account_es_sii/tests/test_module.py index 2a56543a8a2..cc8268d9838 100644 --- a/modules/account_es_sii/tests/test_module.py +++ b/modules/account_es_sii/tests/test_module.py @@ -362,6 +362,58 @@ def test_customer_invoice_alternate_currency_sii_payload(self): payload['FacturaExpedida']['TipoDesglose']['DesgloseFactura'][ 'Sujeta'][0]['NoExenta']['DesgloseIVA'], tax_detail) + @with_transaction() + def test_customer_invoice_multiple_taxes_sii_payload(self): + "Test Customer Invoice Multiple Taxes SII Payload" + pool = Pool() + FiscalYear = pool.get('account.fiscalyear') + Tax = pool.get('account.tax') + company = create_company() + with set_company(company): + create_chart(company, chart='account_es.pgc_0_pyme') + fiscalyear = set_invoice_sequences(get_fiscalyear(company)) + fiscalyear.save() + FiscalYear.create_period([fiscalyear]) + fiscalyear.es_sii_send_invoices = True + fiscalyear.save() + fiscalyear.es_sii_send_invoices = True + + party = create_party('Customer', 'eu_vat', 'ES00000000T') + normal_tax, = Tax.search([ + ('company', '=', company.id), + ('name', '=', 'IVA 21% (bienes)'), + ('group.kind', '=', 'sale'), + ]) + reduced_tax, = Tax.search([ + ('company', '=', company.id), + ('name', '=', 'IVA 10% (bienes)'), + ('group.kind', '=', 'sale'), + ]) + taxes = [normal_tax, reduced_tax] + sii_invoice = create_invoice('out', company, party, taxes) + + payload = sii_invoice.get_payload() + + self.assertListEqual( + list(payload.keys()), + ['PeriodoLiquidacion', 'IDFactura', 'FacturaExpedida']) + self.assertEqual( + payload['FacturaExpedida']['TipoFactura'], 'F1') + tax_detail = { + 'DetalleIVA': [{ + 'BaseImponible': Decimal('50.00'), + 'TipoImpositivo': '10.0', + 'CuotaRepercutida': Decimal('5.00'), + }, { + 'BaseImponible': Decimal('50.00'), + 'TipoImpositivo': '21.00', + 'CuotaRepercutida': Decimal('10.50'), + }], + } + self.assertDictEqual( + payload['FacturaExpedida']['TipoDesglose']['DesgloseFactura'][ + 'Sujeta'][0]['NoExenta']['DesgloseIVA'], tax_detail) + @with_transaction() def test_customer_credit_note_sii_payload(self): "Test Customer Credit Note SII Payload" From d48d0b0bb99ae72b7842ddb29a4c87c160b77130 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Fri, 21 Jul 2023 11:47:38 +0200 Subject: [PATCH 153/932] Avoid duplicated total amount on SII invoices with multiple taxes per line (grafted from 5c48c3defc0b23589ed993ab27874d5271c64d10) --HG-- branch : 6.8 --- modules/account_es_sii/account.py | 16 +++++++++++----- modules/account_es_sii/tests/test_module.py | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/account_es_sii/account.py b/modules/account_es_sii/account.py index f6e1d6c3c01..d9f51cef204 100644 --- a/modules/account_es_sii/account.py +++ b/modules/account_es_sii/account.py @@ -632,6 +632,17 @@ def get_invoice_payload(self): tax_amount = Decimal(0) for tax_key, tax_lines in groupby( tax_lines, key=self.tax_grouping_key): + tax_lines = list(tax_lines) + if tax_key and not dict(tax_key).get('excluded'): + base_lines = set() + for tax_line in tax_lines: + # Do not duplicate base for lines with multiple taxes + if (tax_line.type == 'base' + and tax_line.move_line.id not in base_lines): + total_amount += tax_line.amount + base_lines.add(tax_line.move_line.id) + if tax_line.type == 'tax': + total_amount += tax_line.amount tax_lines = sorted(tax_lines, key=self.tax_detail_grouping_key) for detail_key, tax_lines in groupby( tax_lines, key=self.tax_detail_grouping_key): @@ -641,11 +652,6 @@ def get_invoice_payload(self): continue operation_keys.add(key['operation_key']) tax_amount += values["Cuota%s" % key['cuota_suffix']] - total_amount += ( - values['BaseImponible'] - + values["Cuota%s" % key['cuota_suffix']]) - if 'CuotaRecargoEquivalencia' in values: - total_amount += values['CuotaRecargoEquivalencia'] tax_values[tax_key].append(values) return self.get_invoice_detail( tax_values, operation_keys, total_amount, tax_amount) diff --git a/modules/account_es_sii/tests/test_module.py b/modules/account_es_sii/tests/test_module.py index cc8268d9838..6c5d3ab05aa 100644 --- a/modules/account_es_sii/tests/test_module.py +++ b/modules/account_es_sii/tests/test_module.py @@ -399,6 +399,8 @@ def test_customer_invoice_multiple_taxes_sii_payload(self): ['PeriodoLiquidacion', 'IDFactura', 'FacturaExpedida']) self.assertEqual( payload['FacturaExpedida']['TipoFactura'], 'F1') + self.assertEqual( + payload['FacturaExpedida']['ImporteTotal'], '65.50') tax_detail = { 'DetalleIVA': [{ 'BaseImponible': Decimal('50.00'), From ca185316f57dd164c40f27e1f9958415cb83bc21 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Wed, 5 Jul 2023 14:50:34 +0200 Subject: [PATCH 154/932] Inherit marketing campaing opportunity abstract models in right order Abstract models should be always the last in inheritance because they are object when optional dependencies are not activated PoolMeta shold be added because all classes in the pool must inherit from it Closes #12375 (grafted from 9d44adffbffee56f8d34841a0c9baf9db7751414) --HG-- branch : 6.8 --- modules/marketing_campaign/sale_opportunity_reporting.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/marketing_campaign/sale_opportunity_reporting.py b/modules/marketing_campaign/sale_opportunity_reporting.py index dfea8a6e340..c25bac9dc91 100644 --- a/modules/marketing_campaign/sale_opportunity_reporting.py +++ b/modules/marketing_campaign/sale_opportunity_reporting.py @@ -66,7 +66,7 @@ def default_get(cls, fields_names, with_rec_name=True): return default -class MarketingContext(BaseContext): +class MarketingContext(BaseContext, metaclass=PoolMeta): "Sale Opportunity Reporting Context" __name__ = 'sale.opportunity.reporting.marketing.context' @@ -78,7 +78,7 @@ class MarketingContext(BaseContext): lazy_gettext('marketing_campaign.msg_marketing_source')) -class Marketing(MarketingCampaignMixin, Abstract, ModelView): +class Marketing(MarketingCampaignMixin, ModelView, Abstract): "Sale Opportunity Reporting per Marketing" __name__ = 'sale.opportunity.reporting.marketing' From cd01071070b617d9c136db44e32fb418660250ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 24 Jul 2023 23:31:37 +0200 Subject: [PATCH 155/932] Pass the input name as argument to run function of AskDialog The changeset 36ed62f49cec set the new argument at the wrong position. Closes #12373 (grafted from c1a4b9177152a432b019412ec533b094d6792c09) --HG-- branch : 6.8 --- sao/src/screen.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sao/src/screen.js b/sao/src/screen.js index a35975ebbb1..e28f89fa269 100644 --- a/sao/src/screen.js +++ b/sao/src/screen.js @@ -267,7 +267,7 @@ if (!text) { return; } - Sao.common.ask.run(Sao.i18n.gettext('Bookmark Name:', 'bookmark')) + Sao.common.ask.run(Sao.i18n.gettext('Bookmark Name:'), 'bookmark') .then(name => { if (!name) { return; From 0eb35c813add560920dcb49777c64c85b2e23e9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 13 Jul 2023 15:47:10 +0200 Subject: [PATCH 156/932] Do not catch error in get_textual_value of Reference widget Closes #12400 (grafted from f8309d9d096cfd564345ac9829e1938fec72429d) --HG-- branch : 6.8 --- tryton/tryton/gui/window/view_form/view/list_gtk/widget.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tryton/tryton/gui/window/view_form/view/list_gtk/widget.py b/tryton/tryton/gui/window/view_form/view/list_gtk/widget.py index b9473368fb0..468d9401168 100644 --- a/tryton/tryton/gui/window/view_form/view/list_gtk/widget.py +++ b/tryton/tryton/gui/window/view_form/view/list_gtk/widget.py @@ -1243,13 +1243,10 @@ def id_from_value(self, value): _, value = value.split(',') return int(value) - @catch_errors() def get_textual_value(self, record): value = super().get_textual_value(record) - if value: + if isinstance(value, tuple): model, value = value - else: - value = '' return value From d23dbc27cb65a73de2aabbb92ab65ba5ef44bcff Mon Sep 17 00:00:00 2001 From: Maxime Richez Date: Wed, 2 Aug 2023 19:28:47 +0200 Subject: [PATCH 157/932] Sync secondary unit on supplier and internal shipments When synchronize the outgoing or incoming move, the secondary unit must be copied from the template. Closes #12301 (grafted from b190ea97bd1a2040686ed6c9565ac20c45c529f4) --HG-- branch : 6.8 --- modules/stock_secondary_unit/__init__.py | 1 + modules/stock_secondary_unit/stock.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/modules/stock_secondary_unit/__init__.py b/modules/stock_secondary_unit/__init__.py index 396d2ea91d0..fba76ca0b2f 100644 --- a/modules/stock_secondary_unit/__init__.py +++ b/modules/stock_secondary_unit/__init__.py @@ -14,4 +14,5 @@ def register(): stock.ShipmentIn, stock.ShipmentOut, stock.ShipmentOutReturn, + stock.ShipmentInternal, module='stock_secondary_unit', type_='model') diff --git a/modules/stock_secondary_unit/stock.py b/modules/stock_secondary_unit/stock.py index d5efb0b8dc2..6143933c8b6 100644 --- a/modules/stock_secondary_unit/stock.py +++ b/modules/stock_secondary_unit/stock.py @@ -141,6 +141,12 @@ def _get_inventory_move(self, move): inventory_move.secondary_unit = move.secondary_unit return inventory_move + def _sync_outgoing_move(self, template=None): + move = super()._sync_outgoing_move(template) + if template: + move.secondary_unit = template.secondary_unit + return move + class ShipmentOutReturn(metaclass=PoolMeta): __name__ = 'stock.shipment.out.return' @@ -150,3 +156,13 @@ def _get_inventory_move(self, incoming_move): if move: move.secondary_unit = incoming_move.secondary_unit return move + + +class ShipmentInternal(metaclass=PoolMeta): + __name__ = 'stock.shipment.internal' + + def _sync_incoming_move(self, template=None): + move = super()._sync_incoming_move(template) + if template: + move.secondary_unit = template.secondary_unit + return move From 695e9f44c24c97157cdc0209b9c77489ddaf9501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Wed, 2 Aug 2023 22:05:22 +0200 Subject: [PATCH 158/932] Return period end date as default date for account move When period is before today, the default date of the account move must be set with the period end date. Closes #12408 (grafted from 5a7e7df5b604992006bc8d6d05d9bd077ed0ab13) --HG-- branch : 6.8 --- modules/account/move.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account/move.py b/modules/account/move.py index 600a1327834..8e2b40f1785 100644 --- a/modules/account/move.py +++ b/modules/account/move.py @@ -182,7 +182,7 @@ def default_date(cls): elif start_date >= today: return start_date else: - end_date + return end_date @fields.depends('date', 'period', 'company', 'lines') def on_change_date(self): From 36ce8fa8350f130c386b7e18cd529f2df129c783 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 14 Jul 2023 11:59:19 +0200 Subject: [PATCH 159/932] Require lines when paying invoice with write-off or overpayment This is needed ensure that at least one line to pay of the invoice is reconciled. The lines and payment lines are also shown for overpayment. Closes #12403 (grafted from 72345bf646caff0e1aa9c373a68906270fe7b688) --HG-- branch : 6.8 --- modules/account_invoice/invoice.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/account_invoice/invoice.py b/modules/account_invoice/invoice.py index 011c8c9d17c..8df550a1aa2 100644 --- a/modules/account_invoice/invoice.py +++ b/modules/account_invoice/invoice.py @@ -3193,7 +3193,7 @@ class PayInvoiceAsk(ModelView): currency='currency', digits='currency', readonly=True, states={ - 'invisible': Eval('type') != 'writeoff', + 'invisible': ~Eval('type').in_(['writeoff', 'overpayment']), }) lines_to_pay = fields.Many2Many('account.move.line', None, None, 'Lines to Pay', readonly=True) @@ -3203,12 +3203,13 @@ class PayInvoiceAsk(ModelView): ('reconciliation', '=', None), ], states={ - 'invisible': Eval('type') != 'writeoff', + 'invisible': ~Eval('type').in_(['writeoff', 'overpayment']), + 'required': Eval('type').in_(['writeoff', 'overpayment']), }) payment_lines = fields.Many2Many('account.move.line', None, None, 'Payment Lines', readonly=True, states={ - 'invisible': Eval('type') != 'writeoff', + 'invisible': ~Eval('type').in_(['writeoff', 'overpayment']), }) company = fields.Many2One('company.company', 'Company', readonly=True) invoice = fields.Many2One('account.invoice', 'Invoice', readonly=True) From b468b431cadf58156fbdb9b5f4da4b3c06111f06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 18 Jul 2023 18:32:33 +0200 Subject: [PATCH 160/932] Keep process exception value when recall after session renew If the original RPC call did not want to process the exception, the recall should not. Closes #12411 (grafted from 377d8e966f1a9dcb2b43526b0542bb2854c2138b) --HG-- branch : 6.8 --- sao/src/rpc.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sao/src/rpc.js b/sao/src/rpc.js index d15aba61bf3..b382d1f2ab4 100644 --- a/sao/src/rpc.js +++ b/sao/src/rpc.js @@ -121,7 +121,8 @@ //Try to relog Sao.Session.renew(session).then(function() { if (async) { - Sao.rpc(args, session).then(dfd.resolve, dfd.reject); + Sao.rpc(args, session, async, process_exception) + .then(dfd.resolve, dfd.reject); } else { dfd.resolve(); } From e21edfecb3cbf49999b64d64226b0c4dd2edf23a Mon Sep 17 00:00:00 2001 From: EdbO Date: Thu, 3 Aug 2023 16:38:32 +0200 Subject: [PATCH 161/932] Cache the url for authentication service When starting the desktop client you can select a profile. And by doing that, the client sends a request to fetch the authentication services. The data of the request is then cached but the url is not so the client forget about it. Because of the cached data, when selecting a particular profile data is taken from the cache but the url is not updated leaving it unchanged and empty or with a url from last request. Closes #12440 (grafted from f19de425f8c3c038a4aaed2b30a34155bb750939) --HG-- branch : 6.8 --- tryton/tryton/gui/window/dblogin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tryton/tryton/gui/window/dblogin.py b/tryton/tryton/gui/window/dblogin.py index 96099e59f8b..3a36e0d7a50 100644 --- a/tryton/tryton/gui/window/dblogin.py +++ b/tryton/tryton/gui/window/dblogin.py @@ -602,11 +602,11 @@ def update_services(self, *args): button.get_parent().remove(button) self.services = [] if key in self._services: - self.services = self._services[key] + self.services, self.service_base = self._services[key] elif hostname and port: self.service_base, self.services = rpc.authentication_services( hostname, port) - self._services[key] = self.services + self._services[key] = (self.services, self.service_base) for response_id, (name, url) in enumerate(self.services, 1): button = Gtk.Button(label=name) self.dialog.add_action_widget(button, response_id) From f44d853219815c314683bc0840e01b85ca9bcace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 6 Aug 2023 19:25:41 +0200 Subject: [PATCH 162/932] Add .readthedocs.yaml configuration [skip ci] This is required by Read the Docs service: https://blog.readthedocs.com/migrate-configuration-v2/ Closes #12344 (grafted from ffef63a3959b55756c395ebfd3ee1224f4dc7611) --HG-- branch : 6.8 --- .../{{ cookiecutter.module_name }}/.readthedocs.yaml | 11 +++++++++++ modules/account/.readthedocs.yaml | 7 +++++++ modules/account_asset/.readthedocs.yaml | 7 +++++++ modules/account_be/.readthedocs.yaml | 7 +++++++ modules/account_budget/.readthedocs.yaml | 7 +++++++ modules/account_cash_rounding/.readthedocs.yaml | 7 +++++++ modules/account_consolidation/.readthedocs.yaml | 7 +++++++ modules/account_credit_limit/.readthedocs.yaml | 7 +++++++ modules/account_de_skr03/.readthedocs.yaml | 7 +++++++ modules/account_deposit/.readthedocs.yaml | 7 +++++++ modules/account_dunning/.readthedocs.yaml | 7 +++++++ modules/account_dunning_email/.readthedocs.yaml | 7 +++++++ modules/account_dunning_fee/.readthedocs.yaml | 7 +++++++ modules/account_dunning_letter/.readthedocs.yaml | 7 +++++++ modules/account_es/.readthedocs.yaml | 7 +++++++ modules/account_es_sii/.readthedocs.yaml | 7 +++++++ modules/account_eu/.readthedocs.yaml | 7 +++++++ modules/account_fr/.readthedocs.yaml | 7 +++++++ modules/account_fr_chorus/.readthedocs.yaml | 7 +++++++ modules/account_invoice/.readthedocs.yaml | 7 +++++++ modules/account_invoice_correction/.readthedocs.yaml | 7 +++++++ modules/account_invoice_defer/.readthedocs.yaml | 7 +++++++ modules/account_invoice_history/.readthedocs.yaml | 7 +++++++ .../account_invoice_line_standalone/.readthedocs.yaml | 7 +++++++ .../account_invoice_secondary_unit/.readthedocs.yaml | 7 +++++++ modules/account_invoice_stock/.readthedocs.yaml | 7 +++++++ modules/account_invoice_watermark/.readthedocs.yaml | 7 +++++++ modules/account_move_line_grouping/.readthedocs.yaml | 7 +++++++ modules/account_payment/.readthedocs.yaml | 7 +++++++ modules/account_payment_braintree/.readthedocs.yaml | 7 +++++++ modules/account_payment_clearing/.readthedocs.yaml | 7 +++++++ modules/account_payment_sepa/.readthedocs.yaml | 7 +++++++ modules/account_payment_sepa_cfonb/.readthedocs.yaml | 7 +++++++ modules/account_payment_stripe/.readthedocs.yaml | 7 +++++++ modules/account_product/.readthedocs.yaml | 7 +++++++ modules/account_receivable_rule/.readthedocs.yaml | 7 +++++++ modules/account_rule/.readthedocs.yaml | 7 +++++++ modules/account_statement/.readthedocs.yaml | 7 +++++++ modules/account_statement_aeb43/.readthedocs.yaml | 7 +++++++ modules/account_statement_coda/.readthedocs.yaml | 7 +++++++ modules/account_statement_mt940/.readthedocs.yaml | 7 +++++++ modules/account_statement_ofx/.readthedocs.yaml | 7 +++++++ modules/account_statement_rule/.readthedocs.yaml | 7 +++++++ modules/account_statement_sepa/.readthedocs.yaml | 7 +++++++ modules/account_stock_anglo_saxon/.readthedocs.yaml | 7 +++++++ modules/account_stock_continental/.readthedocs.yaml | 7 +++++++ modules/account_stock_eu/.readthedocs.yaml | 7 +++++++ modules/account_stock_landed_cost/.readthedocs.yaml | 7 +++++++ .../.readthedocs.yaml | 7 +++++++ modules/account_stock_shipment_cost/.readthedocs.yaml | 7 +++++++ .../.readthedocs.yaml | 7 +++++++ modules/account_tax_cash/.readthedocs.yaml | 7 +++++++ modules/account_tax_non_deductible/.readthedocs.yaml | 7 +++++++ modules/account_tax_rule_country/.readthedocs.yaml | 7 +++++++ modules/analytic_account/.readthedocs.yaml | 7 +++++++ modules/analytic_budget/.readthedocs.yaml | 7 +++++++ modules/analytic_invoice/.readthedocs.yaml | 7 +++++++ modules/analytic_purchase/.readthedocs.yaml | 7 +++++++ modules/analytic_sale/.readthedocs.yaml | 7 +++++++ modules/attendance/.readthedocs.yaml | 7 +++++++ modules/authentication_saml/.readthedocs.yaml | 7 +++++++ modules/authentication_sms/.readthedocs.yaml | 7 +++++++ modules/bank/.readthedocs.yaml | 7 +++++++ modules/carrier/.readthedocs.yaml | 7 +++++++ modules/carrier_carriage/.readthedocs.yaml | 7 +++++++ modules/carrier_percentage/.readthedocs.yaml | 7 +++++++ modules/carrier_subdivision/.readthedocs.yaml | 7 +++++++ modules/carrier_weight/.readthedocs.yaml | 7 +++++++ modules/commission/.readthedocs.yaml | 7 +++++++ modules/commission_waiting/.readthedocs.yaml | 7 +++++++ modules/company/.readthedocs.yaml | 7 +++++++ modules/company_work_time/.readthedocs.yaml | 7 +++++++ modules/country/.readthedocs.yaml | 7 +++++++ modules/currency/.readthedocs.yaml | 7 +++++++ modules/currency_ro/.readthedocs.yaml | 7 +++++++ modules/currency_rs/.readthedocs.yaml | 7 +++++++ modules/customs/.readthedocs.yaml | 7 +++++++ modules/dashboard/.readthedocs.yaml | 7 +++++++ modules/edocument_uncefact/.readthedocs.yaml | 7 +++++++ modules/edocument_unece/.readthedocs.yaml | 7 +++++++ modules/google_maps/.readthedocs.yaml | 7 +++++++ modules/incoterm/.readthedocs.yaml | 7 +++++++ modules/ldap_authentication/.readthedocs.yaml | 7 +++++++ modules/marketing/.readthedocs.yaml | 7 +++++++ modules/marketing_automation/.readthedocs.yaml | 7 +++++++ modules/marketing_campaign/.readthedocs.yaml | 7 +++++++ modules/marketing_email/.readthedocs.yaml | 7 +++++++ modules/notification_email/.readthedocs.yaml | 7 +++++++ modules/party/.readthedocs.yaml | 7 +++++++ modules/party_avatar/.readthedocs.yaml | 7 +++++++ modules/party_relationship/.readthedocs.yaml | 7 +++++++ modules/party_siret/.readthedocs.yaml | 7 +++++++ modules/product/.readthedocs.yaml | 7 +++++++ modules/product_attribute/.readthedocs.yaml | 7 +++++++ modules/product_classification/.readthedocs.yaml | 7 +++++++ .../.readthedocs.yaml | 7 +++++++ modules/product_cost_fifo/.readthedocs.yaml | 7 +++++++ modules/product_cost_history/.readthedocs.yaml | 7 +++++++ modules/product_cost_warehouse/.readthedocs.yaml | 7 +++++++ modules/product_image/.readthedocs.yaml | 7 +++++++ modules/product_image_attribute/.readthedocs.yaml | 7 +++++++ modules/product_kit/.readthedocs.yaml | 7 +++++++ modules/product_measurements/.readthedocs.yaml | 7 +++++++ modules/product_price_list/.readthedocs.yaml | 7 +++++++ modules/product_price_list_dates/.readthedocs.yaml | 7 +++++++ modules/product_price_list_parent/.readthedocs.yaml | 7 +++++++ modules/production/.readthedocs.yaml | 7 +++++++ modules/production_outsourcing/.readthedocs.yaml | 7 +++++++ modules/production_routing/.readthedocs.yaml | 7 +++++++ modules/production_split/.readthedocs.yaml | 7 +++++++ modules/production_work/.readthedocs.yaml | 7 +++++++ modules/production_work_timesheet/.readthedocs.yaml | 7 +++++++ modules/project/.readthedocs.yaml | 7 +++++++ modules/project_invoice/.readthedocs.yaml | 7 +++++++ modules/project_plan/.readthedocs.yaml | 7 +++++++ modules/project_revenue/.readthedocs.yaml | 7 +++++++ modules/purchase/.readthedocs.yaml | 7 +++++++ modules/purchase_amendment/.readthedocs.yaml | 7 +++++++ modules/purchase_blanket_agreement/.readthedocs.yaml | 7 +++++++ modules/purchase_history/.readthedocs.yaml | 7 +++++++ .../.readthedocs.yaml | 7 +++++++ modules/purchase_price_list/.readthedocs.yaml | 7 +++++++ modules/purchase_product_quantity/.readthedocs.yaml | 7 +++++++ modules/purchase_request/.readthedocs.yaml | 7 +++++++ modules/purchase_request_quotation/.readthedocs.yaml | 7 +++++++ modules/purchase_requisition/.readthedocs.yaml | 7 +++++++ modules/purchase_secondary_unit/.readthedocs.yaml | 7 +++++++ modules/purchase_shipment_cost/.readthedocs.yaml | 7 +++++++ modules/quality/.readthedocs.yaml | 7 +++++++ modules/sale/.readthedocs.yaml | 7 +++++++ modules/sale_advance_payment/.readthedocs.yaml | 7 +++++++ modules/sale_amendment/.readthedocs.yaml | 7 +++++++ modules/sale_blanket_agreement/.readthedocs.yaml | 7 +++++++ modules/sale_complaint/.readthedocs.yaml | 7 +++++++ modules/sale_credit_limit/.readthedocs.yaml | 7 +++++++ modules/sale_discount/.readthedocs.yaml | 7 +++++++ modules/sale_extra/.readthedocs.yaml | 7 +++++++ modules/sale_gift_card/.readthedocs.yaml | 7 +++++++ modules/sale_history/.readthedocs.yaml | 7 +++++++ modules/sale_invoice_date/.readthedocs.yaml | 7 +++++++ modules/sale_invoice_grouping/.readthedocs.yaml | 7 +++++++ modules/sale_opportunity/.readthedocs.yaml | 7 +++++++ modules/sale_payment/.readthedocs.yaml | 7 +++++++ modules/sale_point/.readthedocs.yaml | 7 +++++++ modules/sale_price_list/.readthedocs.yaml | 7 +++++++ modules/sale_product_customer/.readthedocs.yaml | 7 +++++++ modules/sale_product_quantity/.readthedocs.yaml | 7 +++++++ modules/sale_product_recommendation/.readthedocs.yaml | 7 +++++++ .../.readthedocs.yaml | 7 +++++++ modules/sale_promotion/.readthedocs.yaml | 7 +++++++ modules/sale_promotion_coupon/.readthedocs.yaml | 7 +++++++ .../sale_promotion_coupon_payment/.readthedocs.yaml | 7 +++++++ modules/sale_secondary_unit/.readthedocs.yaml | 7 +++++++ modules/sale_shipment_cost/.readthedocs.yaml | 7 +++++++ modules/sale_shipment_grouping/.readthedocs.yaml | 7 +++++++ modules/sale_shipment_tolerance/.readthedocs.yaml | 7 +++++++ modules/sale_stock_quantity/.readthedocs.yaml | 7 +++++++ modules/sale_subscription/.readthedocs.yaml | 7 +++++++ modules/sale_subscription_asset/.readthedocs.yaml | 7 +++++++ modules/sale_supply/.readthedocs.yaml | 7 +++++++ modules/sale_supply_drop_shipment/.readthedocs.yaml | 7 +++++++ modules/sale_supply_production/.readthedocs.yaml | 7 +++++++ modules/stock/.readthedocs.yaml | 7 +++++++ modules/stock_assign_manual/.readthedocs.yaml | 7 +++++++ modules/stock_consignment/.readthedocs.yaml | 7 +++++++ modules/stock_forecast/.readthedocs.yaml | 7 +++++++ modules/stock_inventory_location/.readthedocs.yaml | 7 +++++++ modules/stock_location_move/.readthedocs.yaml | 7 +++++++ modules/stock_location_sequence/.readthedocs.yaml | 7 +++++++ modules/stock_lot/.readthedocs.yaml | 7 +++++++ modules/stock_lot_sled/.readthedocs.yaml | 7 +++++++ modules/stock_lot_unit/.readthedocs.yaml | 7 +++++++ modules/stock_package/.readthedocs.yaml | 7 +++++++ modules/stock_package_shipping/.readthedocs.yaml | 7 +++++++ modules/stock_package_shipping_dpd/.readthedocs.yaml | 7 +++++++ .../stock_package_shipping_mygls/.readthedocs.yaml | 7 +++++++ .../.readthedocs.yaml | 7 +++++++ modules/stock_package_shipping_ups/.readthedocs.yaml | 7 +++++++ modules/stock_product_location/.readthedocs.yaml | 7 +++++++ .../stock_quantity_early_planning/.readthedocs.yaml | 7 +++++++ modules/stock_quantity_issue/.readthedocs.yaml | 7 +++++++ modules/stock_secondary_unit/.readthedocs.yaml | 7 +++++++ modules/stock_shipment_cost/.readthedocs.yaml | 7 +++++++ modules/stock_shipment_cost_weight/.readthedocs.yaml | 7 +++++++ modules/stock_shipment_measurements/.readthedocs.yaml | 7 +++++++ modules/stock_split/.readthedocs.yaml | 7 +++++++ modules/stock_supply/.readthedocs.yaml | 7 +++++++ modules/stock_supply_day/.readthedocs.yaml | 7 +++++++ modules/stock_supply_forecast/.readthedocs.yaml | 7 +++++++ modules/stock_supply_production/.readthedocs.yaml | 7 +++++++ modules/timesheet/.readthedocs.yaml | 7 +++++++ modules/timesheet_cost/.readthedocs.yaml | 7 +++++++ modules/user_role/.readthedocs.yaml | 7 +++++++ modules/web_shop/.readthedocs.yaml | 7 +++++++ modules/web_shop_shopify/.readthedocs.yaml | 7 +++++++ modules/web_shop_vue_storefront/.readthedocs.yaml | 7 +++++++ .../web_shop_vue_storefront_stripe/.readthedocs.yaml | 7 +++++++ modules/web_shortener/.readthedocs.yaml | 7 +++++++ modules/web_user/.readthedocs.yaml | 7 +++++++ proteus/.readthedocs.yaml | 7 +++++++ readthedocs/.readthedocs.yaml | 7 +++++++ tryton/.readthedocs.yaml | 7 +++++++ trytond-gis/.readthedocs.yaml | 7 +++++++ trytond/.readthedocs.yaml | 7 +++++++ 204 files changed, 1432 insertions(+) create mode 100644 cookiecutter-module/{{ cookiecutter.module_name }}/.readthedocs.yaml create mode 100644 modules/account/.readthedocs.yaml create mode 100644 modules/account_asset/.readthedocs.yaml create mode 100644 modules/account_be/.readthedocs.yaml create mode 100644 modules/account_budget/.readthedocs.yaml create mode 100644 modules/account_cash_rounding/.readthedocs.yaml create mode 100644 modules/account_consolidation/.readthedocs.yaml create mode 100644 modules/account_credit_limit/.readthedocs.yaml create mode 100644 modules/account_de_skr03/.readthedocs.yaml create mode 100644 modules/account_deposit/.readthedocs.yaml create mode 100644 modules/account_dunning/.readthedocs.yaml create mode 100644 modules/account_dunning_email/.readthedocs.yaml create mode 100644 modules/account_dunning_fee/.readthedocs.yaml create mode 100644 modules/account_dunning_letter/.readthedocs.yaml create mode 100644 modules/account_es/.readthedocs.yaml create mode 100644 modules/account_es_sii/.readthedocs.yaml create mode 100644 modules/account_eu/.readthedocs.yaml create mode 100644 modules/account_fr/.readthedocs.yaml create mode 100644 modules/account_fr_chorus/.readthedocs.yaml create mode 100644 modules/account_invoice/.readthedocs.yaml create mode 100644 modules/account_invoice_correction/.readthedocs.yaml create mode 100644 modules/account_invoice_defer/.readthedocs.yaml create mode 100644 modules/account_invoice_history/.readthedocs.yaml create mode 100644 modules/account_invoice_line_standalone/.readthedocs.yaml create mode 100644 modules/account_invoice_secondary_unit/.readthedocs.yaml create mode 100644 modules/account_invoice_stock/.readthedocs.yaml create mode 100644 modules/account_invoice_watermark/.readthedocs.yaml create mode 100644 modules/account_move_line_grouping/.readthedocs.yaml create mode 100644 modules/account_payment/.readthedocs.yaml create mode 100644 modules/account_payment_braintree/.readthedocs.yaml create mode 100644 modules/account_payment_clearing/.readthedocs.yaml create mode 100644 modules/account_payment_sepa/.readthedocs.yaml create mode 100644 modules/account_payment_sepa_cfonb/.readthedocs.yaml create mode 100644 modules/account_payment_stripe/.readthedocs.yaml create mode 100644 modules/account_product/.readthedocs.yaml create mode 100644 modules/account_receivable_rule/.readthedocs.yaml create mode 100644 modules/account_rule/.readthedocs.yaml create mode 100644 modules/account_statement/.readthedocs.yaml create mode 100644 modules/account_statement_aeb43/.readthedocs.yaml create mode 100644 modules/account_statement_coda/.readthedocs.yaml create mode 100644 modules/account_statement_mt940/.readthedocs.yaml create mode 100644 modules/account_statement_ofx/.readthedocs.yaml create mode 100644 modules/account_statement_rule/.readthedocs.yaml create mode 100644 modules/account_statement_sepa/.readthedocs.yaml create mode 100644 modules/account_stock_anglo_saxon/.readthedocs.yaml create mode 100644 modules/account_stock_continental/.readthedocs.yaml create mode 100644 modules/account_stock_eu/.readthedocs.yaml create mode 100644 modules/account_stock_landed_cost/.readthedocs.yaml create mode 100644 modules/account_stock_landed_cost_weight/.readthedocs.yaml create mode 100644 modules/account_stock_shipment_cost/.readthedocs.yaml create mode 100644 modules/account_stock_shipment_cost_weight/.readthedocs.yaml create mode 100644 modules/account_tax_cash/.readthedocs.yaml create mode 100644 modules/account_tax_non_deductible/.readthedocs.yaml create mode 100644 modules/account_tax_rule_country/.readthedocs.yaml create mode 100644 modules/analytic_account/.readthedocs.yaml create mode 100644 modules/analytic_budget/.readthedocs.yaml create mode 100644 modules/analytic_invoice/.readthedocs.yaml create mode 100644 modules/analytic_purchase/.readthedocs.yaml create mode 100644 modules/analytic_sale/.readthedocs.yaml create mode 100644 modules/attendance/.readthedocs.yaml create mode 100644 modules/authentication_saml/.readthedocs.yaml create mode 100644 modules/authentication_sms/.readthedocs.yaml create mode 100644 modules/bank/.readthedocs.yaml create mode 100644 modules/carrier/.readthedocs.yaml create mode 100644 modules/carrier_carriage/.readthedocs.yaml create mode 100644 modules/carrier_percentage/.readthedocs.yaml create mode 100644 modules/carrier_subdivision/.readthedocs.yaml create mode 100644 modules/carrier_weight/.readthedocs.yaml create mode 100644 modules/commission/.readthedocs.yaml create mode 100644 modules/commission_waiting/.readthedocs.yaml create mode 100644 modules/company/.readthedocs.yaml create mode 100644 modules/company_work_time/.readthedocs.yaml create mode 100644 modules/country/.readthedocs.yaml create mode 100644 modules/currency/.readthedocs.yaml create mode 100644 modules/currency_ro/.readthedocs.yaml create mode 100644 modules/currency_rs/.readthedocs.yaml create mode 100644 modules/customs/.readthedocs.yaml create mode 100644 modules/dashboard/.readthedocs.yaml create mode 100644 modules/edocument_uncefact/.readthedocs.yaml create mode 100644 modules/edocument_unece/.readthedocs.yaml create mode 100644 modules/google_maps/.readthedocs.yaml create mode 100644 modules/incoterm/.readthedocs.yaml create mode 100644 modules/ldap_authentication/.readthedocs.yaml create mode 100644 modules/marketing/.readthedocs.yaml create mode 100644 modules/marketing_automation/.readthedocs.yaml create mode 100644 modules/marketing_campaign/.readthedocs.yaml create mode 100644 modules/marketing_email/.readthedocs.yaml create mode 100644 modules/notification_email/.readthedocs.yaml create mode 100644 modules/party/.readthedocs.yaml create mode 100644 modules/party_avatar/.readthedocs.yaml create mode 100644 modules/party_relationship/.readthedocs.yaml create mode 100644 modules/party_siret/.readthedocs.yaml create mode 100644 modules/product/.readthedocs.yaml create mode 100644 modules/product_attribute/.readthedocs.yaml create mode 100644 modules/product_classification/.readthedocs.yaml create mode 100644 modules/product_classification_taxonomic/.readthedocs.yaml create mode 100644 modules/product_cost_fifo/.readthedocs.yaml create mode 100644 modules/product_cost_history/.readthedocs.yaml create mode 100644 modules/product_cost_warehouse/.readthedocs.yaml create mode 100644 modules/product_image/.readthedocs.yaml create mode 100644 modules/product_image_attribute/.readthedocs.yaml create mode 100644 modules/product_kit/.readthedocs.yaml create mode 100644 modules/product_measurements/.readthedocs.yaml create mode 100644 modules/product_price_list/.readthedocs.yaml create mode 100644 modules/product_price_list_dates/.readthedocs.yaml create mode 100644 modules/product_price_list_parent/.readthedocs.yaml create mode 100644 modules/production/.readthedocs.yaml create mode 100644 modules/production_outsourcing/.readthedocs.yaml create mode 100644 modules/production_routing/.readthedocs.yaml create mode 100644 modules/production_split/.readthedocs.yaml create mode 100644 modules/production_work/.readthedocs.yaml create mode 100644 modules/production_work_timesheet/.readthedocs.yaml create mode 100644 modules/project/.readthedocs.yaml create mode 100644 modules/project_invoice/.readthedocs.yaml create mode 100644 modules/project_plan/.readthedocs.yaml create mode 100644 modules/project_revenue/.readthedocs.yaml create mode 100644 modules/purchase/.readthedocs.yaml create mode 100644 modules/purchase_amendment/.readthedocs.yaml create mode 100644 modules/purchase_blanket_agreement/.readthedocs.yaml create mode 100644 modules/purchase_history/.readthedocs.yaml create mode 100644 modules/purchase_invoice_line_standalone/.readthedocs.yaml create mode 100644 modules/purchase_price_list/.readthedocs.yaml create mode 100644 modules/purchase_product_quantity/.readthedocs.yaml create mode 100644 modules/purchase_request/.readthedocs.yaml create mode 100644 modules/purchase_request_quotation/.readthedocs.yaml create mode 100644 modules/purchase_requisition/.readthedocs.yaml create mode 100644 modules/purchase_secondary_unit/.readthedocs.yaml create mode 100644 modules/purchase_shipment_cost/.readthedocs.yaml create mode 100644 modules/quality/.readthedocs.yaml create mode 100644 modules/sale/.readthedocs.yaml create mode 100644 modules/sale_advance_payment/.readthedocs.yaml create mode 100644 modules/sale_amendment/.readthedocs.yaml create mode 100644 modules/sale_blanket_agreement/.readthedocs.yaml create mode 100644 modules/sale_complaint/.readthedocs.yaml create mode 100644 modules/sale_credit_limit/.readthedocs.yaml create mode 100644 modules/sale_discount/.readthedocs.yaml create mode 100644 modules/sale_extra/.readthedocs.yaml create mode 100644 modules/sale_gift_card/.readthedocs.yaml create mode 100644 modules/sale_history/.readthedocs.yaml create mode 100644 modules/sale_invoice_date/.readthedocs.yaml create mode 100644 modules/sale_invoice_grouping/.readthedocs.yaml create mode 100644 modules/sale_opportunity/.readthedocs.yaml create mode 100644 modules/sale_payment/.readthedocs.yaml create mode 100644 modules/sale_point/.readthedocs.yaml create mode 100644 modules/sale_price_list/.readthedocs.yaml create mode 100644 modules/sale_product_customer/.readthedocs.yaml create mode 100644 modules/sale_product_quantity/.readthedocs.yaml create mode 100644 modules/sale_product_recommendation/.readthedocs.yaml create mode 100644 modules/sale_product_recommendation_association_rule/.readthedocs.yaml create mode 100644 modules/sale_promotion/.readthedocs.yaml create mode 100644 modules/sale_promotion_coupon/.readthedocs.yaml create mode 100644 modules/sale_promotion_coupon_payment/.readthedocs.yaml create mode 100644 modules/sale_secondary_unit/.readthedocs.yaml create mode 100644 modules/sale_shipment_cost/.readthedocs.yaml create mode 100644 modules/sale_shipment_grouping/.readthedocs.yaml create mode 100644 modules/sale_shipment_tolerance/.readthedocs.yaml create mode 100644 modules/sale_stock_quantity/.readthedocs.yaml create mode 100644 modules/sale_subscription/.readthedocs.yaml create mode 100644 modules/sale_subscription_asset/.readthedocs.yaml create mode 100644 modules/sale_supply/.readthedocs.yaml create mode 100644 modules/sale_supply_drop_shipment/.readthedocs.yaml create mode 100644 modules/sale_supply_production/.readthedocs.yaml create mode 100644 modules/stock/.readthedocs.yaml create mode 100644 modules/stock_assign_manual/.readthedocs.yaml create mode 100644 modules/stock_consignment/.readthedocs.yaml create mode 100644 modules/stock_forecast/.readthedocs.yaml create mode 100644 modules/stock_inventory_location/.readthedocs.yaml create mode 100644 modules/stock_location_move/.readthedocs.yaml create mode 100644 modules/stock_location_sequence/.readthedocs.yaml create mode 100644 modules/stock_lot/.readthedocs.yaml create mode 100644 modules/stock_lot_sled/.readthedocs.yaml create mode 100644 modules/stock_lot_unit/.readthedocs.yaml create mode 100644 modules/stock_package/.readthedocs.yaml create mode 100644 modules/stock_package_shipping/.readthedocs.yaml create mode 100644 modules/stock_package_shipping_dpd/.readthedocs.yaml create mode 100644 modules/stock_package_shipping_mygls/.readthedocs.yaml create mode 100644 modules/stock_package_shipping_sendcloud/.readthedocs.yaml create mode 100644 modules/stock_package_shipping_ups/.readthedocs.yaml create mode 100644 modules/stock_product_location/.readthedocs.yaml create mode 100644 modules/stock_quantity_early_planning/.readthedocs.yaml create mode 100644 modules/stock_quantity_issue/.readthedocs.yaml create mode 100644 modules/stock_secondary_unit/.readthedocs.yaml create mode 100644 modules/stock_shipment_cost/.readthedocs.yaml create mode 100644 modules/stock_shipment_cost_weight/.readthedocs.yaml create mode 100644 modules/stock_shipment_measurements/.readthedocs.yaml create mode 100644 modules/stock_split/.readthedocs.yaml create mode 100644 modules/stock_supply/.readthedocs.yaml create mode 100644 modules/stock_supply_day/.readthedocs.yaml create mode 100644 modules/stock_supply_forecast/.readthedocs.yaml create mode 100644 modules/stock_supply_production/.readthedocs.yaml create mode 100644 modules/timesheet/.readthedocs.yaml create mode 100644 modules/timesheet_cost/.readthedocs.yaml create mode 100644 modules/user_role/.readthedocs.yaml create mode 100644 modules/web_shop/.readthedocs.yaml create mode 100644 modules/web_shop_shopify/.readthedocs.yaml create mode 100644 modules/web_shop_vue_storefront/.readthedocs.yaml create mode 100644 modules/web_shop_vue_storefront_stripe/.readthedocs.yaml create mode 100644 modules/web_shortener/.readthedocs.yaml create mode 100644 modules/web_user/.readthedocs.yaml create mode 100644 proteus/.readthedocs.yaml create mode 100644 readthedocs/.readthedocs.yaml create mode 100644 tryton/.readthedocs.yaml create mode 100644 trytond-gis/.readthedocs.yaml create mode 100644 trytond/.readthedocs.yaml diff --git a/cookiecutter-module/{{ cookiecutter.module_name }}/.readthedocs.yaml b/cookiecutter-module/{{ cookiecutter.module_name }}/.readthedocs.yaml new file mode 100644 index 00000000000..b8ff90c3c91 --- /dev/null +++ b/cookiecutter-module/{{ cookiecutter.module_name }}/.readthedocs.yaml @@ -0,0 +1,11 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + {%- if not cookiecutter.prefix %} + configuration: modules/{{ cookiecutter.package_name }}/doc/conf.py + {%- else %} + configuration: doc/conf.py + {%- endif %} diff --git a/modules/account/.readthedocs.yaml b/modules/account/.readthedocs.yaml new file mode 100644 index 00000000000..ba89777bc6e --- /dev/null +++ b/modules/account/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account/doc/conf.py diff --git a/modules/account_asset/.readthedocs.yaml b/modules/account_asset/.readthedocs.yaml new file mode 100644 index 00000000000..adffff5e51f --- /dev/null +++ b/modules/account_asset/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_asset/doc/conf.py diff --git a/modules/account_be/.readthedocs.yaml b/modules/account_be/.readthedocs.yaml new file mode 100644 index 00000000000..736db1c219b --- /dev/null +++ b/modules/account_be/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_be/doc/conf.py diff --git a/modules/account_budget/.readthedocs.yaml b/modules/account_budget/.readthedocs.yaml new file mode 100644 index 00000000000..ba823519c7c --- /dev/null +++ b/modules/account_budget/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_budget/doc/conf.py diff --git a/modules/account_cash_rounding/.readthedocs.yaml b/modules/account_cash_rounding/.readthedocs.yaml new file mode 100644 index 00000000000..6c828b63095 --- /dev/null +++ b/modules/account_cash_rounding/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_cash_rounding/doc/conf.py diff --git a/modules/account_consolidation/.readthedocs.yaml b/modules/account_consolidation/.readthedocs.yaml new file mode 100644 index 00000000000..0623db172f2 --- /dev/null +++ b/modules/account_consolidation/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_consolidation/doc/conf.py diff --git a/modules/account_credit_limit/.readthedocs.yaml b/modules/account_credit_limit/.readthedocs.yaml new file mode 100644 index 00000000000..94fac8fb9d5 --- /dev/null +++ b/modules/account_credit_limit/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_credit_limit/doc/conf.py diff --git a/modules/account_de_skr03/.readthedocs.yaml b/modules/account_de_skr03/.readthedocs.yaml new file mode 100644 index 00000000000..63396bc8b1c --- /dev/null +++ b/modules/account_de_skr03/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_de_skr03/doc/conf.py diff --git a/modules/account_deposit/.readthedocs.yaml b/modules/account_deposit/.readthedocs.yaml new file mode 100644 index 00000000000..284b10c43ec --- /dev/null +++ b/modules/account_deposit/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_deposit/doc/conf.py diff --git a/modules/account_dunning/.readthedocs.yaml b/modules/account_dunning/.readthedocs.yaml new file mode 100644 index 00000000000..d39731a847c --- /dev/null +++ b/modules/account_dunning/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_dunning/doc/conf.py diff --git a/modules/account_dunning_email/.readthedocs.yaml b/modules/account_dunning_email/.readthedocs.yaml new file mode 100644 index 00000000000..a9a10263760 --- /dev/null +++ b/modules/account_dunning_email/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_dunning_email/doc/conf.py diff --git a/modules/account_dunning_fee/.readthedocs.yaml b/modules/account_dunning_fee/.readthedocs.yaml new file mode 100644 index 00000000000..20e6c2bd42c --- /dev/null +++ b/modules/account_dunning_fee/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_dunning_fee/doc/conf.py diff --git a/modules/account_dunning_letter/.readthedocs.yaml b/modules/account_dunning_letter/.readthedocs.yaml new file mode 100644 index 00000000000..81ca945791d --- /dev/null +++ b/modules/account_dunning_letter/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_dunning_letter/doc/conf.py diff --git a/modules/account_es/.readthedocs.yaml b/modules/account_es/.readthedocs.yaml new file mode 100644 index 00000000000..f37394cd90c --- /dev/null +++ b/modules/account_es/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_es/doc/conf.py diff --git a/modules/account_es_sii/.readthedocs.yaml b/modules/account_es_sii/.readthedocs.yaml new file mode 100644 index 00000000000..9bfeb37c2c3 --- /dev/null +++ b/modules/account_es_sii/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_es_sii/doc/conf.py diff --git a/modules/account_eu/.readthedocs.yaml b/modules/account_eu/.readthedocs.yaml new file mode 100644 index 00000000000..ac3cdb4905a --- /dev/null +++ b/modules/account_eu/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_eu/doc/conf.py diff --git a/modules/account_fr/.readthedocs.yaml b/modules/account_fr/.readthedocs.yaml new file mode 100644 index 00000000000..a8690aab9b5 --- /dev/null +++ b/modules/account_fr/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_fr/doc/conf.py diff --git a/modules/account_fr_chorus/.readthedocs.yaml b/modules/account_fr_chorus/.readthedocs.yaml new file mode 100644 index 00000000000..538f5c2d126 --- /dev/null +++ b/modules/account_fr_chorus/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_fr_chorus/doc/conf.py diff --git a/modules/account_invoice/.readthedocs.yaml b/modules/account_invoice/.readthedocs.yaml new file mode 100644 index 00000000000..cebbd6d8427 --- /dev/null +++ b/modules/account_invoice/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_invoice/doc/conf.py diff --git a/modules/account_invoice_correction/.readthedocs.yaml b/modules/account_invoice_correction/.readthedocs.yaml new file mode 100644 index 00000000000..7c304ed4b0b --- /dev/null +++ b/modules/account_invoice_correction/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_invoice_correction/doc/conf.py diff --git a/modules/account_invoice_defer/.readthedocs.yaml b/modules/account_invoice_defer/.readthedocs.yaml new file mode 100644 index 00000000000..5dccd875110 --- /dev/null +++ b/modules/account_invoice_defer/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_invoice_defer/doc/conf.py diff --git a/modules/account_invoice_history/.readthedocs.yaml b/modules/account_invoice_history/.readthedocs.yaml new file mode 100644 index 00000000000..0a02a65c3d2 --- /dev/null +++ b/modules/account_invoice_history/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_invoice_history/doc/conf.py diff --git a/modules/account_invoice_line_standalone/.readthedocs.yaml b/modules/account_invoice_line_standalone/.readthedocs.yaml new file mode 100644 index 00000000000..d97f97a3e25 --- /dev/null +++ b/modules/account_invoice_line_standalone/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_invoice_line_standalone/doc/conf.py diff --git a/modules/account_invoice_secondary_unit/.readthedocs.yaml b/modules/account_invoice_secondary_unit/.readthedocs.yaml new file mode 100644 index 00000000000..c3fc7bec3b3 --- /dev/null +++ b/modules/account_invoice_secondary_unit/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_invoice_secondary_unit/doc/conf.py diff --git a/modules/account_invoice_stock/.readthedocs.yaml b/modules/account_invoice_stock/.readthedocs.yaml new file mode 100644 index 00000000000..68afb91cbe2 --- /dev/null +++ b/modules/account_invoice_stock/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_invoice_stock/doc/conf.py diff --git a/modules/account_invoice_watermark/.readthedocs.yaml b/modules/account_invoice_watermark/.readthedocs.yaml new file mode 100644 index 00000000000..cd09df9ea6b --- /dev/null +++ b/modules/account_invoice_watermark/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_invoice_watermark/doc/conf.py diff --git a/modules/account_move_line_grouping/.readthedocs.yaml b/modules/account_move_line_grouping/.readthedocs.yaml new file mode 100644 index 00000000000..a037cd20187 --- /dev/null +++ b/modules/account_move_line_grouping/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_move_line_grouping/doc/conf.py diff --git a/modules/account_payment/.readthedocs.yaml b/modules/account_payment/.readthedocs.yaml new file mode 100644 index 00000000000..476ee9b5893 --- /dev/null +++ b/modules/account_payment/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_payment/doc/conf.py diff --git a/modules/account_payment_braintree/.readthedocs.yaml b/modules/account_payment_braintree/.readthedocs.yaml new file mode 100644 index 00000000000..23065f280d4 --- /dev/null +++ b/modules/account_payment_braintree/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_payment_braintree/doc/conf.py diff --git a/modules/account_payment_clearing/.readthedocs.yaml b/modules/account_payment_clearing/.readthedocs.yaml new file mode 100644 index 00000000000..1a5732ceb09 --- /dev/null +++ b/modules/account_payment_clearing/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_payment_clearing/doc/conf.py diff --git a/modules/account_payment_sepa/.readthedocs.yaml b/modules/account_payment_sepa/.readthedocs.yaml new file mode 100644 index 00000000000..c903e091721 --- /dev/null +++ b/modules/account_payment_sepa/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_payment_sepa/doc/conf.py diff --git a/modules/account_payment_sepa_cfonb/.readthedocs.yaml b/modules/account_payment_sepa_cfonb/.readthedocs.yaml new file mode 100644 index 00000000000..9e63058ecaa --- /dev/null +++ b/modules/account_payment_sepa_cfonb/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_payment_sepa_cfonb/doc/conf.py diff --git a/modules/account_payment_stripe/.readthedocs.yaml b/modules/account_payment_stripe/.readthedocs.yaml new file mode 100644 index 00000000000..8939f72c2f5 --- /dev/null +++ b/modules/account_payment_stripe/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_payment_stripe/doc/conf.py diff --git a/modules/account_product/.readthedocs.yaml b/modules/account_product/.readthedocs.yaml new file mode 100644 index 00000000000..5ffd99592a3 --- /dev/null +++ b/modules/account_product/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_product/doc/conf.py diff --git a/modules/account_receivable_rule/.readthedocs.yaml b/modules/account_receivable_rule/.readthedocs.yaml new file mode 100644 index 00000000000..92bd0fa7d8f --- /dev/null +++ b/modules/account_receivable_rule/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_receivable_rule/doc/conf.py diff --git a/modules/account_rule/.readthedocs.yaml b/modules/account_rule/.readthedocs.yaml new file mode 100644 index 00000000000..f6ed2c18eb9 --- /dev/null +++ b/modules/account_rule/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_rule/doc/conf.py diff --git a/modules/account_statement/.readthedocs.yaml b/modules/account_statement/.readthedocs.yaml new file mode 100644 index 00000000000..2bae9936304 --- /dev/null +++ b/modules/account_statement/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_statement/doc/conf.py diff --git a/modules/account_statement_aeb43/.readthedocs.yaml b/modules/account_statement_aeb43/.readthedocs.yaml new file mode 100644 index 00000000000..84d4b59e0ea --- /dev/null +++ b/modules/account_statement_aeb43/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_statement_aeb43/doc/conf.py diff --git a/modules/account_statement_coda/.readthedocs.yaml b/modules/account_statement_coda/.readthedocs.yaml new file mode 100644 index 00000000000..54bb1a1e1a6 --- /dev/null +++ b/modules/account_statement_coda/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_statement_coda/doc/conf.py diff --git a/modules/account_statement_mt940/.readthedocs.yaml b/modules/account_statement_mt940/.readthedocs.yaml new file mode 100644 index 00000000000..ef7dcf11b0b --- /dev/null +++ b/modules/account_statement_mt940/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_statement_mt940/doc/conf.py diff --git a/modules/account_statement_ofx/.readthedocs.yaml b/modules/account_statement_ofx/.readthedocs.yaml new file mode 100644 index 00000000000..be241ed9011 --- /dev/null +++ b/modules/account_statement_ofx/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_statement_ofx/doc/conf.py diff --git a/modules/account_statement_rule/.readthedocs.yaml b/modules/account_statement_rule/.readthedocs.yaml new file mode 100644 index 00000000000..60ed5dd2325 --- /dev/null +++ b/modules/account_statement_rule/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_statement_rule/doc/conf.py diff --git a/modules/account_statement_sepa/.readthedocs.yaml b/modules/account_statement_sepa/.readthedocs.yaml new file mode 100644 index 00000000000..3f25b7efac3 --- /dev/null +++ b/modules/account_statement_sepa/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_statement_sepa/doc/conf.py diff --git a/modules/account_stock_anglo_saxon/.readthedocs.yaml b/modules/account_stock_anglo_saxon/.readthedocs.yaml new file mode 100644 index 00000000000..13372aff820 --- /dev/null +++ b/modules/account_stock_anglo_saxon/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_stock_anglo_saxon/doc/conf.py diff --git a/modules/account_stock_continental/.readthedocs.yaml b/modules/account_stock_continental/.readthedocs.yaml new file mode 100644 index 00000000000..5558eb5abe9 --- /dev/null +++ b/modules/account_stock_continental/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_stock_continental/doc/conf.py diff --git a/modules/account_stock_eu/.readthedocs.yaml b/modules/account_stock_eu/.readthedocs.yaml new file mode 100644 index 00000000000..d5511c147ce --- /dev/null +++ b/modules/account_stock_eu/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_stock_eu/doc/conf.py diff --git a/modules/account_stock_landed_cost/.readthedocs.yaml b/modules/account_stock_landed_cost/.readthedocs.yaml new file mode 100644 index 00000000000..1840978faaa --- /dev/null +++ b/modules/account_stock_landed_cost/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_stock_landed_cost/doc/conf.py diff --git a/modules/account_stock_landed_cost_weight/.readthedocs.yaml b/modules/account_stock_landed_cost_weight/.readthedocs.yaml new file mode 100644 index 00000000000..d2a739043f3 --- /dev/null +++ b/modules/account_stock_landed_cost_weight/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_stock_landed_cost_weight/doc/conf.py diff --git a/modules/account_stock_shipment_cost/.readthedocs.yaml b/modules/account_stock_shipment_cost/.readthedocs.yaml new file mode 100644 index 00000000000..c9855b4e429 --- /dev/null +++ b/modules/account_stock_shipment_cost/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_stock_shipment_cost/doc/conf.py diff --git a/modules/account_stock_shipment_cost_weight/.readthedocs.yaml b/modules/account_stock_shipment_cost_weight/.readthedocs.yaml new file mode 100644 index 00000000000..d5372532260 --- /dev/null +++ b/modules/account_stock_shipment_cost_weight/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_stock_shipment_cost_weight/doc/conf.py diff --git a/modules/account_tax_cash/.readthedocs.yaml b/modules/account_tax_cash/.readthedocs.yaml new file mode 100644 index 00000000000..c037b54afde --- /dev/null +++ b/modules/account_tax_cash/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_tax_cash/doc/conf.py diff --git a/modules/account_tax_non_deductible/.readthedocs.yaml b/modules/account_tax_non_deductible/.readthedocs.yaml new file mode 100644 index 00000000000..9b618c2b06b --- /dev/null +++ b/modules/account_tax_non_deductible/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_tax_non_deductible/doc/conf.py diff --git a/modules/account_tax_rule_country/.readthedocs.yaml b/modules/account_tax_rule_country/.readthedocs.yaml new file mode 100644 index 00000000000..b283bdfd182 --- /dev/null +++ b/modules/account_tax_rule_country/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/account_tax_rule_country/doc/conf.py diff --git a/modules/analytic_account/.readthedocs.yaml b/modules/analytic_account/.readthedocs.yaml new file mode 100644 index 00000000000..9b5b0be8207 --- /dev/null +++ b/modules/analytic_account/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/analytic_account/doc/conf.py diff --git a/modules/analytic_budget/.readthedocs.yaml b/modules/analytic_budget/.readthedocs.yaml new file mode 100644 index 00000000000..8cfe12dd3cc --- /dev/null +++ b/modules/analytic_budget/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/analytic_budget/doc/conf.py diff --git a/modules/analytic_invoice/.readthedocs.yaml b/modules/analytic_invoice/.readthedocs.yaml new file mode 100644 index 00000000000..a5c42e012e5 --- /dev/null +++ b/modules/analytic_invoice/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/analytic_invoice/doc/conf.py diff --git a/modules/analytic_purchase/.readthedocs.yaml b/modules/analytic_purchase/.readthedocs.yaml new file mode 100644 index 00000000000..aac3a4060c8 --- /dev/null +++ b/modules/analytic_purchase/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/analytic_purchase/doc/conf.py diff --git a/modules/analytic_sale/.readthedocs.yaml b/modules/analytic_sale/.readthedocs.yaml new file mode 100644 index 00000000000..0c3405edcf3 --- /dev/null +++ b/modules/analytic_sale/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/analytic_sale/doc/conf.py diff --git a/modules/attendance/.readthedocs.yaml b/modules/attendance/.readthedocs.yaml new file mode 100644 index 00000000000..078bde9d3e8 --- /dev/null +++ b/modules/attendance/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/attendance/doc/conf.py diff --git a/modules/authentication_saml/.readthedocs.yaml b/modules/authentication_saml/.readthedocs.yaml new file mode 100644 index 00000000000..78095f8104c --- /dev/null +++ b/modules/authentication_saml/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/authentication_saml/doc/conf.py diff --git a/modules/authentication_sms/.readthedocs.yaml b/modules/authentication_sms/.readthedocs.yaml new file mode 100644 index 00000000000..e768a464b51 --- /dev/null +++ b/modules/authentication_sms/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/authentication_sms/doc/conf.py diff --git a/modules/bank/.readthedocs.yaml b/modules/bank/.readthedocs.yaml new file mode 100644 index 00000000000..aa9aadac048 --- /dev/null +++ b/modules/bank/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/bank/doc/conf.py diff --git a/modules/carrier/.readthedocs.yaml b/modules/carrier/.readthedocs.yaml new file mode 100644 index 00000000000..78aef51f621 --- /dev/null +++ b/modules/carrier/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/carrier/doc/conf.py diff --git a/modules/carrier_carriage/.readthedocs.yaml b/modules/carrier_carriage/.readthedocs.yaml new file mode 100644 index 00000000000..3ef1fd69079 --- /dev/null +++ b/modules/carrier_carriage/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/carrier_carriage/doc/conf.py diff --git a/modules/carrier_percentage/.readthedocs.yaml b/modules/carrier_percentage/.readthedocs.yaml new file mode 100644 index 00000000000..64dee78f69e --- /dev/null +++ b/modules/carrier_percentage/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/carrier_percentage/doc/conf.py diff --git a/modules/carrier_subdivision/.readthedocs.yaml b/modules/carrier_subdivision/.readthedocs.yaml new file mode 100644 index 00000000000..580fae8ca8e --- /dev/null +++ b/modules/carrier_subdivision/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/carrier_subdivision/doc/conf.py diff --git a/modules/carrier_weight/.readthedocs.yaml b/modules/carrier_weight/.readthedocs.yaml new file mode 100644 index 00000000000..a8eeb1b1a7b --- /dev/null +++ b/modules/carrier_weight/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/carrier_weight/doc/conf.py diff --git a/modules/commission/.readthedocs.yaml b/modules/commission/.readthedocs.yaml new file mode 100644 index 00000000000..b923ec3f074 --- /dev/null +++ b/modules/commission/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/commission/doc/conf.py diff --git a/modules/commission_waiting/.readthedocs.yaml b/modules/commission_waiting/.readthedocs.yaml new file mode 100644 index 00000000000..70f99167b1e --- /dev/null +++ b/modules/commission_waiting/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/commission_waiting/doc/conf.py diff --git a/modules/company/.readthedocs.yaml b/modules/company/.readthedocs.yaml new file mode 100644 index 00000000000..eb55a0452a1 --- /dev/null +++ b/modules/company/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/company/doc/conf.py diff --git a/modules/company_work_time/.readthedocs.yaml b/modules/company_work_time/.readthedocs.yaml new file mode 100644 index 00000000000..92c38d0969d --- /dev/null +++ b/modules/company_work_time/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/company_work_time/doc/conf.py diff --git a/modules/country/.readthedocs.yaml b/modules/country/.readthedocs.yaml new file mode 100644 index 00000000000..4f9eba0ddea --- /dev/null +++ b/modules/country/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/country/doc/conf.py diff --git a/modules/currency/.readthedocs.yaml b/modules/currency/.readthedocs.yaml new file mode 100644 index 00000000000..ff36056851c --- /dev/null +++ b/modules/currency/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/currency/doc/conf.py diff --git a/modules/currency_ro/.readthedocs.yaml b/modules/currency_ro/.readthedocs.yaml new file mode 100644 index 00000000000..780dc925e9f --- /dev/null +++ b/modules/currency_ro/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/currency_ro/doc/conf.py diff --git a/modules/currency_rs/.readthedocs.yaml b/modules/currency_rs/.readthedocs.yaml new file mode 100644 index 00000000000..274d39c6f64 --- /dev/null +++ b/modules/currency_rs/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/currency_rs/doc/conf.py diff --git a/modules/customs/.readthedocs.yaml b/modules/customs/.readthedocs.yaml new file mode 100644 index 00000000000..739e483d6ed --- /dev/null +++ b/modules/customs/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/customs/doc/conf.py diff --git a/modules/dashboard/.readthedocs.yaml b/modules/dashboard/.readthedocs.yaml new file mode 100644 index 00000000000..6945e63118a --- /dev/null +++ b/modules/dashboard/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/dashboard/doc/conf.py diff --git a/modules/edocument_uncefact/.readthedocs.yaml b/modules/edocument_uncefact/.readthedocs.yaml new file mode 100644 index 00000000000..21ed715aba0 --- /dev/null +++ b/modules/edocument_uncefact/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/edocument_uncefact/doc/conf.py diff --git a/modules/edocument_unece/.readthedocs.yaml b/modules/edocument_unece/.readthedocs.yaml new file mode 100644 index 00000000000..5ba19371f3a --- /dev/null +++ b/modules/edocument_unece/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/edocument_unece/doc/conf.py diff --git a/modules/google_maps/.readthedocs.yaml b/modules/google_maps/.readthedocs.yaml new file mode 100644 index 00000000000..503624ffe18 --- /dev/null +++ b/modules/google_maps/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/google_maps/doc/conf.py diff --git a/modules/incoterm/.readthedocs.yaml b/modules/incoterm/.readthedocs.yaml new file mode 100644 index 00000000000..196c716a7f1 --- /dev/null +++ b/modules/incoterm/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/incoterm/doc/conf.py diff --git a/modules/ldap_authentication/.readthedocs.yaml b/modules/ldap_authentication/.readthedocs.yaml new file mode 100644 index 00000000000..86320c8332c --- /dev/null +++ b/modules/ldap_authentication/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/ldap_authentication/doc/conf.py diff --git a/modules/marketing/.readthedocs.yaml b/modules/marketing/.readthedocs.yaml new file mode 100644 index 00000000000..0c3979d05e6 --- /dev/null +++ b/modules/marketing/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/marketing/doc/conf.py diff --git a/modules/marketing_automation/.readthedocs.yaml b/modules/marketing_automation/.readthedocs.yaml new file mode 100644 index 00000000000..a37823af9ca --- /dev/null +++ b/modules/marketing_automation/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/marketing_automation/doc/conf.py diff --git a/modules/marketing_campaign/.readthedocs.yaml b/modules/marketing_campaign/.readthedocs.yaml new file mode 100644 index 00000000000..3e29513d9a1 --- /dev/null +++ b/modules/marketing_campaign/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/marketing_campaign/doc/conf.py diff --git a/modules/marketing_email/.readthedocs.yaml b/modules/marketing_email/.readthedocs.yaml new file mode 100644 index 00000000000..4b05248acdf --- /dev/null +++ b/modules/marketing_email/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/marketing_email/doc/conf.py diff --git a/modules/notification_email/.readthedocs.yaml b/modules/notification_email/.readthedocs.yaml new file mode 100644 index 00000000000..11ea6541cff --- /dev/null +++ b/modules/notification_email/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/notification_email/doc/conf.py diff --git a/modules/party/.readthedocs.yaml b/modules/party/.readthedocs.yaml new file mode 100644 index 00000000000..1fa219d6c2a --- /dev/null +++ b/modules/party/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/party/doc/conf.py diff --git a/modules/party_avatar/.readthedocs.yaml b/modules/party_avatar/.readthedocs.yaml new file mode 100644 index 00000000000..1eb84d8d473 --- /dev/null +++ b/modules/party_avatar/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/party_avatar/doc/conf.py diff --git a/modules/party_relationship/.readthedocs.yaml b/modules/party_relationship/.readthedocs.yaml new file mode 100644 index 00000000000..f6a0a0728c7 --- /dev/null +++ b/modules/party_relationship/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/party_relationship/doc/conf.py diff --git a/modules/party_siret/.readthedocs.yaml b/modules/party_siret/.readthedocs.yaml new file mode 100644 index 00000000000..9a22706e2ce --- /dev/null +++ b/modules/party_siret/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/party_siret/doc/conf.py diff --git a/modules/product/.readthedocs.yaml b/modules/product/.readthedocs.yaml new file mode 100644 index 00000000000..ff05102103c --- /dev/null +++ b/modules/product/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product/doc/conf.py diff --git a/modules/product_attribute/.readthedocs.yaml b/modules/product_attribute/.readthedocs.yaml new file mode 100644 index 00000000000..7560d6649e5 --- /dev/null +++ b/modules/product_attribute/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_attribute/doc/conf.py diff --git a/modules/product_classification/.readthedocs.yaml b/modules/product_classification/.readthedocs.yaml new file mode 100644 index 00000000000..69435a581a8 --- /dev/null +++ b/modules/product_classification/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_classification/doc/conf.py diff --git a/modules/product_classification_taxonomic/.readthedocs.yaml b/modules/product_classification_taxonomic/.readthedocs.yaml new file mode 100644 index 00000000000..f1e64f927ff --- /dev/null +++ b/modules/product_classification_taxonomic/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_classification_taxonomic/doc/conf.py diff --git a/modules/product_cost_fifo/.readthedocs.yaml b/modules/product_cost_fifo/.readthedocs.yaml new file mode 100644 index 00000000000..8d5da0ed31b --- /dev/null +++ b/modules/product_cost_fifo/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_cost_fifo/doc/conf.py diff --git a/modules/product_cost_history/.readthedocs.yaml b/modules/product_cost_history/.readthedocs.yaml new file mode 100644 index 00000000000..ee4fd7e5560 --- /dev/null +++ b/modules/product_cost_history/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_cost_history/doc/conf.py diff --git a/modules/product_cost_warehouse/.readthedocs.yaml b/modules/product_cost_warehouse/.readthedocs.yaml new file mode 100644 index 00000000000..594c89651c3 --- /dev/null +++ b/modules/product_cost_warehouse/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_cost_warehouse/doc/conf.py diff --git a/modules/product_image/.readthedocs.yaml b/modules/product_image/.readthedocs.yaml new file mode 100644 index 00000000000..8086f01adce --- /dev/null +++ b/modules/product_image/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_image/doc/conf.py diff --git a/modules/product_image_attribute/.readthedocs.yaml b/modules/product_image_attribute/.readthedocs.yaml new file mode 100644 index 00000000000..9ff51852e0c --- /dev/null +++ b/modules/product_image_attribute/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_image_attribute/doc/conf.py diff --git a/modules/product_kit/.readthedocs.yaml b/modules/product_kit/.readthedocs.yaml new file mode 100644 index 00000000000..fd567f1ffd7 --- /dev/null +++ b/modules/product_kit/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_kit/doc/conf.py diff --git a/modules/product_measurements/.readthedocs.yaml b/modules/product_measurements/.readthedocs.yaml new file mode 100644 index 00000000000..f5c81a6f5d4 --- /dev/null +++ b/modules/product_measurements/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_measurements/doc/conf.py diff --git a/modules/product_price_list/.readthedocs.yaml b/modules/product_price_list/.readthedocs.yaml new file mode 100644 index 00000000000..b867b023350 --- /dev/null +++ b/modules/product_price_list/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_price_list/doc/conf.py diff --git a/modules/product_price_list_dates/.readthedocs.yaml b/modules/product_price_list_dates/.readthedocs.yaml new file mode 100644 index 00000000000..79d192bd94b --- /dev/null +++ b/modules/product_price_list_dates/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_price_list_dates/doc/conf.py diff --git a/modules/product_price_list_parent/.readthedocs.yaml b/modules/product_price_list_parent/.readthedocs.yaml new file mode 100644 index 00000000000..3fc9aee38df --- /dev/null +++ b/modules/product_price_list_parent/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/product_price_list_parent/doc/conf.py diff --git a/modules/production/.readthedocs.yaml b/modules/production/.readthedocs.yaml new file mode 100644 index 00000000000..dd3358df896 --- /dev/null +++ b/modules/production/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/production/doc/conf.py diff --git a/modules/production_outsourcing/.readthedocs.yaml b/modules/production_outsourcing/.readthedocs.yaml new file mode 100644 index 00000000000..6b9d1fde645 --- /dev/null +++ b/modules/production_outsourcing/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/production_outsourcing/doc/conf.py diff --git a/modules/production_routing/.readthedocs.yaml b/modules/production_routing/.readthedocs.yaml new file mode 100644 index 00000000000..25e4d47e846 --- /dev/null +++ b/modules/production_routing/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/production_routing/doc/conf.py diff --git a/modules/production_split/.readthedocs.yaml b/modules/production_split/.readthedocs.yaml new file mode 100644 index 00000000000..51762073b11 --- /dev/null +++ b/modules/production_split/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/production_split/doc/conf.py diff --git a/modules/production_work/.readthedocs.yaml b/modules/production_work/.readthedocs.yaml new file mode 100644 index 00000000000..371fdae1e6d --- /dev/null +++ b/modules/production_work/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/production_work/doc/conf.py diff --git a/modules/production_work_timesheet/.readthedocs.yaml b/modules/production_work_timesheet/.readthedocs.yaml new file mode 100644 index 00000000000..a0486ca2ac8 --- /dev/null +++ b/modules/production_work_timesheet/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/production_work_timesheet/doc/conf.py diff --git a/modules/project/.readthedocs.yaml b/modules/project/.readthedocs.yaml new file mode 100644 index 00000000000..7af3eed86a2 --- /dev/null +++ b/modules/project/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/project/doc/conf.py diff --git a/modules/project_invoice/.readthedocs.yaml b/modules/project_invoice/.readthedocs.yaml new file mode 100644 index 00000000000..842404e895e --- /dev/null +++ b/modules/project_invoice/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/project_invoice/doc/conf.py diff --git a/modules/project_plan/.readthedocs.yaml b/modules/project_plan/.readthedocs.yaml new file mode 100644 index 00000000000..80c924d4a01 --- /dev/null +++ b/modules/project_plan/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/project_plan/doc/conf.py diff --git a/modules/project_revenue/.readthedocs.yaml b/modules/project_revenue/.readthedocs.yaml new file mode 100644 index 00000000000..2bdc725530b --- /dev/null +++ b/modules/project_revenue/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/project_revenue/doc/conf.py diff --git a/modules/purchase/.readthedocs.yaml b/modules/purchase/.readthedocs.yaml new file mode 100644 index 00000000000..a9150e1d465 --- /dev/null +++ b/modules/purchase/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase/doc/conf.py diff --git a/modules/purchase_amendment/.readthedocs.yaml b/modules/purchase_amendment/.readthedocs.yaml new file mode 100644 index 00000000000..83a4f35da6a --- /dev/null +++ b/modules/purchase_amendment/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_amendment/doc/conf.py diff --git a/modules/purchase_blanket_agreement/.readthedocs.yaml b/modules/purchase_blanket_agreement/.readthedocs.yaml new file mode 100644 index 00000000000..001ff93b150 --- /dev/null +++ b/modules/purchase_blanket_agreement/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_blanket_agreement/doc/conf.py diff --git a/modules/purchase_history/.readthedocs.yaml b/modules/purchase_history/.readthedocs.yaml new file mode 100644 index 00000000000..a6c5a49952c --- /dev/null +++ b/modules/purchase_history/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_history/doc/conf.py diff --git a/modules/purchase_invoice_line_standalone/.readthedocs.yaml b/modules/purchase_invoice_line_standalone/.readthedocs.yaml new file mode 100644 index 00000000000..eae2791dd84 --- /dev/null +++ b/modules/purchase_invoice_line_standalone/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_invoice_line_standalone/doc/conf.py diff --git a/modules/purchase_price_list/.readthedocs.yaml b/modules/purchase_price_list/.readthedocs.yaml new file mode 100644 index 00000000000..3ee50dcdb28 --- /dev/null +++ b/modules/purchase_price_list/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_price_list/doc/conf.py diff --git a/modules/purchase_product_quantity/.readthedocs.yaml b/modules/purchase_product_quantity/.readthedocs.yaml new file mode 100644 index 00000000000..51aceb07c33 --- /dev/null +++ b/modules/purchase_product_quantity/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_product_quantity/doc/conf.py diff --git a/modules/purchase_request/.readthedocs.yaml b/modules/purchase_request/.readthedocs.yaml new file mode 100644 index 00000000000..a6ef92ce785 --- /dev/null +++ b/modules/purchase_request/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_request/doc/conf.py diff --git a/modules/purchase_request_quotation/.readthedocs.yaml b/modules/purchase_request_quotation/.readthedocs.yaml new file mode 100644 index 00000000000..3deb4d18bde --- /dev/null +++ b/modules/purchase_request_quotation/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_request_quotation/doc/conf.py diff --git a/modules/purchase_requisition/.readthedocs.yaml b/modules/purchase_requisition/.readthedocs.yaml new file mode 100644 index 00000000000..1263763cfea --- /dev/null +++ b/modules/purchase_requisition/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_requisition/doc/conf.py diff --git a/modules/purchase_secondary_unit/.readthedocs.yaml b/modules/purchase_secondary_unit/.readthedocs.yaml new file mode 100644 index 00000000000..25c21233806 --- /dev/null +++ b/modules/purchase_secondary_unit/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_secondary_unit/doc/conf.py diff --git a/modules/purchase_shipment_cost/.readthedocs.yaml b/modules/purchase_shipment_cost/.readthedocs.yaml new file mode 100644 index 00000000000..4005658b612 --- /dev/null +++ b/modules/purchase_shipment_cost/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/purchase_shipment_cost/doc/conf.py diff --git a/modules/quality/.readthedocs.yaml b/modules/quality/.readthedocs.yaml new file mode 100644 index 00000000000..35660aa23ae --- /dev/null +++ b/modules/quality/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/quality/doc/conf.py diff --git a/modules/sale/.readthedocs.yaml b/modules/sale/.readthedocs.yaml new file mode 100644 index 00000000000..c06121462e5 --- /dev/null +++ b/modules/sale/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale/doc/conf.py diff --git a/modules/sale_advance_payment/.readthedocs.yaml b/modules/sale_advance_payment/.readthedocs.yaml new file mode 100644 index 00000000000..d5313dc44f7 --- /dev/null +++ b/modules/sale_advance_payment/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_advance_payment/doc/conf.py diff --git a/modules/sale_amendment/.readthedocs.yaml b/modules/sale_amendment/.readthedocs.yaml new file mode 100644 index 00000000000..69637d1f203 --- /dev/null +++ b/modules/sale_amendment/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_amendment/doc/conf.py diff --git a/modules/sale_blanket_agreement/.readthedocs.yaml b/modules/sale_blanket_agreement/.readthedocs.yaml new file mode 100644 index 00000000000..4a1f473cda1 --- /dev/null +++ b/modules/sale_blanket_agreement/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_blanket_agreement/doc/conf.py diff --git a/modules/sale_complaint/.readthedocs.yaml b/modules/sale_complaint/.readthedocs.yaml new file mode 100644 index 00000000000..8fb61b8f24b --- /dev/null +++ b/modules/sale_complaint/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_complaint/doc/conf.py diff --git a/modules/sale_credit_limit/.readthedocs.yaml b/modules/sale_credit_limit/.readthedocs.yaml new file mode 100644 index 00000000000..6067672ea5e --- /dev/null +++ b/modules/sale_credit_limit/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_credit_limit/doc/conf.py diff --git a/modules/sale_discount/.readthedocs.yaml b/modules/sale_discount/.readthedocs.yaml new file mode 100644 index 00000000000..f18b7030030 --- /dev/null +++ b/modules/sale_discount/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_discount/doc/conf.py diff --git a/modules/sale_extra/.readthedocs.yaml b/modules/sale_extra/.readthedocs.yaml new file mode 100644 index 00000000000..c9ddf5aa743 --- /dev/null +++ b/modules/sale_extra/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_extra/doc/conf.py diff --git a/modules/sale_gift_card/.readthedocs.yaml b/modules/sale_gift_card/.readthedocs.yaml new file mode 100644 index 00000000000..15737542867 --- /dev/null +++ b/modules/sale_gift_card/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_gift_card/doc/conf.py diff --git a/modules/sale_history/.readthedocs.yaml b/modules/sale_history/.readthedocs.yaml new file mode 100644 index 00000000000..da7dc9ce029 --- /dev/null +++ b/modules/sale_history/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_history/doc/conf.py diff --git a/modules/sale_invoice_date/.readthedocs.yaml b/modules/sale_invoice_date/.readthedocs.yaml new file mode 100644 index 00000000000..eb4b8282d37 --- /dev/null +++ b/modules/sale_invoice_date/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_invoice_date/doc/conf.py diff --git a/modules/sale_invoice_grouping/.readthedocs.yaml b/modules/sale_invoice_grouping/.readthedocs.yaml new file mode 100644 index 00000000000..791e4197b8b --- /dev/null +++ b/modules/sale_invoice_grouping/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_invoice_grouping/doc/conf.py diff --git a/modules/sale_opportunity/.readthedocs.yaml b/modules/sale_opportunity/.readthedocs.yaml new file mode 100644 index 00000000000..3ebd900e142 --- /dev/null +++ b/modules/sale_opportunity/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_opportunity/doc/conf.py diff --git a/modules/sale_payment/.readthedocs.yaml b/modules/sale_payment/.readthedocs.yaml new file mode 100644 index 00000000000..f509e1c491d --- /dev/null +++ b/modules/sale_payment/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_payment/doc/conf.py diff --git a/modules/sale_point/.readthedocs.yaml b/modules/sale_point/.readthedocs.yaml new file mode 100644 index 00000000000..d2b987d2ceb --- /dev/null +++ b/modules/sale_point/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_point/doc/conf.py diff --git a/modules/sale_price_list/.readthedocs.yaml b/modules/sale_price_list/.readthedocs.yaml new file mode 100644 index 00000000000..45b21091c13 --- /dev/null +++ b/modules/sale_price_list/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_price_list/doc/conf.py diff --git a/modules/sale_product_customer/.readthedocs.yaml b/modules/sale_product_customer/.readthedocs.yaml new file mode 100644 index 00000000000..28903b720ea --- /dev/null +++ b/modules/sale_product_customer/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_product_customer/doc/conf.py diff --git a/modules/sale_product_quantity/.readthedocs.yaml b/modules/sale_product_quantity/.readthedocs.yaml new file mode 100644 index 00000000000..a95f5b6db81 --- /dev/null +++ b/modules/sale_product_quantity/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_product_quantity/doc/conf.py diff --git a/modules/sale_product_recommendation/.readthedocs.yaml b/modules/sale_product_recommendation/.readthedocs.yaml new file mode 100644 index 00000000000..33d3fa29735 --- /dev/null +++ b/modules/sale_product_recommendation/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_product_recommendation/doc/conf.py diff --git a/modules/sale_product_recommendation_association_rule/.readthedocs.yaml b/modules/sale_product_recommendation_association_rule/.readthedocs.yaml new file mode 100644 index 00000000000..17da34b46f7 --- /dev/null +++ b/modules/sale_product_recommendation_association_rule/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_product_recommendation_association_rule/doc/conf.py diff --git a/modules/sale_promotion/.readthedocs.yaml b/modules/sale_promotion/.readthedocs.yaml new file mode 100644 index 00000000000..914848630cb --- /dev/null +++ b/modules/sale_promotion/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_promotion/doc/conf.py diff --git a/modules/sale_promotion_coupon/.readthedocs.yaml b/modules/sale_promotion_coupon/.readthedocs.yaml new file mode 100644 index 00000000000..30682a53ed1 --- /dev/null +++ b/modules/sale_promotion_coupon/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_promotion_coupon/doc/conf.py diff --git a/modules/sale_promotion_coupon_payment/.readthedocs.yaml b/modules/sale_promotion_coupon_payment/.readthedocs.yaml new file mode 100644 index 00000000000..91c9d414a89 --- /dev/null +++ b/modules/sale_promotion_coupon_payment/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_promotion_coupon_payment/doc/conf.py diff --git a/modules/sale_secondary_unit/.readthedocs.yaml b/modules/sale_secondary_unit/.readthedocs.yaml new file mode 100644 index 00000000000..3f6a1982d16 --- /dev/null +++ b/modules/sale_secondary_unit/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_secondary_unit/doc/conf.py diff --git a/modules/sale_shipment_cost/.readthedocs.yaml b/modules/sale_shipment_cost/.readthedocs.yaml new file mode 100644 index 00000000000..c0a400fb97b --- /dev/null +++ b/modules/sale_shipment_cost/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_shipment_cost/doc/conf.py diff --git a/modules/sale_shipment_grouping/.readthedocs.yaml b/modules/sale_shipment_grouping/.readthedocs.yaml new file mode 100644 index 00000000000..6fc526a6ca3 --- /dev/null +++ b/modules/sale_shipment_grouping/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_shipment_grouping/doc/conf.py diff --git a/modules/sale_shipment_tolerance/.readthedocs.yaml b/modules/sale_shipment_tolerance/.readthedocs.yaml new file mode 100644 index 00000000000..a622fe3ce51 --- /dev/null +++ b/modules/sale_shipment_tolerance/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_shipment_tolerance/doc/conf.py diff --git a/modules/sale_stock_quantity/.readthedocs.yaml b/modules/sale_stock_quantity/.readthedocs.yaml new file mode 100644 index 00000000000..71f79b0fe54 --- /dev/null +++ b/modules/sale_stock_quantity/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_stock_quantity/doc/conf.py diff --git a/modules/sale_subscription/.readthedocs.yaml b/modules/sale_subscription/.readthedocs.yaml new file mode 100644 index 00000000000..34a37822b97 --- /dev/null +++ b/modules/sale_subscription/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_subscription/doc/conf.py diff --git a/modules/sale_subscription_asset/.readthedocs.yaml b/modules/sale_subscription_asset/.readthedocs.yaml new file mode 100644 index 00000000000..882ea22174f --- /dev/null +++ b/modules/sale_subscription_asset/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_subscription_asset/doc/conf.py diff --git a/modules/sale_supply/.readthedocs.yaml b/modules/sale_supply/.readthedocs.yaml new file mode 100644 index 00000000000..b5c34ce34d6 --- /dev/null +++ b/modules/sale_supply/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_supply/doc/conf.py diff --git a/modules/sale_supply_drop_shipment/.readthedocs.yaml b/modules/sale_supply_drop_shipment/.readthedocs.yaml new file mode 100644 index 00000000000..2f638cd1c13 --- /dev/null +++ b/modules/sale_supply_drop_shipment/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_supply_drop_shipment/doc/conf.py diff --git a/modules/sale_supply_production/.readthedocs.yaml b/modules/sale_supply_production/.readthedocs.yaml new file mode 100644 index 00000000000..5251c0998cb --- /dev/null +++ b/modules/sale_supply_production/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/sale_supply_production/doc/conf.py diff --git a/modules/stock/.readthedocs.yaml b/modules/stock/.readthedocs.yaml new file mode 100644 index 00000000000..85c765816c2 --- /dev/null +++ b/modules/stock/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock/doc/conf.py diff --git a/modules/stock_assign_manual/.readthedocs.yaml b/modules/stock_assign_manual/.readthedocs.yaml new file mode 100644 index 00000000000..ac2d491dfed --- /dev/null +++ b/modules/stock_assign_manual/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_assign_manual/doc/conf.py diff --git a/modules/stock_consignment/.readthedocs.yaml b/modules/stock_consignment/.readthedocs.yaml new file mode 100644 index 00000000000..7c5435b9da7 --- /dev/null +++ b/modules/stock_consignment/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_consignment/doc/conf.py diff --git a/modules/stock_forecast/.readthedocs.yaml b/modules/stock_forecast/.readthedocs.yaml new file mode 100644 index 00000000000..4bda2f23af0 --- /dev/null +++ b/modules/stock_forecast/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_forecast/doc/conf.py diff --git a/modules/stock_inventory_location/.readthedocs.yaml b/modules/stock_inventory_location/.readthedocs.yaml new file mode 100644 index 00000000000..ca3f545757f --- /dev/null +++ b/modules/stock_inventory_location/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_inventory_location/doc/conf.py diff --git a/modules/stock_location_move/.readthedocs.yaml b/modules/stock_location_move/.readthedocs.yaml new file mode 100644 index 00000000000..41af3ef67a5 --- /dev/null +++ b/modules/stock_location_move/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_location_move/doc/conf.py diff --git a/modules/stock_location_sequence/.readthedocs.yaml b/modules/stock_location_sequence/.readthedocs.yaml new file mode 100644 index 00000000000..b5bcbab9128 --- /dev/null +++ b/modules/stock_location_sequence/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_location_sequence/doc/conf.py diff --git a/modules/stock_lot/.readthedocs.yaml b/modules/stock_lot/.readthedocs.yaml new file mode 100644 index 00000000000..60007034d97 --- /dev/null +++ b/modules/stock_lot/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_lot/doc/conf.py diff --git a/modules/stock_lot_sled/.readthedocs.yaml b/modules/stock_lot_sled/.readthedocs.yaml new file mode 100644 index 00000000000..923d6a96ee2 --- /dev/null +++ b/modules/stock_lot_sled/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_lot_sled/doc/conf.py diff --git a/modules/stock_lot_unit/.readthedocs.yaml b/modules/stock_lot_unit/.readthedocs.yaml new file mode 100644 index 00000000000..4c45353cb9f --- /dev/null +++ b/modules/stock_lot_unit/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_lot_unit/doc/conf.py diff --git a/modules/stock_package/.readthedocs.yaml b/modules/stock_package/.readthedocs.yaml new file mode 100644 index 00000000000..48907b9e246 --- /dev/null +++ b/modules/stock_package/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_package/doc/conf.py diff --git a/modules/stock_package_shipping/.readthedocs.yaml b/modules/stock_package_shipping/.readthedocs.yaml new file mode 100644 index 00000000000..5563070903c --- /dev/null +++ b/modules/stock_package_shipping/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_package_shipping/doc/conf.py diff --git a/modules/stock_package_shipping_dpd/.readthedocs.yaml b/modules/stock_package_shipping_dpd/.readthedocs.yaml new file mode 100644 index 00000000000..3924b962e03 --- /dev/null +++ b/modules/stock_package_shipping_dpd/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_package_shipping_dpd/doc/conf.py diff --git a/modules/stock_package_shipping_mygls/.readthedocs.yaml b/modules/stock_package_shipping_mygls/.readthedocs.yaml new file mode 100644 index 00000000000..e69de086fdd --- /dev/null +++ b/modules/stock_package_shipping_mygls/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_package_shipping_mygls/doc/conf.py diff --git a/modules/stock_package_shipping_sendcloud/.readthedocs.yaml b/modules/stock_package_shipping_sendcloud/.readthedocs.yaml new file mode 100644 index 00000000000..c724aea0bb5 --- /dev/null +++ b/modules/stock_package_shipping_sendcloud/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_package_shipping_sendcloud/doc/conf.py diff --git a/modules/stock_package_shipping_ups/.readthedocs.yaml b/modules/stock_package_shipping_ups/.readthedocs.yaml new file mode 100644 index 00000000000..38d79e516ce --- /dev/null +++ b/modules/stock_package_shipping_ups/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_package_shipping_ups/doc/conf.py diff --git a/modules/stock_product_location/.readthedocs.yaml b/modules/stock_product_location/.readthedocs.yaml new file mode 100644 index 00000000000..4fa5c077f89 --- /dev/null +++ b/modules/stock_product_location/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_product_location/doc/conf.py diff --git a/modules/stock_quantity_early_planning/.readthedocs.yaml b/modules/stock_quantity_early_planning/.readthedocs.yaml new file mode 100644 index 00000000000..61b38db0485 --- /dev/null +++ b/modules/stock_quantity_early_planning/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_quantity_early_planning/doc/conf.py diff --git a/modules/stock_quantity_issue/.readthedocs.yaml b/modules/stock_quantity_issue/.readthedocs.yaml new file mode 100644 index 00000000000..664c5e0900b --- /dev/null +++ b/modules/stock_quantity_issue/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_quantity_issue/doc/conf.py diff --git a/modules/stock_secondary_unit/.readthedocs.yaml b/modules/stock_secondary_unit/.readthedocs.yaml new file mode 100644 index 00000000000..60ad29efc4f --- /dev/null +++ b/modules/stock_secondary_unit/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_secondary_unit/doc/conf.py diff --git a/modules/stock_shipment_cost/.readthedocs.yaml b/modules/stock_shipment_cost/.readthedocs.yaml new file mode 100644 index 00000000000..213c7d60d03 --- /dev/null +++ b/modules/stock_shipment_cost/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_shipment_cost/doc/conf.py diff --git a/modules/stock_shipment_cost_weight/.readthedocs.yaml b/modules/stock_shipment_cost_weight/.readthedocs.yaml new file mode 100644 index 00000000000..e3de7302eae --- /dev/null +++ b/modules/stock_shipment_cost_weight/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_shipment_cost_weight/doc/conf.py diff --git a/modules/stock_shipment_measurements/.readthedocs.yaml b/modules/stock_shipment_measurements/.readthedocs.yaml new file mode 100644 index 00000000000..1924446c56d --- /dev/null +++ b/modules/stock_shipment_measurements/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_shipment_measurements/doc/conf.py diff --git a/modules/stock_split/.readthedocs.yaml b/modules/stock_split/.readthedocs.yaml new file mode 100644 index 00000000000..459bf6ea4be --- /dev/null +++ b/modules/stock_split/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_split/doc/conf.py diff --git a/modules/stock_supply/.readthedocs.yaml b/modules/stock_supply/.readthedocs.yaml new file mode 100644 index 00000000000..6324e333f25 --- /dev/null +++ b/modules/stock_supply/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_supply/doc/conf.py diff --git a/modules/stock_supply_day/.readthedocs.yaml b/modules/stock_supply_day/.readthedocs.yaml new file mode 100644 index 00000000000..226c243228b --- /dev/null +++ b/modules/stock_supply_day/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_supply_day/doc/conf.py diff --git a/modules/stock_supply_forecast/.readthedocs.yaml b/modules/stock_supply_forecast/.readthedocs.yaml new file mode 100644 index 00000000000..77a46900624 --- /dev/null +++ b/modules/stock_supply_forecast/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_supply_forecast/doc/conf.py diff --git a/modules/stock_supply_production/.readthedocs.yaml b/modules/stock_supply_production/.readthedocs.yaml new file mode 100644 index 00000000000..2bd26d555f4 --- /dev/null +++ b/modules/stock_supply_production/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/stock_supply_production/doc/conf.py diff --git a/modules/timesheet/.readthedocs.yaml b/modules/timesheet/.readthedocs.yaml new file mode 100644 index 00000000000..4a73e456a79 --- /dev/null +++ b/modules/timesheet/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/timesheet/doc/conf.py diff --git a/modules/timesheet_cost/.readthedocs.yaml b/modules/timesheet_cost/.readthedocs.yaml new file mode 100644 index 00000000000..7a80ed1dbb8 --- /dev/null +++ b/modules/timesheet_cost/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/timesheet_cost/doc/conf.py diff --git a/modules/user_role/.readthedocs.yaml b/modules/user_role/.readthedocs.yaml new file mode 100644 index 00000000000..4c9cfbc6bd3 --- /dev/null +++ b/modules/user_role/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/user_role/doc/conf.py diff --git a/modules/web_shop/.readthedocs.yaml b/modules/web_shop/.readthedocs.yaml new file mode 100644 index 00000000000..110271dada1 --- /dev/null +++ b/modules/web_shop/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/web_shop/doc/conf.py diff --git a/modules/web_shop_shopify/.readthedocs.yaml b/modules/web_shop_shopify/.readthedocs.yaml new file mode 100644 index 00000000000..84c3da7d2d7 --- /dev/null +++ b/modules/web_shop_shopify/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/web_shop_shopify/doc/conf.py diff --git a/modules/web_shop_vue_storefront/.readthedocs.yaml b/modules/web_shop_vue_storefront/.readthedocs.yaml new file mode 100644 index 00000000000..ff669fb3aae --- /dev/null +++ b/modules/web_shop_vue_storefront/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/web_shop_vue_storefront/doc/conf.py diff --git a/modules/web_shop_vue_storefront_stripe/.readthedocs.yaml b/modules/web_shop_vue_storefront_stripe/.readthedocs.yaml new file mode 100644 index 00000000000..c7d765c218e --- /dev/null +++ b/modules/web_shop_vue_storefront_stripe/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/web_shop_vue_storefront_stripe/doc/conf.py diff --git a/modules/web_shortener/.readthedocs.yaml b/modules/web_shortener/.readthedocs.yaml new file mode 100644 index 00000000000..185b9cc656c --- /dev/null +++ b/modules/web_shortener/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/web_shortener/doc/conf.py diff --git a/modules/web_user/.readthedocs.yaml b/modules/web_user/.readthedocs.yaml new file mode 100644 index 00000000000..4c7770e8462 --- /dev/null +++ b/modules/web_user/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: modules/web_user/doc/conf.py diff --git a/proteus/.readthedocs.yaml b/proteus/.readthedocs.yaml new file mode 100644 index 00000000000..f50908c39a3 --- /dev/null +++ b/proteus/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: proteus/doc/conf.py diff --git a/readthedocs/.readthedocs.yaml b/readthedocs/.readthedocs.yaml new file mode 100644 index 00000000000..2d55475253a --- /dev/null +++ b/readthedocs/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: readthedocs/conf.py diff --git a/tryton/.readthedocs.yaml b/tryton/.readthedocs.yaml new file mode 100644 index 00000000000..569cc9086f1 --- /dev/null +++ b/tryton/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: tryton/doc/conf.py diff --git a/trytond-gis/.readthedocs.yaml b/trytond-gis/.readthedocs.yaml new file mode 100644 index 00000000000..5784d55890f --- /dev/null +++ b/trytond-gis/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: trytond-gis/doc/conf.py diff --git a/trytond/.readthedocs.yaml b/trytond/.readthedocs.yaml new file mode 100644 index 00000000000..b9b5ce1a9c1 --- /dev/null +++ b/trytond/.readthedocs.yaml @@ -0,0 +1,7 @@ +version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3" +sphinx: + configuration: trytond/doc/conf.py From b8960def531d6e05cb2674295063a3b0d68b0178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Tue, 13 Jun 2023 13:39:22 +0200 Subject: [PATCH 163/932] Rename function with_inactive_records in documentation The commit e6c72b1f23e7 added the function but the documentation used another name (grafted from 3d60ede5821bf9f05324e1b12651f1a37309e97d) --HG-- branch : 6.8 --- trytond/doc/ref/transaction.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/doc/ref/transaction.rst b/trytond/doc/ref/transaction.rst index 991bc10ca2a..b2944893e7e 100644 --- a/trytond/doc/ref/transaction.rst +++ b/trytond/doc/ref/transaction.rst @@ -165,7 +165,7 @@ Transaction active test enabled. Otherwise it returns a `context manager`_ that enable active test. -.. function:: with_inactive_records(func) +.. function:: inactive_records(func) When called with a function, it decorates the function to be executed with active test disabled. From 61603ccddf011e0df6b799ceb857b59cb2a4dccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 17 Jul 2023 23:05:11 +0200 Subject: [PATCH 164/932] Set next party after next account only on initial filling of accounts When the next account method is called from the while loop, the next party is always called by the upper loop. If next party is called also in next account then the first party is skipped. Closes #12327 (grafted from d7c9a4c976b6bbcf7e2a9740e5cb951b0d207d6a) --HG-- branch : 6.8 --- modules/account/move.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/account/move.py b/modules/account/move.py index 8e2b40f1785..c19ddd565fd 100644 --- a/modules/account/move.py +++ b/modules/account/move.py @@ -2160,7 +2160,6 @@ def next_account(): self.show.account = account self.show.accounts = accounts self.show.parties = self.get_parties(account) - next_party() return account def next_party(): @@ -2185,7 +2184,7 @@ def next_currency(): if getattr(self.show, 'accounts', None) is None: self.show.accounts = self.get_accounts() - if not next_account(): + if not (next_account() and next_party()): return 'end' if getattr(self.show, 'parties', None) is None: self.show.parties = self.get_parties(self.show.account) From 4e7cfa3af3a8fcd85dc767d3f3bc6338ae366319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 2 Aug 2023 19:09:51 +0200 Subject: [PATCH 165/932] Skip promotion based on categories if line has no product Closes #12351 (grafted from ca27ba40eda89e3933e595810eab24fe25504ef7) --HG-- branch : 6.8 --- modules/sale_promotion/sale.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/modules/sale_promotion/sale.py b/modules/sale_promotion/sale.py index 8b6c12e8f69..0290f665eeb 100644 --- a/modules/sale_promotion/sale.py +++ b/modules/sale_promotion/sale.py @@ -266,12 +266,13 @@ def parents(categories): return False elif self.products and line.product not in self.products: return False - elif (self.categories - and not set(parents(line.product.categories_all)).intersection( - self.categories)): - return False - else: - return True + elif self.categories: + if not line.product: + return False + categories = set(parents(line.product.categories_all)) + if not categories.intersection(self.categories): + return False + return True def apply(self, sale): applied = False From 6db20607e0faefa30865f5d8056d192fb23defb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Tarroja=20Caubet?= Date: Wed, 5 Jul 2023 16:32:56 +0200 Subject: [PATCH 166/932] Reuse cumulate per party from context as default value for general ledger line Closes #12367 (grafted from 5a95256398af9136cab85c1ca4c4d84ae23b70ec) --HG-- branch : 6.8 --- modules/account/account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account/account.py b/modules/account/account.py index 3819ea637a4..17b9891a719 100644 --- a/modules/account/account.py +++ b/modules/account/account.py @@ -2510,7 +2510,7 @@ class GeneralLedgerLineContext(GeneralLedgerAccountContext): @classmethod def default_party_cumulate(cls): - return False + return Transaction().context.get('party_cumulate', False) @classmethod def get_context(cls, fields_names=None): From 59a1160c7fd44451ecae2acd602688d185851ce1 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Wed, 9 Aug 2023 23:20:03 +0200 Subject: [PATCH 167/932] Use proper module for message when checking shipment cost for sale quotation Closes #12458 (grafted from 102400a248a1ab65011b87721112adc018954f2e) --HG-- branch : 6.8 --- modules/sale_shipment_cost/sale.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_shipment_cost/sale.py b/modules/sale_shipment_cost/sale.py index 60989884268..38febc4805b 100644 --- a/modules/sale_shipment_cost/sale.py +++ b/modules/sale_shipment_cost/sale.py @@ -207,7 +207,7 @@ def check_for_quotation(self): and line.quantity >= 0 and not self.carrier): raise SaleQuotationError( - gettext('sale' + gettext('sale_shipment_cost' '.msg_sale_carrier_required_for_quotation', sale=self.rec_name)) From 68c5d502f0cf9beb9197ebb7880d3e00ad95ccb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 25 Jul 2023 11:02:09 +0200 Subject: [PATCH 168/932] Call the same search method in super call when extending for components Closes #12434 (grafted from 502f57a1d2929ff336c6acbd5a6c3d4628f4d689) --HG-- branch : 6.8 --- modules/product_kit/purchase.py | 2 +- modules/product_kit/sale.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/product_kit/purchase.py b/modules/product_kit/purchase.py index fdb3b428b17..ad83343e666 100644 --- a/modules/product_kit/purchase.py +++ b/modules/product_kit/purchase.py @@ -41,7 +41,7 @@ def search_shipments(cls, name, clause): @classmethod @search_shipments_returns('stock.shipment.in.return') def search_shipment_returns(cls, name, clause): - return super().search_shipments(name, clause) + return super().search_shipment_returns(name, clause) @get_moves def get_moves(self, name): diff --git a/modules/product_kit/sale.py b/modules/product_kit/sale.py index 046e39c72c5..7b5598cb470 100644 --- a/modules/product_kit/sale.py +++ b/modules/product_kit/sale.py @@ -41,7 +41,7 @@ def search_shipments(cls, name, clause): @classmethod @search_shipments_returns('stock.shipment.out.return') def search_shipment_returns(cls, name, clause): - return super().search_shipments(name, clause) + return super().search_shipment_returns(name, clause) @get_moves def get_moves(self, name): From 21b6850ca13352345ee24300ff3f70c6f6d563c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 24 Jul 2023 23:51:00 +0200 Subject: [PATCH 169/932] Generate invoices and consumptions only for contextual company Closes #12345 (grafted from 9ca33a199252180c7875438b2f5c241d8e5b6829) --HG-- branch : 6.8 --- modules/sale_subscription/subscription.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/sale_subscription/subscription.py b/modules/sale_subscription/subscription.py index 68556581f4b..b5f259d2696 100644 --- a/modules/sale_subscription/subscription.py +++ b/modules/sale_subscription/subscription.py @@ -424,13 +424,13 @@ def generate_invoice(cls, date=None): if date is None: date = Date.today() + company_id = Transaction().context.get('company', -1) consumptions = Consumption.search([ ('invoice_line', '=', None), ('line.subscription.next_invoice_date', '<=', date), ('line.subscription.state', 'in', ['running', 'closed']), - ('line.subscription.company', '=', - Transaction().context.get('company')), + ('line.subscription.company', '=', company_id), ], order=[ ('line.subscription.id', 'DESC'), @@ -467,6 +467,7 @@ def keyfunc(consumption): subscriptions = cls.search([ ('next_invoice_date', '<=', date), + ('company', '=', company_id), ]) for subscription in subscriptions: if subscription.state == 'running': @@ -796,13 +797,13 @@ def generate_consumption(cls, date=None): if date is None: date = Date.today() + company_id = Transaction().context.get('company', -1) remainings = all_lines = cls.search([ ('consumption_recurrence', '!=', None), ('next_consumption_date_delayed', '<=', date), ('subscription.state', '=', 'running'), - ('subscription.company', '=', - Transaction().context.get('company')), + ('subscription.company', '=', company_id), ]) consumptions = [] From e1c043e0b197fab7e7dff480cf00aed72612e165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 28 Jul 2023 01:03:10 +0200 Subject: [PATCH 170/932] Drop notification email log table after migration And use the configured table name if set. Closes #12438 (grafted from 299ba0473de71a631d5f57d3d9c65096d395e89d) --HG-- branch : 6.8 --- modules/notification_email/ir.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/notification_email/ir.py b/modules/notification_email/ir.py index ddbb5b1dc13..c294abd6f55 100644 --- a/modules/notification_email/ir.py +++ b/modules/notification_email/ir.py @@ -4,6 +4,7 @@ from sql import Table from trytond import backend +from trytond.config import config from trytond.model import fields from trytond.pool import Pool, PoolMeta from trytond.pyson import Eval @@ -67,14 +68,17 @@ class Email(metaclass=PoolMeta): @classmethod def __register__(cls, module): table = cls.__table__() - log = Table('notification_email_log') + log_name = 'notification.email.log' + log_table_name = config.get( + 'table', log_name, default=log_name.replace('.', '_')) + log = Table(log_table_name) cursor = Transaction().connection.cursor() super().__register__(module) # Migration from 6.6: merge notification email log with email - if backend.TableHandler.table_exist('notification_email_log'): + if backend.TableHandler.table_exist(log_table_name): query = table.insert( [table.create_uid, table.create_date, table.write_uid, table.write_date, @@ -90,6 +94,7 @@ def __register__(cls, module): log.resource, log.notification, log.trigger)) cursor.execute(*query) + backend.TableHandler.drop_table(log_name, log_table_name) def get_user(self, name): user = super().get_user(name) From f154039a17d553ac138118cb101f3b9eeee8c770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 29 Jul 2023 16:21:33 +0200 Subject: [PATCH 171/932] Round and convert numeric value after applying factor Closes #12381 (grafted from 3d8e4b66e96145b82c1e97942ea807e16be912cd) --HG-- branch : 6.8 --- .../gui/window/view_form/model/field.py | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/tryton/tryton/gui/window/view_form/model/field.py b/tryton/tryton/gui/window/view_form/model/field.py index 61902441188..ab591cc571d 100644 --- a/tryton/tryton/gui/window/view_form/model/field.py +++ b/tryton/tryton/gui/window/view_form/model/field.py @@ -429,21 +429,28 @@ def get_symbol(self, record, symbol): return '', 1 def convert(self, value): + if value is None: + return None + if isinstance(value, str): + value = locale.delocalize( + value, self.attrs.get('monetary', False)) try: - return float(locale.delocalize( - value, self.attrs.get('monetary', False))) + return self._convert(value) except ValueError: return self._default + _convert = float - def set_client(self, record, value, force_change=False, factor=1): - if isinstance(value, str): - value = self.convert(value) + def apply_factor(self, record, value, factor): if value is not None: - # Keep the same type - if isinstance(value, int): - value //= factor - else: - value /= factor + value /= factor + digits = self.digits(record) + if digits: + value = round(value, digits[0]) + value = self.convert(value) + return value + + def set_client(self, record, value, force_change=False, factor=1): + value = self.apply_factor(record, self.convert(value), factor) super(FloatField, self).set_client(record, value, force_change=force_change) @@ -471,10 +478,10 @@ class NumericField(FloatField): def convert(self, value): try: - return Decimal(locale.delocalize( - value, self.attrs.get('monetary', False))) + return super().convert(value) except decimal.InvalidOperation: return self._default + _convert = Decimal def set_client(self, record, value, force_change=False, factor=1): return super(NumericField, self).set_client(record, value, @@ -487,12 +494,7 @@ def get_client(self, record, factor=1, grouping=True): class IntegerField(FloatField): - def convert(self, value): - try: - return int(locale.delocalize( - value, self.attrs.get('monetary', False))) - except ValueError: - return self._default + _convert = int def set_client(self, record, value, force_change=False, factor=1): return super(IntegerField, self).set_client(record, value, From f858c2f64eee982d03f8b5b5101adb762751983e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Tue, 8 Aug 2023 15:33:33 +0200 Subject: [PATCH 172/932] Move sleep loop introduced in a32b84d96649 to prevent deadlock to tests In this changeset we fix an issue with testing. When using the listener for cache invalidation it results into the database lock used by the pool that is acquired twice. Once when calling Pool.init ; once when the transaction is started which calls Cache.sync which in turn calls Pool.refresh and finaly Pool.stop. It tries to acquire again the re-entrant lock (but it cannot because it's another thread). Closes #12457 (grafted from 3b618f310b354126e4dbb0f19ad139c5bf879b9e) --HG-- branch : 6.8 --- trytond/trytond/cache.py | 4 ---- trytond/trytond/tests/test_cache.py | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/trytond/trytond/cache.py b/trytond/trytond/cache.py index 45635ea738a..45821c776f9 100644 --- a/trytond/trytond/cache.py +++ b/trytond/trytond/cache.py @@ -6,7 +6,6 @@ import os import selectors import threading -import time from collections import OrderedDict, defaultdict from weakref import WeakKeyDictionary @@ -238,9 +237,6 @@ def sync(cls, transaction): cls._listener[pid, dbname] = listener = threading.Thread( target=cls._listen, args=(dbname,), daemon=True) listener.start() - while (not getattr(listener, 'listening', False) - and listener.is_alive()): - time.sleep(.01) return last_clean = (dt.datetime.now() - cls._clean_last).total_seconds() if last_clean < _clear_timeout: diff --git a/trytond/trytond/tests/test_cache.py b/trytond/trytond/tests/test_cache.py index 42dce5fd992..bba1c177a81 100644 --- a/trytond/trytond/tests/test_cache.py +++ b/trytond/trytond/tests/test_cache.py @@ -2,6 +2,7 @@ # this repository contains the full copyright notices and license terms. import datetime as dt +import os import time import unittest @@ -107,6 +108,9 @@ def setUp(self): def tearDown(self): MemoryCache.drop(DB_NAME) + def wait_cache_listening(self): + pass + def wait_cache_sync(self, after=None): pass @@ -128,6 +132,7 @@ def test_memory_cache_drop(self): def test_memory_cache_transactions(self): "Test MemoryCache with concurrent transactions" transaction1 = Transaction().start(DB_NAME, USER) + self.wait_cache_listening() self.addCleanup(transaction1.stop) cache.set('foo', 'bar') @@ -176,6 +181,7 @@ def test_memory_cache_sync(self): def test_memory_cache_old_transaction(self): "Test old transaction does not fill cache" transaction1 = Transaction().start(DB_NAME, USER) + self.wait_cache_listening() self.addCleanup(transaction1.stop) # Clear cache from new transaction @@ -222,6 +228,14 @@ def wait_cache_sync(self, after=None): while MemoryCache._clean_last < after: time.sleep(.01) + def wait_cache_listening(self): + pid = os.getpid() + dbname = Transaction().database.name + listener = MemoryCache._listener.get((pid, dbname)) + while (not getattr(listener, 'listening', False) + and listener.is_alive()): + time.sleep(.01) + @unittest.skip("No cache sync on transaction start with channel") def test_memory_cache_sync(self): super().test_memory_cache_sync() From 5a8c11a012e6f845d488e2601734e9b720e51f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 5 Aug 2023 00:27:11 +0200 Subject: [PATCH 173/932] Try to post only clearing move of journals from the contextual company Closes #12453 (grafted from b71b06a871a7fb67a202f1ae242a04185078c614) --HG-- branch : 6.8 --- modules/account_payment_clearing/payment.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/account_payment_clearing/payment.py b/modules/account_payment_clearing/payment.py index a62c9a159fd..ae9aeec61a2 100644 --- a/modules/account_payment_clearing/payment.py +++ b/modules/account_payment_clearing/payment.py @@ -49,6 +49,7 @@ def cron_post_clearing_moves(cls, date=None): date = Date.today() moves = [] journals = cls.search([ + ('company', '=', Transaction().context.get('company')), ('clearing_posting_delay', '!=', None), ]) for journal in journals: @@ -58,7 +59,7 @@ def cron_post_clearing_moves(cls, date=None): ('origin.journal.id', '=', journal.id, 'account.payment'), ('state', '=', 'draft'), - ('company', '=', Transaction().context.get('company')), + ('company', '=', journal.company.id), ])) Move.post(moves) From b459a7f35c1ead4db43f5e1e1ee94a3f7526eab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 12 Aug 2023 20:10:06 +0200 Subject: [PATCH 174/932] Use only stock move with cost price for product cost price history The cost price on stock move is only required by validation so we can not ensure over time that all the stock moves selected have a cost price. Closes #12468 (grafted from adea1ec5dd32ec8f1a353a6f3105b82707485914) --HG-- branch : 6.8 --- modules/product_cost_history/product.py | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/product_cost_history/product.py b/modules/product_cost_history/product.py index 1f6971b3179..01f3930f22d 100644 --- a/modules/product_cost_history/product.py +++ b/modules/product_cost_history/product.py @@ -89,6 +89,7 @@ def table_query(cls): user = User(transaction.user) tables, clause = Move.search_domain([ + ('cost_price', '!=', None), ('state', '=', 'done'), Product._domain_moves_cost(), ['OR', From 977394bf48ab30806cd661560c2e12b3efe1541c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 26 Aug 2023 17:19:00 +0200 Subject: [PATCH 175/932] Filter expressions for BTREE and GIN indexes IndexMixin is calling the method _get_indexed_expressions instead of _get_expressions. Closes #12478 (grafted from a6d415a0cdb9e155ac8d8f82f776516ce9a688d8) --HG-- branch : 6.8 --- trytond/trytond/backend/postgresql/table.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/trytond/trytond/backend/postgresql/table.py b/trytond/trytond/backend/postgresql/table.py index 75c4c8b2763..547bd0a3e92 100644 --- a/trytond/trytond/backend/postgresql/table.py +++ b/trytond/trytond/backend/postgresql/table.py @@ -627,7 +627,7 @@ def score(cls, index): return score @classmethod - def _get_expressions(cls, index): + def _get_indexed_expressions(cls, index): return [ (e, u) for e, u in index.expressions if u.__class__.__name__ in {'Equality', 'Range'}] @@ -660,7 +660,7 @@ def score(cls, index): return score @classmethod - def _get_expressions(cls, index): + def _get_indexed_expressions(cls, index): return [ (e, u) for e, u in index.expressions if u.__class__.__name__ == 'Similarity'] From fd66511e6722abf658eaed09a0fe46b260b4c2f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 16 Aug 2023 21:53:32 +0200 Subject: [PATCH 176/932] Include Similarity in the indexed expression of BTREE The Similarity expression increase the score and are supported in BTREE. Closes #12479 (grafted from adc294d720b8095bf019b20d934afa2f707a3cbf) --HG-- branch : 6.8 --- trytond/trytond/backend/postgresql/table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/trytond/backend/postgresql/table.py b/trytond/trytond/backend/postgresql/table.py index 547bd0a3e92..e874ee61c00 100644 --- a/trytond/trytond/backend/postgresql/table.py +++ b/trytond/trytond/backend/postgresql/table.py @@ -630,7 +630,7 @@ def score(cls, index): def _get_indexed_expressions(cls, index): return [ (e, u) for e, u in index.expressions - if u.__class__.__name__ in {'Equality', 'Range'}] + if u.__class__.__name__ in {'Equality', 'Range', 'Similarity'}] @classmethod def _get_expression_variables(cls, expression, usage): From 22676a46d6c69e20368442d9377d78047148f94b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 10 Aug 2023 13:55:00 +0200 Subject: [PATCH 177/932] Convert element joined domains into domain when searching for OR-ed domain The content of joined domains can be a single clause, so it must be converted into a domain before calling search_domain. Closes #12460 (grafted from e80c22f1106e5928a429ed7d18215c3e1f2866c8) --HG-- branch : 6.8 --- trytond/trytond/model/modelsql.py | 1 + trytond/trytond/tests/test_modelsql.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/trytond/trytond/model/modelsql.py b/trytond/trytond/model/modelsql.py index 1d0cd83202a..7090465efc4 100644 --- a/trytond/trytond/model/modelsql.py +++ b/trytond/trytond/model/modelsql.py @@ -1627,6 +1627,7 @@ def get_local_columns(order_exprs): if joined_domains is not None: union_tables = [] for sub_domain in joined_domains: + sub_domain = [sub_domain] # it may be a clause tables, expression = cls.search_domain(sub_domain) if rule_domain: tables, domain_exp = cls.search_domain( diff --git a/trytond/trytond/tests/test_modelsql.py b/trytond/trytond/tests/test_modelsql.py index 0bfc680c52b..825f5aa3c52 100644 --- a/trytond/trytond/tests/test_modelsql.py +++ b/trytond/trytond/tests/test_modelsql.py @@ -823,6 +823,26 @@ def test_search_or_to_union(self): self.assertIn('UNION', str(Model.search(domain, query=True))) self.assertNotIn('UNION', str(query_without_split)) + @with_transaction() + def test_search_or_to_union_with_in_clause(self): + "Test searching for 'OR'-ed domain with in clause" + pool = Pool() + Model = pool.get('test.modelsql.search.or2union') + + record, = Model.create([{ + 'name': "Foo", + 'targets': [('create', [{ + 'name': "Bar", + }]), + ], + }]) + + domain = ['OR', + ('name', '=', 'Bar'), + ('targets.id', 'in', [t.id for t in record.targets]), + ] + self.assertEqual(Model.search(domain), [record]) + @with_transaction() def test_search_or_to_union_order_eager_field(self): """ From 221cb17bd4dd0d4ec91a1082a3cd09f560944f94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 4 Aug 2023 15:59:35 +0200 Subject: [PATCH 178/932] Discard disconnected connection from the pool When a connection in the pool is disconnected, it stays in the pool and it may still be served. Using such connection raise an OperationalError and so the request is retried but before that the connection is put back to the pool. So we may get it back again. It is not possible to distinct between an OperationalError due to a disconnection or due to a isolation error for example. So with the current design of Transaction API, an OperationalError always put back the connection to the pool. This main that we can only ensure that the connections served are still connected by executing a simple query. And close connections that are failing. Closes #12452 (grafted from f8aaf62a0c7508e3f3398e47dc2b86e6f8f06cc0) --HG-- branch : 6.8 --- .../trytond/backend/postgresql/database.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/trytond/trytond/backend/postgresql/database.py b/trytond/trytond/backend/postgresql/database.py index 7e523265129..3c891d48f3a 100644 --- a/trytond/trytond/backend/postgresql/database.py +++ b/trytond/trytond/backend/postgresql/database.py @@ -259,10 +259,10 @@ def connect(self): return self def get_connection(self, autocommit=False, readonly=False): - for count in range(config.getint('database', 'retry'), -1, -1): + retry = max(config.getint('database', 'retry'), _maxconn) + for count in range(retry, -1, -1): try: conn = self._connpool.getconn() - break except PoolError: if count and not self._connpool.closed: logger.info('waiting a connection') @@ -273,10 +273,17 @@ def get_connection(self, autocommit=False, readonly=False): logger.error( 'connection to "%s" failed', self.name, exc_info=True) raise - conn.set_session( - isolation_level=ISOLATION_LEVEL_REPEATABLE_READ, - readonly=readonly, - autocommit=autocommit) + try: + conn.set_session( + isolation_level=ISOLATION_LEVEL_REPEATABLE_READ, + readonly=readonly, + autocommit=autocommit) + # Detect disconnection + conn.cursor().execute('SELECT 1') + except DatabaseOperationalError: + self._connpool.putconn(conn, close=True) + continue + break return conn def put_connection(self, connection, close=False): From 2a920e5d2715aa1aeebacb59794aaa2a80ff987a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 18 Aug 2023 14:47:39 +0200 Subject: [PATCH 179/932] Store synchronized moves of customer shipment even when quantity is not updated ed41959390ff added a synchronization on assign to prevent infinite warning loop on pack if it creates new move without origin. But 38e2a76db719 refactoring lost this behavior. Closes #12503 (grafted from 903204d5d1728e818ec44bf5aa0a629c2efd1a65) --HG-- branch : 6.8 --- modules/stock/shipment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/stock/shipment.py b/modules/stock/shipment.py index 460e87fe162..a2408323735 100644 --- a/modules/stock/shipment.py +++ b/modules/stock/shipment.py @@ -1574,7 +1574,7 @@ def active(move): move.uom) if quantity and move.quantity != qty: move.quantity = qty - moves.append(move) + moves.append(move) Move.save(moves) @classmethod From 3cd1c76566f20afb4bb96a0f19305d36328bef7c Mon Sep 17 00:00:00 2001 From: Maxime Richez Date: Fri, 25 Aug 2023 16:34:06 +0200 Subject: [PATCH 180/932] Update origin of inventory moves for customer shipment When synchronize inventory to outgoing moves, the origin of the inventory is updated to point to the new corresponding outgoing move instead of the original one. Closes #12272 (grafted from 72fbac94b52006eaa854786b60aa1faf1a2c8d48) --HG-- branch : 6.8 --- modules/stock/shipment.py | 8 ++++- .../tests/scenario_stock_shipment_out.rst | 13 +++++++++ .../tests/scenario_stock_lot_shipment_out.rst | 29 +++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/modules/stock/shipment.py b/modules/stock/shipment.py index a2408323735..b08d0a3bc64 100644 --- a/modules/stock/shipment.py +++ b/modules/stock/shipment.py @@ -1536,7 +1536,7 @@ def _sync_inventory_to_outgoing(cls, shipments, quantity=True): def active(move): return move.state != 'cancelled' - moves = [] + moves, imoves = [], [] for shipment in shipments: if shipment.warehouse_storage == shipment.warehouse_output: # Do not have inventory moves @@ -1544,6 +1544,7 @@ def active(move): outgoing_moves = {m: m for m in shipment.outgoing_moves} inventory_qty = defaultdict(lambda: defaultdict(float)) + inventory_moves = defaultdict(lambda: defaultdict(list)) for move in filter(active, shipment.outgoing_moves): key = shipment._sync_move_key(move) inventory_qty[move][key] = 0 @@ -1554,6 +1555,7 @@ def active(move): move.uom, move.quantity, move.product.default_uom, round=False) inventory_qty[outgoing_move][key] += qty_default_uom + inventory_moves[outgoing_move][key].append(move) for outgoing_move in inventory_qty: if outgoing_move: @@ -1569,6 +1571,9 @@ def active(move): move = shipment._sync_outgoing_move(outgoing_move) for name, value in key: setattr(move, name, value) + for imove in inventory_moves[outgoing_move][key]: + imove.origin = move + imoves.append(imove) qty = Uom.compute_qty( move.product.default_uom, qty, move.uom) @@ -1576,6 +1581,7 @@ def active(move): move.quantity = qty moves.append(move) Move.save(moves) + Move.save(imoves) @classmethod @ModelView.button diff --git a/modules/stock/tests/scenario_stock_shipment_out.rst b/modules/stock/tests/scenario_stock_shipment_out.rst index 3380161cf36..62f3e080693 100644 --- a/modules/stock/tests/scenario_stock_shipment_out.rst +++ b/modules/stock/tests/scenario_stock_shipment_out.rst @@ -249,7 +249,20 @@ Finish the shipment:: >>> shipment_out.click('assign_try') >>> shipment_out.click('pick') + >>> len(shipment_out.inventory_moves) + 1 + >>> len(shipment_out.outgoing_moves) + 1 >>> shipment_out.click('pack') + >>> shipment_out.click('pick') + >>> len(shipment_out.inventory_moves) + 1 + >>> len(shipment_out.outgoing_moves) + 1 + >>> shipment_out.click('pack') + +Finish the shipment:: + >>> shipment_out.click('done') >>> shipment_out.state 'done' diff --git a/modules/stock_lot/tests/scenario_stock_lot_shipment_out.rst b/modules/stock_lot/tests/scenario_stock_lot_shipment_out.rst index d4d2fefc676..4e2274ac5c7 100644 --- a/modules/stock_lot/tests/scenario_stock_lot_shipment_out.rst +++ b/modules/stock_lot/tests/scenario_stock_lot_shipment_out.rst @@ -96,6 +96,12 @@ Assign the shipment:: >>> len(shipment_out.outgoing_moves) 1 +Check the inventory moves origin:: + + >>> outgoing_move, = shipment_out.outgoing_moves + >>> all(m.origin == outgoing_move for m in shipment_out.inventory_moves) + True + Try to pick without lot:: >>> shipment_out.click('pick') # doctest: +IGNORE_EXCEPTION_DETAIL @@ -128,3 +134,26 @@ Pick the shipment:: ... lot_quantities[number] += move.quantity >>> sorted(lot_quantities.items()) [('', 0.0), ('00001', 7.0), ('00002', 3.0)] + +Check the inventory moves have an outgoing move origin with the same lot:: + + >>> all(m.lot == m.origin.lot for m in shipment_out.inventory_moves) + True + +Pack the shipment and return to pick:: + + >>> shipment_out.click('pack') + >>> shipment_out.state + 'packed' + >>> len(shipment_out.outgoing_moves) + 2 + >>> shipment_out.click('pick') + >>> shipment_out.state + 'picked' + >>> len(shipment_out.outgoing_moves) + 2 + +Check the inventory moves still have an outgoing move origin with the same lot:: + + >>> all(m.lot == m.origin.lot for m in shipment_out.inventory_moves) + True From 3a02d3f5da4e935966f49ce202ba8e2f67f6f421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 25 Aug 2023 18:08:17 +0200 Subject: [PATCH 181/932] Update origin of outgoing moves for internal shipment When synchronize moves, the origin of outgoing is updated to point the new incoming move instead of the original one. Closes #12272 (grafted from f36f6212c3596d5860722535adc80349496d07be) --HG-- branch : 6.8 --- modules/stock/shipment.py | 13 +- ...enario_stock_lot_shipment_out_internal.rst | 140 ++++++++++++++++++ 2 files changed, 150 insertions(+), 3 deletions(-) create mode 100644 modules/stock_lot/tests/scenario_stock_lot_shipment_out_internal.rst diff --git a/modules/stock/shipment.py b/modules/stock/shipment.py index b08d0a3bc64..4431756e147 100644 --- a/modules/stock/shipment.py +++ b/modules/stock/shipment.py @@ -2698,13 +2698,14 @@ def _sync_moves(cls, shipments): def active(move): return move.state != 'cancelled' - moves = [] + moves, omoves = [], [] for shipment in shipments: if not shipment.transit_location: continue incoming_moves = {m: m for m in shipment.incoming_moves} - outgoing_qty = defaultdict(lambda: defaultdict(lambda: 0)) + outgoing_qty = defaultdict(lambda: defaultdict(float)) + outgoing_moves = defaultdict(lambda: defaultdict(list)) for move in filter(active, shipment.incoming_moves): key = shipment._sync_move_key(move) outgoing_qty[move][key] = 0 @@ -2715,6 +2716,7 @@ def active(move): move.uom, move.quantity, move.product.default_uom, round=False) outgoing_qty[incoming_move][key] += qty_default_uom + outgoing_moves[incoming_move][key].append(move) for incoming_move in outgoing_qty: if incoming_move: @@ -2726,13 +2728,18 @@ def active(move): move = shipment._sync_incoming_move(incoming_move) for name, value in key: setattr(move, name, value) + for omove in outgoing_moves[incoming_move][key]: + omove.origin = move + omoves.append(omove) qty = Uom.compute_qty( move.product.default_uom, qty, move.uom) if move.quantity != qty: move.quantity = qty - moves.append(move) + moves.append(move) + # Save incoming moves first to get id for outgoing moves Move.save(moves) + Move.save(omoves) @classmethod def _set_transit(cls, shipments): diff --git a/modules/stock_lot/tests/scenario_stock_lot_shipment_out_internal.rst b/modules/stock_lot/tests/scenario_stock_lot_shipment_out_internal.rst new file mode 100644 index 00000000000..a1d25464703 --- /dev/null +++ b/modules/stock_lot/tests/scenario_stock_lot_shipment_out_internal.rst @@ -0,0 +1,140 @@ +==================================== +Stock Lot Shipment Internal Scenario +==================================== + +Imports:: + + >>> import datetime as dt + >>> from decimal import Decimal + + >>> from proteus import Model + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import ( + ... create_company, get_company) + + >>> today = dt.date.today() + >>> yesterday = today - dt.timedelta(days=1) + >>> tomorrow = today + dt.timedelta(days=1) + +Activate modules:: + + >>> config = activate_modules('stock_lot') + + >>> LeadTime = Model.get('stock.location.lead_time') + >>> Location = Model.get('stock.location') + >>> Lot = Model.get('stock.lot') + >>> ProductTemplate = Model.get('product.template') + >>> ProductUom = Model.get('product.uom') + >>> Shipment = Model.get('stock.shipment.internal') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create product:: + + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = "Product" + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + +Get stock locations:: + + >>> warehouse1, = Location.find([('type', '=', 'warehouse')]) + >>> warehouse2, = warehouse1.duplicate() + +Add lead time between warehouses:: + + >>> lead_time = LeadTime() + >>> lead_time.warehouse_from = warehouse1 + >>> lead_time.warehouse_to = warehouse2 + >>> lead_time.lead_time = dt.timedelta(1) + >>> lead_time.save() + +Create Internal Shipment with lead time:: + + >>> shipment = Shipment() + >>> shipment.planned_date = tomorrow + >>> shipment.from_location = warehouse1.storage_location + >>> shipment.to_location = warehouse2.storage_location + >>> bool(shipment.transit_location) + True + >>> shipment.planned_start_date == today + True + >>> move = shipment.moves.new() + >>> move.product = product + >>> move.quantity = 3 + >>> move.from_location = shipment.from_location + >>> move.to_location = shipment.to_location + >>> shipment.save() + +Set the shipment state to waiting:: + + + >>> shipment.click('wait') + >>> shipment.state + 'waiting' + >>> len(shipment.outgoing_moves) + 1 + >>> len(shipment.incoming_moves) + 1 + +Split outgoing moves:: + + >>> move, = shipment.outgoing_moves + >>> move.quantity = 1 + >>> move.save() + >>> with config.set_context(_stock_move_split=True): + ... _ = move.duplicate(default=dict(quantity=2)) + >>> shipment.reload() + +Assign the shipment:: + + >>> shipment.click('assign_force') + >>> shipment.state + 'assigned' + + >>> len(shipment.incoming_moves) + 1 + +Check the inventory moves origin:: + + >>> incoming_move, = shipment.incoming_moves + >>> all(m.origin == incoming_move for m in shipment.outgoing_moves) + True + +Set 2 lots:: + + >>> for i, move in enumerate(shipment.outgoing_moves, start=1): + ... lot = Lot(number='%05i' % i, product=move.product) + ... lot.save() + ... move.lot = lot + >>> shipment.save() + +Ship the shipment:: + + >>> shipment.effective_start_date = yesterday + >>> shipment.click('ship') + >>> shipment.state + 'shipped' + >>> len(shipment.incoming_moves) + 3 + >>> sorted([m.quantity for m in shipment.incoming_moves]) + [0.0, 1.0, 2.0] + >>> lot_quantities = {} + >>> for move in shipment.incoming_moves: + ... number = move.lot.number if move.lot else '' + ... quantity = lot_quantities.setdefault(number, 0) + ... lot_quantities[number] += move.quantity + >>> sorted(lot_quantities.items()) + [('', 0.0), ('00001', 1.0), ('00002', 2.0)] + +Check the outgoing moves have an incoming move origin with the same lot:: + + >>> all(m.lot == m.origin.lot for m in shipment.outgoing_moves) + True From 4a9b7732c2d786501d1f3b8d2619ef6076b4a2c6 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Wed, 19 Jul 2023 11:46:04 +0200 Subject: [PATCH 182/932] Add search context fields to sale line product depends They should be added explicity because they are not included in display_depends nor edition_depends Closes #12407 (grafted from 97b64f835ef1d37d82ca7de34efed5c9ecfe13b7) --HG-- branch : 6.8 --- modules/sale/sale.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/sale/sale.py b/modules/sale/sale.py index 361785d1a55..b5f8c167d13 100644 --- a/modules/sale/sale.py +++ b/modules/sale/sale.py @@ -1236,7 +1236,8 @@ class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView): 'taxes': Eval('taxes', []), 'quantity': Eval('quantity'), }, - depends={'company'}) + depends={ + 'company', 'warehouse', 'sale_date', 'currency', 'customer'}) product_uom_category = fields.Function( fields.Many2One('product.uom.category', 'Product Uom Category'), 'on_change_with_product_uom_category') From 2517e11a32334ee8f549cb75c5c9c80f1668f06e Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Wed, 19 Jul 2023 11:46:44 +0200 Subject: [PATCH 183/932] Add search context fields to purchase line product depends They should be added explicity because they are not included in display_depends nor edition_depends Closes #12407 (grafted from d36dce59eb6ce2354d3e714eb76e6cf4474b6305) --HG-- branch : 6.8 --- modules/purchase/purchase.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py index bdfa55336a0..6d7bf8a96e2 100644 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -1147,7 +1147,8 @@ class Line(sequence_ordered(), ModelSQL, ModelView): 'taxes': Eval('taxes', []), 'quantity': Eval('quantity'), }, - depends={'company'}) + depends={ + 'company', 'warehouse', 'purchase_date', 'currency', 'supplier'}) product_supplier = fields.Many2One( 'purchase.product_supplier', "Supplier's Product", ondelete='RESTRICT', From 338c872335f5a30109f8a04de3e1c5110afdea72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 22:53:44 +0200 Subject: [PATCH 184/932] Prepare release trytond-6.8.4 --HG-- branch : 6.8 --- trytond/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/trytond/CHANGELOG b/trytond/CHANGELOG index 90372b5dcf7..a4c9855d474 100644 --- a/trytond/CHANGELOG +++ b/trytond/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.4 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.3 - 2023-07-31 -------------------------- * Bug fixes (see mercurial logs for details) From 8da824054d7cdba7a829b8334c440db71661ce1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 22:53:45 +0200 Subject: [PATCH 185/932] Add tag trytond-6.8.4 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 1f9bc02f0f4..272f7757cc6 100644 --- a/.hgtags +++ b/.hgtags @@ -8851,3 +8851,4 @@ f6fb47b9df42cd564b9fdc6b0b6b9d6a29e51a30 sale_supply-6.8.2 a1f54a55e2e13a66a9b67b6e57487d650c53e22f sale_point-6.8.2 c3a647e2404407038f6938a8029de03b9d7797ab marketing_email-6.8.1 b4d1901f358a7441ff02123dcf71377f13ac3611 account-6.8.2 +5347a9b22caf586b261691460a743e302d81b194 trytond-6.8.4 From b033cb7a08519b996eebae828001e7dd3f391a0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 22:54:01 +0200 Subject: [PATCH 186/932] Increase version number --HG-- branch : 6.8 --- trytond/trytond/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/trytond/__init__.py b/trytond/trytond/__init__.py index 6178cbf3b55..ede4f7f90fc 100644 --- a/trytond/trytond/__init__.py +++ b/trytond/trytond/__init__.py @@ -8,7 +8,7 @@ import __main__ from lxml import etree, objectify -__version__ = "6.8.4" +__version__ = "6.8.5" os.environ.setdefault( 'TRYTOND_APPNAME', From cab7b78c615b96dc97cf91df4553ac4450f6bc34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:03:18 +0200 Subject: [PATCH 187/932] Prepare release tryton-6.8.3 --HG-- branch : 6.8 --- tryton/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tryton/CHANGELOG b/tryton/CHANGELOG index 841c4d360db..3412b577f96 100644 --- a/tryton/CHANGELOG +++ b/tryton/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.3 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.2 - 2023-08-01 -------------------------- * Bug fixes (see mercurial logs for details) From dce397039f74c74c63458c8de87a036de97c9274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:03:19 +0200 Subject: [PATCH 188/932] Add tag tryton-6.8.3 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 272f7757cc6..4214bf5b874 100644 --- a/.hgtags +++ b/.hgtags @@ -8852,3 +8852,4 @@ a1f54a55e2e13a66a9b67b6e57487d650c53e22f sale_point-6.8.2 c3a647e2404407038f6938a8029de03b9d7797ab marketing_email-6.8.1 b4d1901f358a7441ff02123dcf71377f13ac3611 account-6.8.2 5347a9b22caf586b261691460a743e302d81b194 trytond-6.8.4 +287fc0c21d1d2c2bd4dd9de3650707dd1c6e719a tryton-6.8.3 From 82988e71385d56495dbfd38acaf88e0732b00b1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:03:33 +0200 Subject: [PATCH 189/932] Increase version number --HG-- branch : 6.8 --- tryton/tryton/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tryton/tryton/__init__.py b/tryton/tryton/__init__.py index 1031af3ff37..635c380078c 100644 --- a/tryton/tryton/__init__.py +++ b/tryton/tryton/__init__.py @@ -1,6 +1,6 @@ # This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. -__version__ = "6.8.3" +__version__ = "6.8.4" import locale import gi From 53a42c5af0c255d732f7253ae428f9608b97cf9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:05:47 +0200 Subject: [PATCH 190/932] Prepare release sao-6.8.2 --HG-- branch : 6.8 --- sao/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sao/CHANGELOG b/sao/CHANGELOG index f9b636514c4..ea7b4c9c1dc 100644 --- a/sao/CHANGELOG +++ b/sao/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-05-17 -------------------------- * Bug fixes (see mercurial logs for details) From a89b543a20ef6b579d74ae3deb31106eb4342e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:05:49 +0200 Subject: [PATCH 191/932] Add tag sao-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 4214bf5b874..d6135153478 100644 --- a/.hgtags +++ b/.hgtags @@ -8853,3 +8853,4 @@ c3a647e2404407038f6938a8029de03b9d7797ab marketing_email-6.8.1 b4d1901f358a7441ff02123dcf71377f13ac3611 account-6.8.2 5347a9b22caf586b261691460a743e302d81b194 trytond-6.8.4 287fc0c21d1d2c2bd4dd9de3650707dd1c6e719a tryton-6.8.3 +393beee164e99351e6861ed59f25e95d137f2a7c sao-6.8.2 From df6fbba7da1435e2d5d109a102282f5988d8d3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:05:58 +0200 Subject: [PATCH 192/932] Increase version number --HG-- branch : 6.8 --- sao/package.json | 2 +- sao/src/sao.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sao/package.json b/sao/package.json index a3d4c5b222b..4cf7db9d9c6 100644 --- a/sao/package.json +++ b/sao/package.json @@ -2,7 +2,7 @@ "name": "tryton-sao", "title": "sao", "description": "Tryton webclient", - "version": "6.8.2", + "version": "6.8.3", "homepage": "http://www.tryton.org/", "author": { "name": "Tryton" diff --git a/sao/src/sao.js b/sao/src/sao.js index 3a1bd2e42fc..1da528c63b4 100644 --- a/sao/src/sao.js +++ b/sao/src/sao.js @@ -1,7 +1,7 @@ /* This file is part of Tryton. The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms. */ var Sao = { - __version__: '6.8.2', + __version__: '6.8.3', }; (function() { From be5dede5463faf70b24e5edfd3aa9fbf5b664a15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:07:53 +0200 Subject: [PATCH 193/932] Prepare release stock_secondary_unit-6.8.1 --HG-- branch : 6.8 --- modules/stock_secondary_unit/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/stock_secondary_unit/CHANGELOG b/modules/stock_secondary_unit/CHANGELOG index 5e8f7f75f9c..a5b92130dee 100644 --- a/modules/stock_secondary_unit/CHANGELOG +++ b/modules/stock_secondary_unit/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 1862b2d15fc7b75da2678720f3de7b368ff76514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:07:55 +0200 Subject: [PATCH 194/932] Add tag stock_secondary_unit-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index d6135153478..af24c786d9a 100644 --- a/.hgtags +++ b/.hgtags @@ -8854,3 +8854,4 @@ b4d1901f358a7441ff02123dcf71377f13ac3611 account-6.8.2 5347a9b22caf586b261691460a743e302d81b194 trytond-6.8.4 287fc0c21d1d2c2bd4dd9de3650707dd1c6e719a tryton-6.8.3 393beee164e99351e6861ed59f25e95d137f2a7c sao-6.8.2 +5b6b3c0dac782e2f702f1b8763ff83b6c5960541 stock_secondary_unit-6.8.1 From c1f37d962c4c1a522a66525a96ccf6617926367b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:08:04 +0200 Subject: [PATCH 195/932] Increase version number --HG-- branch : 6.8 --- modules/stock_secondary_unit/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/stock_secondary_unit/tryton.cfg b/modules/stock_secondary_unit/tryton.cfg index 2cd97d70b3b..353aef934ef 100644 --- a/modules/stock_secondary_unit/tryton.cfg +++ b/modules/stock_secondary_unit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: ir stock From 4b34755adf4ff9e1941f93ee7e89553ad5e2d9c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:10:34 +0200 Subject: [PATCH 196/932] Prepare release stock_lot-6.8.1 --HG-- branch : 6.8 --- modules/stock_lot/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/stock_lot/CHANGELOG b/modules/stock_lot/CHANGELOG index 8b2ffbe81be..d9de5a9cd2a 100644 --- a/modules/stock_lot/CHANGELOG +++ b/modules/stock_lot/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 416ea56b41ac95a0748f364c31d1699782e62a0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:10:36 +0200 Subject: [PATCH 197/932] Add tag stock_lot-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index af24c786d9a..274c2c72e99 100644 --- a/.hgtags +++ b/.hgtags @@ -8855,3 +8855,4 @@ b4d1901f358a7441ff02123dcf71377f13ac3611 account-6.8.2 287fc0c21d1d2c2bd4dd9de3650707dd1c6e719a tryton-6.8.3 393beee164e99351e6861ed59f25e95d137f2a7c sao-6.8.2 5b6b3c0dac782e2f702f1b8763ff83b6c5960541 stock_secondary_unit-6.8.1 +f24b7fa431fc697b33903f979b66214e2a333998 stock_lot-6.8.1 From 42ee32664b0c7eb2efe1df98f138a61991791562 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:10:45 +0200 Subject: [PATCH 198/932] Increase version number --HG-- branch : 6.8 --- modules/stock_lot/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/stock_lot/tryton.cfg b/modules/stock_lot/tryton.cfg index a50376ed23a..f66934b4d77 100644 --- a/modules/stock_lot/tryton.cfg +++ b/modules/stock_lot/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: ir product From 9c65af803e7d12197416ef8941bfa9062e8ec316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:12:43 +0200 Subject: [PATCH 199/932] Prepare release stock-6.8.3 --HG-- branch : 6.8 --- modules/stock/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/stock/CHANGELOG b/modules/stock/CHANGELOG index 188d50220bf..858dc42b6b7 100644 --- a/modules/stock/CHANGELOG +++ b/modules/stock/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.3 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.2 - 2023-06-21 -------------------------- * Bug fixes (see mercurial logs for details) From 65ed8d6fd2edaee081cafddf48f0ec2cbefc9acd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:12:45 +0200 Subject: [PATCH 200/932] Add tag stock-6.8.3 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 274c2c72e99..88b795f9200 100644 --- a/.hgtags +++ b/.hgtags @@ -8856,3 +8856,4 @@ b4d1901f358a7441ff02123dcf71377f13ac3611 account-6.8.2 393beee164e99351e6861ed59f25e95d137f2a7c sao-6.8.2 5b6b3c0dac782e2f702f1b8763ff83b6c5960541 stock_secondary_unit-6.8.1 f24b7fa431fc697b33903f979b66214e2a333998 stock_lot-6.8.1 +46a68e13cca5248d17450e3299fc8909bd1e3ccc stock-6.8.3 From a8350d1a0c348a354100a1912709f1b63f386c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:12:57 +0200 Subject: [PATCH 201/932] Increase version number --HG-- branch : 6.8 --- modules/stock/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/stock/tryton.cfg b/modules/stock/tryton.cfg index 5fa900deef7..f5c843f63a0 100644 --- a/modules/stock/tryton.cfg +++ b/modules/stock/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.3 +version=6.8.4 depends: company currency From bd839a87912e6cc017a409d4f924925ee525acfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:14:47 +0200 Subject: [PATCH 202/932] Prepare release sale_subscription-6.8.2 --HG-- branch : 6.8 --- modules/sale_subscription/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale_subscription/CHANGELOG b/modules/sale_subscription/CHANGELOG index 9cc625a7d29..fd633c14c1a 100644 --- a/modules/sale_subscription/CHANGELOG +++ b/modules/sale_subscription/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-05-17 -------------------------- * Bug fixes (see mercurial logs for details) From 81e1ea900f43e880348ca42aad3f27d1842211b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:14:49 +0200 Subject: [PATCH 203/932] Add tag sale_subscription-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 88b795f9200..d587c84fea8 100644 --- a/.hgtags +++ b/.hgtags @@ -8857,3 +8857,4 @@ b4d1901f358a7441ff02123dcf71377f13ac3611 account-6.8.2 5b6b3c0dac782e2f702f1b8763ff83b6c5960541 stock_secondary_unit-6.8.1 f24b7fa431fc697b33903f979b66214e2a333998 stock_lot-6.8.1 46a68e13cca5248d17450e3299fc8909bd1e3ccc stock-6.8.3 +b6714671ce8cc99ea8c4d52f0649e7ef864e612a sale_subscription-6.8.2 From 9262a11f682cc21359f8d72794514f97e075a656 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:14:57 +0200 Subject: [PATCH 204/932] Increase version number --HG-- branch : 6.8 --- modules/sale_subscription/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_subscription/tryton.cfg b/modules/sale_subscription/tryton.cfg index 5e9f90e2774..1002ae2b469 100644 --- a/modules/sale_subscription/tryton.cfg +++ b/modules/sale_subscription/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.2 +version=6.8.3 depends: account account_invoice From 6fbc836196cb57ee1dc803f2846af5d84428eb85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:16:41 +0200 Subject: [PATCH 205/932] Prepare release sale_shipment_cost-6.8.1 --HG-- branch : 6.8 --- modules/sale_shipment_cost/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale_shipment_cost/CHANGELOG b/modules/sale_shipment_cost/CHANGELOG index 65cd3660d16..09ca163b3c6 100644 --- a/modules/sale_shipment_cost/CHANGELOG +++ b/modules/sale_shipment_cost/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 9f31026b09c2785f74532cc33827cd45e60167bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:16:42 +0200 Subject: [PATCH 206/932] Add tag sale_shipment_cost-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index d587c84fea8..0e4290c48d9 100644 --- a/.hgtags +++ b/.hgtags @@ -8858,3 +8858,4 @@ b4d1901f358a7441ff02123dcf71377f13ac3611 account-6.8.2 f24b7fa431fc697b33903f979b66214e2a333998 stock_lot-6.8.1 46a68e13cca5248d17450e3299fc8909bd1e3ccc stock-6.8.3 b6714671ce8cc99ea8c4d52f0649e7ef864e612a sale_subscription-6.8.2 +f4df2c0c3c849fd7057cf7acd334dcd939c7fc54 sale_shipment_cost-6.8.1 From 17c3e888fba04e73d2e83874ed9c2e2950e30ed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:16:51 +0200 Subject: [PATCH 207/932] Increase version number --HG-- branch : 6.8 --- modules/sale_shipment_cost/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_shipment_cost/tryton.cfg b/modules/sale_shipment_cost/tryton.cfg index 8e6b6e42008..94a62c0c757 100644 --- a/modules/sale_shipment_cost/tryton.cfg +++ b/modules/sale_shipment_cost/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account_invoice carrier From 176190e896c3deee55d5a85ed5e2536a00809598 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:17:14 +0200 Subject: [PATCH 208/932] Prepare release sale_promotion-6.8.1 --HG-- branch : 6.8 --- modules/sale_promotion/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale_promotion/CHANGELOG b/modules/sale_promotion/CHANGELOG index 377074b602d..507ec6f9fd5 100644 --- a/modules/sale_promotion/CHANGELOG +++ b/modules/sale_promotion/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From cb7d8acaf0940b40cdbfa567c4f35ab433423727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:17:16 +0200 Subject: [PATCH 209/932] Add tag sale_promotion-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 0e4290c48d9..c6763a19629 100644 --- a/.hgtags +++ b/.hgtags @@ -8859,3 +8859,4 @@ f24b7fa431fc697b33903f979b66214e2a333998 stock_lot-6.8.1 46a68e13cca5248d17450e3299fc8909bd1e3ccc stock-6.8.3 b6714671ce8cc99ea8c4d52f0649e7ef864e612a sale_subscription-6.8.2 f4df2c0c3c849fd7057cf7acd334dcd939c7fc54 sale_shipment_cost-6.8.1 +c43a9fa079cbc30fc470010c55bc62340fe28993 sale_promotion-6.8.1 From afb9ef07ed045410bbcbcef0fafc1085c3fe1324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:17:24 +0200 Subject: [PATCH 210/932] Increase version number --HG-- branch : 6.8 --- modules/sale_promotion/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale_promotion/tryton.cfg b/modules/sale_promotion/tryton.cfg index 877d3297c60..fcdbb0d958c 100644 --- a/modules/sale_promotion/tryton.cfg +++ b/modules/sale_promotion/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: company currency From 3bc3bc26b0b1718b5618f8f82c11868aa6716b76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:20:28 +0200 Subject: [PATCH 211/932] Prepare release sale-6.8.2 --HG-- branch : 6.8 --- modules/sale/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sale/CHANGELOG b/modules/sale/CHANGELOG index 64b5aba5dac..7e2750d6096 100644 --- a/modules/sale/CHANGELOG +++ b/modules/sale/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-05-17 -------------------------- * Bug fixes (see mercurial logs for details) From 11e4549d23921c619b9fcae3d109a11d6918e17b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:20:29 +0200 Subject: [PATCH 212/932] Add tag sale-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index c6763a19629..425696c1218 100644 --- a/.hgtags +++ b/.hgtags @@ -8860,3 +8860,4 @@ f24b7fa431fc697b33903f979b66214e2a333998 stock_lot-6.8.1 b6714671ce8cc99ea8c4d52f0649e7ef864e612a sale_subscription-6.8.2 f4df2c0c3c849fd7057cf7acd334dcd939c7fc54 sale_shipment_cost-6.8.1 c43a9fa079cbc30fc470010c55bc62340fe28993 sale_promotion-6.8.1 +34b1d601c2c5f4be65c4f940c92ea3f325692b09 sale-6.8.2 From 70c24f7fc9c5332c5f0312109e06240c597666b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:20:41 +0200 Subject: [PATCH 213/932] Increase version number --HG-- branch : 6.8 --- modules/sale/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sale/tryton.cfg b/modules/sale/tryton.cfg index 387bd202341..6373ed3ac09 100644 --- a/modules/sale/tryton.cfg +++ b/modules/sale/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.2 +version=6.8.3 depends: account account_invoice From 92ceb0b27c9acfcd0c5edff2025fd6363234b1d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:21:22 +0200 Subject: [PATCH 214/932] Prepare release purchase-6.8.3 --HG-- branch : 6.8 --- modules/purchase/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/purchase/CHANGELOG b/modules/purchase/CHANGELOG index 182b2f0f640..4bb2e792b57 100644 --- a/modules/purchase/CHANGELOG +++ b/modules/purchase/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.3 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.2 - 2023-06-21 -------------------------- * Bug fixes (see mercurial logs for details) From d01590c9249eef4b2e25e1121a61eaa934662e00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:21:23 +0200 Subject: [PATCH 215/932] Add tag purchase-6.8.3 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 425696c1218..fa5b541f8b2 100644 --- a/.hgtags +++ b/.hgtags @@ -8861,3 +8861,4 @@ b6714671ce8cc99ea8c4d52f0649e7ef864e612a sale_subscription-6.8.2 f4df2c0c3c849fd7057cf7acd334dcd939c7fc54 sale_shipment_cost-6.8.1 c43a9fa079cbc30fc470010c55bc62340fe28993 sale_promotion-6.8.1 34b1d601c2c5f4be65c4f940c92ea3f325692b09 sale-6.8.2 +6bca0743b1e738d01c12d3d683f32aa56a8c38f9 purchase-6.8.3 From 613190185c714a2e6d20ae20069edac4e0df585f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:21:34 +0200 Subject: [PATCH 216/932] Increase version number --HG-- branch : 6.8 --- modules/purchase/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/purchase/tryton.cfg b/modules/purchase/tryton.cfg index a078f55271c..49efd0ecb26 100644 --- a/modules/purchase/tryton.cfg +++ b/modules/purchase/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.3 +version=6.8.4 depends: account account_invoice From 65a4c72f5498989bff9f8c1ffabaf51565326801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:22:08 +0200 Subject: [PATCH 217/932] Prepare release product_kit-6.8.1 --HG-- branch : 6.8 --- modules/product_kit/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/product_kit/CHANGELOG b/modules/product_kit/CHANGELOG index 62ffbe99ea4..29fc349e80b 100644 --- a/modules/product_kit/CHANGELOG +++ b/modules/product_kit/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From e6f4ee18a7df15f64840d329dfd5172897f53665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:22:09 +0200 Subject: [PATCH 218/932] Add tag product_kit-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index fa5b541f8b2..f5f8171f7e9 100644 --- a/.hgtags +++ b/.hgtags @@ -8862,3 +8862,4 @@ f4df2c0c3c849fd7057cf7acd334dcd939c7fc54 sale_shipment_cost-6.8.1 c43a9fa079cbc30fc470010c55bc62340fe28993 sale_promotion-6.8.1 34b1d601c2c5f4be65c4f940c92ea3f325692b09 sale-6.8.2 6bca0743b1e738d01c12d3d683f32aa56a8c38f9 purchase-6.8.3 +f21284a4ee83e4d6dcf4777158e3fdfebcc79cf0 product_kit-6.8.1 From 7c06d02206f843ee2383e04b711a7a89fbd0d1ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:22:18 +0200 Subject: [PATCH 219/932] Increase version number --HG-- branch : 6.8 --- modules/product_kit/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/product_kit/tryton.cfg b/modules/product_kit/tryton.cfg index f78e6829596..1c826145b06 100644 --- a/modules/product_kit/tryton.cfg +++ b/modules/product_kit/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: ir product From 8238e442c71ffd73de30b61a35e09aaba3f493c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:24:32 +0200 Subject: [PATCH 220/932] Prepare release product_cost_history-6.8.1 --HG-- branch : 6.8 --- modules/product_cost_history/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/product_cost_history/CHANGELOG b/modules/product_cost_history/CHANGELOG index 3562c88a131..859b3d689f4 100644 --- a/modules/product_cost_history/CHANGELOG +++ b/modules/product_cost_history/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 015440a784c87e9d2c8bd8ec160d345792197292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:24:33 +0200 Subject: [PATCH 221/932] Add tag product_cost_history-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index f5f8171f7e9..01968da973c 100644 --- a/.hgtags +++ b/.hgtags @@ -8863,3 +8863,4 @@ c43a9fa079cbc30fc470010c55bc62340fe28993 sale_promotion-6.8.1 34b1d601c2c5f4be65c4f940c92ea3f325692b09 sale-6.8.2 6bca0743b1e738d01c12d3d683f32aa56a8c38f9 purchase-6.8.3 f21284a4ee83e4d6dcf4777158e3fdfebcc79cf0 product_kit-6.8.1 +054f75f8d67245cfd599c2a5ec8de3fc0f95d61d product_cost_history-6.8.1 From b52beb39ee7866ba9ad3e4a3639e9a24527aa37f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:24:42 +0200 Subject: [PATCH 222/932] Increase version number --HG-- branch : 6.8 --- modules/product_cost_history/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/product_cost_history/tryton.cfg b/modules/product_cost_history/tryton.cfg index aac9650580b..563ca761729 100644 --- a/modules/product_cost_history/tryton.cfg +++ b/modules/product_cost_history/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: ir product From 4ff7a371814cce810499032b6f7c0de1724ec7f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:28:26 +0200 Subject: [PATCH 223/932] Prepare release notification_email-6.8.1 --HG-- branch : 6.8 --- modules/notification_email/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/notification_email/CHANGELOG b/modules/notification_email/CHANGELOG index ffd23eb91ea..f40707c09d0 100644 --- a/modules/notification_email/CHANGELOG +++ b/modules/notification_email/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From c3279fc67daaeabda08acac39f42c7ff14209ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:28:27 +0200 Subject: [PATCH 224/932] Add tag notification_email-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 01968da973c..8c4206b1b03 100644 --- a/.hgtags +++ b/.hgtags @@ -8864,3 +8864,4 @@ c43a9fa079cbc30fc470010c55bc62340fe28993 sale_promotion-6.8.1 6bca0743b1e738d01c12d3d683f32aa56a8c38f9 purchase-6.8.3 f21284a4ee83e4d6dcf4777158e3fdfebcc79cf0 product_kit-6.8.1 054f75f8d67245cfd599c2a5ec8de3fc0f95d61d product_cost_history-6.8.1 +0524c3bd19631c25ef41ea165ed05a77770f14c5 notification_email-6.8.1 From 970ddccc9692117ccc531a0ec166961a2bb7a257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:28:36 +0200 Subject: [PATCH 225/932] Increase version number --HG-- branch : 6.8 --- modules/notification_email/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/notification_email/tryton.cfg b/modules/notification_email/tryton.cfg index f27d69a0c8c..2c05d9e2fdb 100644 --- a/modules/notification_email/tryton.cfg +++ b/modules/notification_email/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: ir res From 154121c8fd78941226944ef62128c437b212d649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:28:53 +0200 Subject: [PATCH 226/932] Prepare release marketing_campaign-6.8.1 --HG-- branch : 6.8 --- modules/marketing_campaign/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/marketing_campaign/CHANGELOG b/modules/marketing_campaign/CHANGELOG index bc4fd86d2dc..e69662272e5 100644 --- a/modules/marketing_campaign/CHANGELOG +++ b/modules/marketing_campaign/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From 6c8e7e4c0f41db1289044a8cbd86c2e3b56033d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:28:54 +0200 Subject: [PATCH 227/932] Add tag marketing_campaign-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 8c4206b1b03..becd3e6eb21 100644 --- a/.hgtags +++ b/.hgtags @@ -8865,3 +8865,4 @@ c43a9fa079cbc30fc470010c55bc62340fe28993 sale_promotion-6.8.1 f21284a4ee83e4d6dcf4777158e3fdfebcc79cf0 product_kit-6.8.1 054f75f8d67245cfd599c2a5ec8de3fc0f95d61d product_cost_history-6.8.1 0524c3bd19631c25ef41ea165ed05a77770f14c5 notification_email-6.8.1 +51b5667fbbea0bb336d2df0b80a87e6991ee7f4a marketing_campaign-6.8.1 From 1f1ce9a014635e30b36961bfe2888a3060a9ba42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:29:03 +0200 Subject: [PATCH 228/932] Increase version number --HG-- branch : 6.8 --- modules/marketing_campaign/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/marketing_campaign/tryton.cfg b/modules/marketing_campaign/tryton.cfg index 4bdd03c7f43..d6f283c5fa9 100644 --- a/modules/marketing_campaign/tryton.cfg +++ b/modules/marketing_campaign/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: ir marketing From 58332d0a2f3abfc19cd7770a379a5029ad69e9f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:29:52 +0200 Subject: [PATCH 229/932] Prepare release account_payment_clearing-6.8.1 --HG-- branch : 6.8 --- modules/account_payment_clearing/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_payment_clearing/CHANGELOG b/modules/account_payment_clearing/CHANGELOG index 115adaedf2b..255b3fec796 100644 --- a/modules/account_payment_clearing/CHANGELOG +++ b/modules/account_payment_clearing/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.1 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.0 - 2023-05-01 -------------------------- * Bug fixes (see mercurial logs for details) From f29513af146f0b60b89145a4ac7ad239de7cd557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:29:54 +0200 Subject: [PATCH 230/932] Add tag account_payment_clearing-6.8.1 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index becd3e6eb21..1ef2e5656e8 100644 --- a/.hgtags +++ b/.hgtags @@ -8866,3 +8866,4 @@ f21284a4ee83e4d6dcf4777158e3fdfebcc79cf0 product_kit-6.8.1 054f75f8d67245cfd599c2a5ec8de3fc0f95d61d product_cost_history-6.8.1 0524c3bd19631c25ef41ea165ed05a77770f14c5 notification_email-6.8.1 51b5667fbbea0bb336d2df0b80a87e6991ee7f4a marketing_campaign-6.8.1 +26459350cd6510b2e9a9277fe8e250cdb17140c1 account_payment_clearing-6.8.1 From 5527ab16a0d40d30afe7508298ece4b071e83664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:30:04 +0200 Subject: [PATCH 231/932] Increase version number --HG-- branch : 6.8 --- modules/account_payment_clearing/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_payment_clearing/tryton.cfg b/modules/account_payment_clearing/tryton.cfg index 9e4deb2c983..f756bb5fe8b 100644 --- a/modules/account_payment_clearing/tryton.cfg +++ b/modules/account_payment_clearing/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.1 +version=6.8.2 depends: account_payment ir From 64c67e9a51cdf196e1f426389b9c445c6fd0cbb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:33:14 +0200 Subject: [PATCH 232/932] Prepare release account_invoice-6.8.2 --HG-- branch : 6.8 --- modules/account_invoice/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_invoice/CHANGELOG b/modules/account_invoice/CHANGELOG index fc50939fce5..0db3615a6f5 100644 --- a/modules/account_invoice/CHANGELOG +++ b/modules/account_invoice/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-05-17 -------------------------- * Bug fixes (see mercurial logs for details) From ae302bafe77ef6bb6390e7553e3a6a813cac3ed3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:33:15 +0200 Subject: [PATCH 233/932] Add tag account_invoice-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 1ef2e5656e8..fc81b326576 100644 --- a/.hgtags +++ b/.hgtags @@ -8867,3 +8867,4 @@ f21284a4ee83e4d6dcf4777158e3fdfebcc79cf0 product_kit-6.8.1 0524c3bd19631c25ef41ea165ed05a77770f14c5 notification_email-6.8.1 51b5667fbbea0bb336d2df0b80a87e6991ee7f4a marketing_campaign-6.8.1 26459350cd6510b2e9a9277fe8e250cdb17140c1 account_payment_clearing-6.8.1 +1f88b2c3b468701f47015f823cb56aa4edd1bd21 account_invoice-6.8.2 From 5b47ca5bf98b02615b2eaee6e4ade1171b50b60a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:33:25 +0200 Subject: [PATCH 234/932] Increase version number --HG-- branch : 6.8 --- modules/account_invoice/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_invoice/tryton.cfg b/modules/account_invoice/tryton.cfg index 6dcebcec833..44d9830eee1 100644 --- a/modules/account_invoice/tryton.cfg +++ b/modules/account_invoice/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.2 +version=6.8.3 depends: account account_product From 42d01c6a6d481f7219b7922eabfac58c896483dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:36:12 +0200 Subject: [PATCH 235/932] Prepare release account_es_sii-6.8.2 --HG-- branch : 6.8 --- modules/account_es_sii/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account_es_sii/CHANGELOG b/modules/account_es_sii/CHANGELOG index 87889405c9e..e4f12b017d7 100644 --- a/modules/account_es_sii/CHANGELOG +++ b/modules/account_es_sii/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.2 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.1 - 2023-06-21 -------------------------- * Bug fixes (see mercurial logs for details) From af57a47ffbb37df13c0172414b4ad92fdc7e0af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:36:13 +0200 Subject: [PATCH 236/932] Add tag account_es_sii-6.8.2 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index fc81b326576..bc70e233e39 100644 --- a/.hgtags +++ b/.hgtags @@ -8868,3 +8868,4 @@ f21284a4ee83e4d6dcf4777158e3fdfebcc79cf0 product_kit-6.8.1 51b5667fbbea0bb336d2df0b80a87e6991ee7f4a marketing_campaign-6.8.1 26459350cd6510b2e9a9277fe8e250cdb17140c1 account_payment_clearing-6.8.1 1f88b2c3b468701f47015f823cb56aa4edd1bd21 account_invoice-6.8.2 +4a536259f59a21946fef66f3e2091d4bdc1257ae account_es_sii-6.8.2 From 599dea4ebe07b669d12c906ef5b79051639b56a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:36:22 +0200 Subject: [PATCH 237/932] Increase version number --HG-- branch : 6.8 --- modules/account_es_sii/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account_es_sii/tryton.cfg b/modules/account_es_sii/tryton.cfg index 3159ebd861c..2b8ee41d8e5 100644 --- a/modules/account_es_sii/tryton.cfg +++ b/modules/account_es_sii/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.2 +version=6.8.3 depends: account account_es From 534304d822020a683c9b40737fbde7ff913c1118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:37:10 +0200 Subject: [PATCH 238/932] Prepare release account-6.8.3 --HG-- branch : 6.8 --- modules/account/CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/account/CHANGELOG b/modules/account/CHANGELOG index 6977ee79728..aac5e8e545e 100644 --- a/modules/account/CHANGELOG +++ b/modules/account/CHANGELOG @@ -1,4 +1,9 @@ +Version 6.8.3 - 2023-09-06 +-------------------------- +* Bug fixes (see mercurial logs for details) + + Version 6.8.2 - 2023-08-01 -------------------------- * Bug fixes (see mercurial logs for details) From 5fef63d366e3db37bb7bfd74be04d1a7fb8ebfa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:37:11 +0200 Subject: [PATCH 239/932] Add tag account-6.8.3 --HG-- branch : 6.8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index bc70e233e39..548695d2577 100644 --- a/.hgtags +++ b/.hgtags @@ -8869,3 +8869,4 @@ f21284a4ee83e4d6dcf4777158e3fdfebcc79cf0 product_kit-6.8.1 26459350cd6510b2e9a9277fe8e250cdb17140c1 account_payment_clearing-6.8.1 1f88b2c3b468701f47015f823cb56aa4edd1bd21 account_invoice-6.8.2 4a536259f59a21946fef66f3e2091d4bdc1257ae account_es_sii-6.8.2 +1cd481377df028a5a9b79990c9f681d198776097 account-6.8.3 From 57ad4c9424d8fab8a472c66ad894eac2d583f467 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Sep 2023 23:37:24 +0200 Subject: [PATCH 240/932] Increase version number --HG-- branch : 6.8 --- modules/account/tryton.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account/tryton.cfg b/modules/account/tryton.cfg index 75b2c779b92..001da60197b 100644 --- a/modules/account/tryton.cfg +++ b/modules/account/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.8.3 +version=6.8.4 depends: company currency From 54dd254167be5dc08ad4368f5f66202c41d90085 Mon Sep 17 00:00:00 2001 From: Jean Cavallo Date: Wed, 14 Jun 2023 17:02:18 +0200 Subject: [PATCH 241/932] [coopengo_modules/debug] Initial commit --- coopengo_modules/debug/__init__.py | 110 ++ coopengo_modules/debug/debug.py | 1033 +++++++++++++++++ coopengo_modules/debug/debug.xml | 322 +++++ coopengo_modules/debug/doc/fr/features.rst | 16 + coopengo_modules/debug/doc/fr/index.rst | 21 + coopengo_modules/debug/doc/fr/summary.rst | 4 + coopengo_modules/debug/locale/fr_FR.po | 835 +++++++++++++ coopengo_modules/debug/tryton.cfg | 6 + .../debug/view/debug_model_field_form.xml | 52 + .../debug/view/debug_model_field_list.xml | 11 + .../debug/view/debug_model_form.xml | 23 + .../debug/view/debug_model_list.xml | 9 + .../debug/view/debug_model_method_form.xml | 9 + .../debug/view/debug_model_method_list.xml | 8 + .../debug/view/debug_model_mro_form.xml | 13 + .../debug/view/debug_model_mro_list.xml | 11 + .../debug/view/debug_model_view_form.xml | 23 + .../debug/view/debug_model_view_list.xml | 11 + .../debug/view/field_info_form.xml | 36 + .../debug/view/field_info_list.xml | 15 + .../debug/view/model_info_form.xml | 21 + .../debug/view/visualize_form.xml | 14 + 22 files changed, 2603 insertions(+) create mode 100644 coopengo_modules/debug/__init__.py create mode 100644 coopengo_modules/debug/debug.py create mode 100644 coopengo_modules/debug/debug.xml create mode 100644 coopengo_modules/debug/doc/fr/features.rst create mode 100644 coopengo_modules/debug/doc/fr/index.rst create mode 100644 coopengo_modules/debug/doc/fr/summary.rst create mode 100644 coopengo_modules/debug/locale/fr_FR.po create mode 100644 coopengo_modules/debug/tryton.cfg create mode 100644 coopengo_modules/debug/view/debug_model_field_form.xml create mode 100644 coopengo_modules/debug/view/debug_model_field_list.xml create mode 100644 coopengo_modules/debug/view/debug_model_form.xml create mode 100644 coopengo_modules/debug/view/debug_model_list.xml create mode 100644 coopengo_modules/debug/view/debug_model_method_form.xml create mode 100644 coopengo_modules/debug/view/debug_model_method_list.xml create mode 100644 coopengo_modules/debug/view/debug_model_mro_form.xml create mode 100644 coopengo_modules/debug/view/debug_model_mro_list.xml create mode 100644 coopengo_modules/debug/view/debug_model_view_form.xml create mode 100644 coopengo_modules/debug/view/debug_model_view_list.xml create mode 100644 coopengo_modules/debug/view/field_info_form.xml create mode 100644 coopengo_modules/debug/view/field_info_list.xml create mode 100644 coopengo_modules/debug/view/model_info_form.xml create mode 100644 coopengo_modules/debug/view/visualize_form.xml diff --git a/coopengo_modules/debug/__init__.py b/coopengo_modules/debug/__init__.py new file mode 100644 index 00000000000..fc27f4ac361 --- /dev/null +++ b/coopengo_modules/debug/__init__.py @@ -0,0 +1,110 @@ +# This file is part of Coog. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import inspect +import re +import logging + +from trytond.pool import Pool +from .debug import * + + +def register(): + Pool.register( + # From file debug + FieldInfo, + ModelInfo, + VisualizeDebug, + DebugModelInstance, + DebugMROInstance, + DebugMethodInstance, + DebugMethodMROInstance, + DebugFieldInstance, + DebugViewInstance, + DebugOnChangeRelation, + DebugOnChangeWithRelation, + module='debug', type_='model') + + Pool.register( + # From file debug + DebugModel, + Debug, + RefreshDebugData, + OpenInitialFrame, + module='debug', type_='wizard') + + Pool.register_post_init_hooks(set_method_names_for_profiling, + name_one2many_gets, + module='debug') + + +def set_method_names_for_profiling(pool): + ''' + Patches the pool initialization to separate given methods per model + in @profile reports. + + Methods to patch are set in trytond.conf : + + [debug] + methods=read,_validate,search,create,delete + ''' + from trytond.config import config + + def change_method_name_for_profiling(klass, method_name): + ''' + Override method_name in klass to use + "__" as name in order to appear as a + different line when profiling. + ''' + if not hasattr(klass, method_name): + return + if method_name in klass.__dict__: + return + method = getattr(klass, method_name) + if inspect.ismethod(method) and method.__self__ is klass: + template = '@classmethod' + else: + template = '' + template += ''' +def %s(*args, **kwargs): + return super(klass, args[0]).%s(*args[1:], **kwargs) +setattr(klass, method_name, %s)''' + patched_name = method_name + '__' + re.sub( + r'[^A-Za-z0-9]+', '_', klass.__name__) + exec template % (patched_name, method_name, patched_name) in \ + {'klass': klass, 'method_name': method_name}, {} + + meth_names = config.get('debug', 'methods') + if not meth_names: + return + for meth_name in meth_names.split(','): + logging.getLogger().warning( + 'Patching %s for profiling, not recommanded for prod!' + % meth_name) + for klass in pool._pool[pool.database_name].get( + 'model', {}).values(): + change_method_name_for_profiling(klass, meth_name) + + +def name_one2many_gets(pool): + from trytond.config import config + from trytond.model import ModelSQL + if config.get('debug', 'fields_get') != 'True': + return + + logging.getLogger().warning( + 'Patching fields getters for profiling, not recommanded for prod!') + for klass in pool._pool[pool.database_name].get( + 'model', {}).values(): + if not issubclass(klass, ModelSQL): + continue + for fname, field in klass._fields.items(): + if not hasattr(field, 'get'): + continue + template = ''' +def %s(*args, **kwargs): + return field.__class__.get(field, *args, **kwargs) +setattr(field, 'get', %s)''' + patched_name = '__field_getter__' + re.sub( + r'[^A-Za-z0-9]+', '_', klass.__name__) + '__' + fname + exec template % (patched_name, patched_name) in \ + {'field': field}, {} diff --git a/coopengo_modules/debug/debug.py b/coopengo_modules/debug/debug.py new file mode 100644 index 00000000000..bf6b03c01fd --- /dev/null +++ b/coopengo_modules/debug/debug.py @@ -0,0 +1,1033 @@ +# This file is part of Coog. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import os +import inspect +from collections import defaultdict +import pprint +import logging + +from trytond.wizard import Wizard, StateTransition, StateView, Button +from trytond.rpc import RPC +from trytond.model import ModelSQL, ModelView, fields +from trytond.transaction import Transaction +from trytond.pool import Pool +from trytond.pyson import Eval, Bool + +logger = logging.getLogger(__name__) +METHOD_TEMPLATES = ['default_', 'on_change_with_', 'on_change_', 'order_'] + +__all__ = [ + 'FieldInfo', + 'ModelInfo', + 'DebugModel', + 'VisualizeDebug', + 'Debug', + 'DebugModelInstance', + 'DebugMROInstance', + 'DebugFieldInstance', + 'DebugMethodInstance', + 'DebugMethodMROInstance', + 'DebugViewInstance', + 'DebugOnChangeRelation', + 'DebugOnChangeWithRelation', + 'RefreshDebugData', + 'OpenInitialFrame', + ] + + +def open_path(rel_path, patterns): + import trytond + new_path = [trytond.__file__, '..', '..'] + [x for x in rel_path] + new_path = os.path.abspath(os.path.join(*new_path)) + editor = os.environ.get('EDITOR', None) + if editor is None: + logging.getLogger().warning('No editor found, feature disabled') + if editor == 'nvim': + from neovim import attach + path = '/tmp/nvim_' + os.path.basename(os.environ.get('VIRTUAL_ENV', + os.environ.get('NVIM_LISTEN_ADDRESS', 'root'))) + '.sock' + nvim = attach('socket', path=path) + nvim.command('tabnew') + nvim.command('edit %s' % new_path) + prev_pos = nvim.eval("getpos('.')")[1] + for pattern_group in patterns: + for pattern in pattern_group: + nvim.command("execute search('%s', 'w')" % pattern) + new_pos = nvim.eval("getpos('.')")[1] + if new_pos != prev_pos: + prev_pos = new_pos + break + prev_pos = new_pos + nvim.command('execute "normal zO"') + else: + os.system(editor + ' ' + new_path + ' &') + return + + +class FieldInfo(ModelView): + 'Field Info' + + __name__ = 'ir.model.debug.model_info.field_info' + + name = fields.Char('Field name') + kind = fields.Char('Field type') + is_function = fields.Boolean('Is Function') + target_model = fields.Char('Target Model') + string = fields.Char('String') + state_required = fields.Text('State Required') + is_required = fields.Boolean('Is required') + state_readonly = fields.Text('State Readonly') + is_readonly = fields.Boolean('Is readonly') + state_invisible = fields.Text('State Invisible') + is_invisible = fields.Boolean('Is invisible') + has_domain = fields.Boolean('Has domain') + field_domain = fields.Text('Domain') + id_to_calculate = fields.Integer('Id To Calculate') + calculated_value = fields.Char('Calculated Value') + + +class ModelInfo(ModelView): + 'Model Name' + + __name__ = 'ir.model.debug.model_info' + + model_name = fields.Selection('get_possible_model_names', 'Model Name') + field_infos = fields.One2Many('ir.model.debug.model_info.field_info', + '', 'Fields Infos') + hide_functions = fields.Boolean('Hide Functions') + filter_value = fields.Selection([ + ('name', 'Name'), + ('kind', 'Kind'), + ('string', 'String')], 'Filter Value') + id_to_calculate = fields.Integer('Id To Calculate') + to_evaluate = fields.Char('To Evaluate', states={ + 'invisible': ~Bool(Eval('id_to_calculate', False))}, + help="Use the 'instance' keyword to get the instanciated model", + depends=['id_to_calculate']) + evaluation_result = fields.Text('Evaluation Result', states={ + 'invisible': ~Bool(Eval('id_to_calculate', False))}, + readonly=True, depends=['id_to_calculate']) + must_raise_exception = fields.Boolean('Must Raise Exception') + previous_runs = fields.Text('Previous runs', states={ + 'invisible': ~Bool(Eval('id_to_calculate', False))}, + readonly=True, depends=['id_to_calculate']) + + @classmethod + def __setup__(cls): + super(ModelInfo, cls).__setup__() + cls.__rpc__.update({ + 'raw_model_infos': RPC(), + 'raw_module_infos': RPC(), + 'raw_field_infos': RPC(), + }) + + @classmethod + def get_possible_model_names(cls): + pool = Pool() + return list([(x, x) for x in + pool._pool[pool.database_name]['model'].iterkeys()]) + + def get_field_info(self, field, field_name): + + info = Pool().get('ir.model.debug.model_info.field_info')() + info.name = field_name + info.string = field.string + if isinstance(field, fields.Function): + if self.hide_functions: + return None + info.is_function = True + real_field = field._field + else: + info.is_function = False + real_field = field + info.kind = real_field.__class__.__name__ + if isinstance(field, (fields.Many2One, fields.One2Many)): + info.target_model = field.model_name + elif isinstance(field, fields.Many2Many): + if field.target: + info.target_model = Pool().get(field.relation_name)._fields[ + field.target].model_name + else: + info.target_model = field.relation_name + else: + info.target_model = '' + for elem in ('required', 'readonly', 'invisible'): + setattr(info, 'is_%s' % elem, getattr(field, elem, False)) + setattr(info, 'state_%s' % elem, repr(field.states.get(elem, {}))) + field_domain = getattr(field, 'domain', None) + if field_domain: + info.has_domain = True + info.field_domain = repr(field_domain) + return info + + @classmethod + def default_filter_value(cls): + return 'name' + + @fields.depends('model_name', 'hide_functions', 'filter_value', + 'field_infos', 'id_to_calculate') + def on_change_filter_value(self): + self.recalculate_field_infos() + + @fields.depends('model_name', 'hide_functions', 'filter_value', + 'field_infos', 'id_to_calculate') + def on_change_hide_functions(self): + self.recalculate_field_infos() + + @fields.depends('model_name', 'hide_functions', 'filter_value', + 'field_infos', 'id_to_calculate') + def on_change_model_name(self): + self.to_evaluate = '' + self.evaluation_result = '' + self.recalculate_field_infos() + + @fields.depends('model_name', 'id_to_calculate', 'to_evaluate', + 'must_raise_exception', 'previous_runs') + def on_change_to_evaluate(self): + if not self.to_evaluate: + self.evaluation_result = '' + return + if not self.id_to_calculate or not self.model_name: + self.evaluation_result = '' + self.previous_runs = '' + return + if self.previous_runs: + previous_runs = self.previous_runs[1:].split( + '\n\n' + '#' * 20 + '\n\n') + else: + previous_runs = [''] + if previous_runs[0] != self.to_evaluate: + self.previous_runs = '\n' + ('\n\n' + '#' * 20 + '\n\n').join( + [self.to_evaluate] + [x for x in previous_runs if x]) + try: + context = { + 'instance': Pool().get(self.model_name)(self.id_to_calculate), + } + self.evaluation_result = pprint.pformat( + eval(self.to_evaluate, context)) + except Exception, exc: + if self.must_raise_exception: + raise + self.evaluation_result = 'ERROR: %s' % str(exc) + + def recalculate_field_infos(self): + self.field_infos = [] + if not self.model_name: + return + TargetModel = Pool().get(self.model_name) + all_fields_infos = [self.get_field_info(field, field_name) + for field_name, field in TargetModel._fields.iteritems()] + self.field_infos = sorted( + [x for x in all_fields_infos if x is not None], + key=lambda x: getattr(x, self.filter_value)) + if self.id_to_calculate: + for field in self.field_infos: + try: + field.calculated_value = str(getattr( + TargetModel(self.id_to_calculate), field.name)) + except Exception, exc: + field.calculated_value = 'ERROR: %s' % str(exc) + + @classmethod + def raw_field_info(cls, base_model, field_name): + if isinstance(base_model, basestring): + base_model = Pool().get(base_model) + field = base_model._fields[field_name] + result = { + 'name': field_name, + 'string': field.string, + } + result['is_function'] = False + if isinstance(field, fields.Function): + result['is_function'] = True + result['getter'] = field.getter + if field.setter: + result['setter'] = field.setter + if field.searcher: + result['searcher'] = field.searcher + field = field._field + result['kind'] = field.__class__.__name__ + if isinstance(field, (fields.Many2One, fields.One2Many)): + result['target_model'] = field.model_name + elif isinstance(field, fields.Many2Many): + if field.target: + result['target_model'] = Pool().get( + field.relation_name)._fields[field.target].model_name + else: + result['target_model'] = field.relation_name + if isinstance(field, fields.Selection): + if isinstance(field.selection, basestring): + result['selection_method'] = field.selection + else: + result['selection_values'] = dict([x + for x in field.selection if x[0]]) + for elem in ('required', 'readonly', 'invisible'): + result['is_%s' % elem] = getattr(field, elem, False) + result['state_%s' % elem] = repr(field.states.get(elem, {})) + for elem in ('on_change', 'on_change_with', 'default'): + result[elem] = hasattr(base_model, '%s_%s' % (elem, field_name)) + field_domain = getattr(field, 'domain', None) or None + result['has_domain'] = bool(field_domain) + if field_domain: + result['domain'] = repr(field_domain) + result['module'] = '' + for frame in base_model.__mro__[::-1]: + full_name = str(frame)[8:-2].split('.') + if len(full_name) < 2: + continue + if full_name[1] == 'modules': + result['module'] = full_name[2] + if getattr(frame, field_name, None) is not None: + break + return result + + @classmethod + def raw_field_infos(cls, models=None): + pool = Pool() + if models is None: + models = [x[0] for x in cls.get_possible_model_names()] + infos = cls.raw_model_infos(models) + for name in models: + base_model = pool.get(name) + infos[name]['fields'] = {} + for fname in base_model._fields: + infos[name]['fields'][fname] = cls.raw_field_info(base_model, + fname) + return infos + + @classmethod + def extract_mro(cls, model_class, model_name): + result, methods, first_occurence = {}, {}, False + for elem in dir(model_class): + if elem == 'on_change_with': + # Particular case + continue + if elem.startswith('__') and elem not in ('__register__', + '__setup__'): + continue + if not callable(getattr(model_class, elem)): + continue + for ftemplate in METHOD_TEMPLATES: + if elem.startswith(ftemplate): + methods[elem] = { + 'field': elem[len(ftemplate):], + '_function': None, + 'mro': {}, + } + break + else: + methods[elem] = { + 'field': '', + '_function': None, + 'mro': {}, + } + mro = model_class.__mro__ + + model_name_dots = len(model_name.split('.')) + for line in mro[::-1][1:]: + full_name = str(line)[8:-2].split('.') + if full_name[1] == 'pool': + continue + new_line = { + 'module': '', + 'override': 0, + 'initial': 0, + 'base_name': full_name[-1], + 'path': '.'.join(full_name[:-1]), + } + if full_name[1] == 'modules': + new_line['module'] = full_name[2] + if str(line)[:-2].endswith(model_name): + new_line['override'] = 1 if first_occurence else 0 + new_line['initial'] = 0 if first_occurence else 1 + new_line['base_name'] = model_name + new_line['path'] = '.'.join( + full_name[:-model_name_dots]) + first_occurence = True + result['% 3d' % (len(result) + 1)] = new_line + for mname, mvalues in methods.iteritems(): + cur_func = getattr(line, mname, None) + if not cur_func: + continue + key = getattr(cur_func, 'im_func', cur_func) + if key == mvalues['_function']: + continue + m_mro = dict(new_line) + m_mro['initial'] = 0 if len(mvalues['mro']) else 1 + m_mro['override'] = 1 if len(mvalues['mro']) else 0 + mvalues['mro']['% 3d' % ( + len(mvalues['mro']) + 1)] = m_mro + mvalues['_function'] = key + if m_mro['initial']: + try: + raw = inspect.getargspec(cur_func) + except: + # Functions which are actually partials are not + # inspectable + continue + mvalues['parameters'] = mname + inspect.formatargspec(*raw) + to_pop = [] + for mname, mvalues in methods.iteritems(): + if not mvalues['mro']: + to_pop.append(mname) + continue + if not mvalues['mro']['% 3d' % len(mvalues['mro'])]['module']: + to_pop.append(mname) + continue + mvalues.pop('_function') + for mname in to_pop: + methods.pop(mname) + return result, methods + + @classmethod + def extract_views(cls, model_class, model_name, model_data_cache): + pool = Pool() + View = pool.get('ir.ui.view') + views = {x.id: x for x in View.search([('model', '=', model_name)])} + master_views = {} + other_masters = defaultdict(list) + for view in views.itervalues(): + if not view.inherit: + master_views[view.id] = { + 'module': view.module or '', + 'type': view.type or '', + 'priority': view.priority or '', + 'field_childs': view.field_childs or '', + 'name': view.name or '', + 'functional_id': model_data_cache.get( + (view.module, view.id), view.name or ''), + 'inherit': [], + } + else: + other_masters[view.inherit.id].append(view) + + for view_id, children in other_masters.iteritems(): + if view_id not in views: + continue + if view_id not in master_views: + view = views[view_id] + master_views[view.id] = { + 'module': view.module or '', + 'type': view.type or '', + 'priority': view.priority or '', + 'field_childs': view.field_childs or '', + 'name': view.name or '', + 'functional_id': model_data_cache[(view.module, view.id)], + 'inherit': [], + } + for child in children: + master_views[view_id]['inherit'].append({ + 'module': child.module or '', + 'type': child.type or '', + 'priority': child.priority or '', + 'field_childs': child.field_childs or '', + 'functional_id': model_data_cache[(child.module, + child.id)], + 'name': child.name or master_views[view_id]['name'], + }) + + def view_sort(x): + if x not in model_class._modules_list: + return len(model_class._modules_list) + return model_class._modules_list.index(x['module']) + + master_views = {'% 3i' % idx: val + for idx, val in enumerate(sorted(master_views.values(), + key=view_sort))} + + for view in master_views.itervalues(): + if len(view['inherit']) == 0: + del view['inherit'] + continue + view['inherit'].sort(key=view_sort) + view['inherit'] = { + '% 3i' % idx: val for idx, val in enumerate(view['inherit'])} + return master_views + + @classmethod + def raw_model_infos(cls, models): + pool = Pool() + infos = {} + model_data = pool.get('ir.model.data').search([ + ('model', '=', 'ir.ui.view')]) + model_data_cache = {(x.module, x.db_id): x.fs_id for x in model_data} + for model_name in models: + Model = pool.get(model_name) + try: + string = Model._get_name() + except AssertionError: + # None type has no attribute splitlines + string = Model.__name__ + mro, methods = cls.extract_mro(Model, model_name) + infos[model_name] = { + 'string': string, + 'mro': mro, + 'methods': methods, + 'views': cls.extract_views(Model, model_name, + model_data_cache), + } + return infos + + @classmethod + def raw_module_infos(cls): + infos = {} + for module in Pool().get('ir.module').search([], + order=[('name', 'DESC')]): + infos[module.name] = { + 'state': module.state, + 'childs': [x.name for x in module.childs], + } + return infos + + +class DebugModel(Wizard): + 'Debug Model' + + __name__ = 'ir.model.debug' + + start_state = 'model_info' + model_info = StateView('ir.model.debug.model_info', + 'debug.model_info_view_form', + [Button('Quit', 'end', 'tryton-cancel')]) + + def default_model_info(self, name): + return { + 'model_name': Transaction().context.get('active_model', None), + 'id_to_calculate': Transaction().context.get('active_id', None), + 'hide_functions': False, + 'filter_value': 'name', + } + + +class VisualizeDebug(ModelView): + 'Debug Visualize' + + __name__ = 'debug.visualize' + + pyson = fields.Text('Pyson to Transform') + synch_model_data = fields.Boolean('Synchronise Model Data') + result = fields.Text('Result') + + +class Debug(Wizard): + 'Debug' + + __name__ = 'debug' + + start_state = 'run' + run = StateTransition() + display = StateView('debug.visualize', 'debug.visualize_view_form', + [Button('Quit', 'end', 'tryton-cancel'), + Button('Re-Run', 'run', 'tryton-go-next')]) + + def run_code(self): + # Run your code. return value will be wrote down in the display window + if self.display.synch_model_data: + return self.synch_model_data() + elif self.display.pyson: + return self.transform_pyson() + + def transform_pyson(self): + from trytond.pyson import Eval, Bool, Or, PYSONEncoder, And, Not # NOQA + encoded = PYSONEncoder().encode(eval(self.display.pyson)) + return ''.join([x if x != '"' else '"' for x in encoded]) + + def synch_model_data(self): + ModelData = Pool().get('ir.model.data') + to_sync = ModelData.search([('out_of_sync', '=', True)]) + nb_to_sync = len(to_sync) + if to_sync: + ModelData.sync(to_sync) + to_sync = ModelData.search([('out_of_sync', '=', True)]) + return 'Synchronised %s/%s model data' % (nb_to_sync - len(to_sync), + nb_to_sync) + + def transition_run(self): + return 'display' + + def default_display(self, name): + res = self.display._default_values + if not res: + return res + res.update({'result': self.run_code()}) + return res + + +class DebugModelInstance(ModelSQL, ModelView): + 'Model for debug' + + __name__ = 'debug.model' + + name = fields.Char('Name', select=True, readonly=True) + string = fields.Char('String', readonly=True) + mro = fields.One2Many('debug.model.mro', 'model', 'MRO', + order=[('order', 'ASC')]) + fields_ = fields.One2Many('debug.model.field', 'model', 'Fields', + order=[('name', 'ASC')]) + methods = fields.One2Many('debug.model.method', 'model', 'Methods', + order=[('name', 'ASC')]) + views = fields.One2Many('debug.model.view', 'model', 'Views', + order=[('order', 'ASC')]) + initial_module = fields.Function( + fields.Char('Declared in'), + 'get_initial_module') + initial_frame = fields.Function( + fields.Many2One('debug.model.mro', 'Initial Frame'), + 'get_initial_frame') + + @classmethod + def __setup__(cls): + super(DebugModelInstance, cls).__setup__() + cls._order.insert(0, ('name', 'ASC')) + cls.__rpc__.update({'refresh': RPC(readonly=False)}) + cls._buttons.update({'open_initial': {}}) + + def get_initial_frame(self, name): + return [x.id for x in self.mro if x.kind == 'initial'][0] + + def get_initial_module(self, name): + return [x.module for x in self.mro if x.kind == 'initial'][0] + + @classmethod + @ModelView.button_action('debug.act_open_initial') + def open_initial(cls, models): + pass + + @classmethod + def refresh(cls, name, models=None): + Model = Pool().get('debug.model') + + # Fetch current data + base_data = Pool().get('ir.model.debug.model_info').raw_field_infos( + models) + + # Delete all existing instances + cls.delete(cls.search([('name', 'in', base_data.keys())])) + + # Existing models + existing_models = {x.name: x for x in cls.search([])} + + # Import Models, MRO, Methods + for model_name, data in base_data.iteritems(): + logger.debug('Importing model %s' % model_name) + cls.import_model(model_name, data) + Model.save([x['__instance'] for x in base_data.values()]) + + # Import Fields + for model_name, data in base_data.iteritems(): + logger.debug('Importing fields for model %s' % model_name) + cls.import_fields(model_name, data, base_data, existing_models) + Model.save([x['__instance'] for x in base_data.values()]) + + # Import Views + for model_name, data in base_data.iteritems(): + logger.debug('Importing views for model %s' % model_name) + cls.import_views(model_name, data, base_data) + Model.save([x['__instance'] for x in base_data.values()]) + + # Finalize fields + cls.finalize_fields(base_data) + Model.save([x['__instance'] for x in base_data.values()]) + + @classmethod + def import_model(cls, model_name, data): + pool = Pool() + Model = pool.get('debug.model') + MRO = pool.get('debug.model.mro') + Method = pool.get('debug.model.method') + MethodMRO = pool.get('debug.model.method.mro') + new_model = Model() + new_model.name = model_name + new_model.string = data['string'] + + mro_lines = [] + for order, mro_data in data['mro'].items(): + mro = MRO() + mro.order = int(order.replace(' ', '')) + mro.base_name = mro_data['base_name'] + mro.module = mro_data['module'] + if mro_data['override']: + mro.kind = 'override' + elif mro_data['initial']: + mro.kind = 'initial' + else: + mro.kind = '' + mro.path = mro_data['path'] + mro_lines.append(mro) + new_model.mro = mro_lines + + methods = [] + for method_name, method_data in data['methods'].items(): + method = Method() + method.name = method_name + + mro_lines = [] + for order, mro_data in method_data['mro'].items(): + mro = MethodMRO() + mro.order = int(order.replace(' ', '')) + mro.base_name = mro_data['base_name'] + mro.module = mro_data['module'] + if mro_data['override']: + mro.kind = 'override' + elif mro_data['initial']: + mro.kind = 'initial' + else: + mro.kind = '' + mro.path = mro_data['path'] + mro_lines.append(mro) + method.mro = mro_lines + methods.append(method) + new_model.methods = methods + data['__instance'] = new_model + + @classmethod + def import_fields(cls, model_name, data, full_data, existing_models): + model = full_data[model_name]['__instance'] + methods = {x.name: x for x in model.methods} + + Field = Pool().get('debug.model.field') + fields = [] + for field_name, field_data in data['fields'].items(): + field = Field() + field.name = field_name + field.module = field_data['module'] + field.string = field_data['string'] + field.kind = field_data['kind'] + field.function = field_data['is_function'] + if field_data.get('target_model', None): + if field_data['target_model'] in existing_models: + field.target_model = existing_models[ + field_data['target_model']] + else: + field.target_model = full_data[field_data['target_model']][ + '__instance'] + field.default_method = methods.get( + 'default_%s' % field_name, None) + field.on_change_method = methods.get( + 'on_change_%s' % field_name, None) + field.on_change_with_method = methods.get( + 'on_change_with_%s' % field_name, None) + field.order_method = methods.get( + 'order_%s' % field_name, None) + field.selection_method = methods.get( + field_data.get('selection_method', None), None) + field.getter = methods.get( + field_data.get('getter', None), None) + field.setter = methods.get( + field_data.get('setter', None), None) + field.searcher = methods.get( + field_data.get('searcher', None), None) + if field_data.get('selection_values', None): + field.selection_values = '\n'.join( + ['%s :%s' % (k, v) + for k, v in field_data['selection_values'].items()]) + field.domain = field_data.get('domain', '') + field.invisible = field_data.get('state_invisible', '') + field.required = 'True' if field_data['is_required'] else \ + field_data.get('state_required') + field.readonly = 'True' if field_data['is_readonly'] else \ + field_data.get('state_readonly') + fields.append(field) + full_data[model_name]['__instance'].fields_ = fields + + @classmethod + def import_views(cls, model_name, data, full_data): + View = Pool().get('debug.model.view') + model = full_data[model_name]['__instance'] + fields = {x.name: x for x in model.fields_} + + def import_view(view_data): + view = View() + view.module = view_data['module'] + view.name = view_data['name'] + view.functional_id = view_data['functional_id'] + view.kind = view_data['type'] or 'inherit' + view.priority = view_data['priority'] + if view_data.get('field_childs', None): + view.field_childs = fields[view_data['field_childs']] + sub_views = [] + for order, sub_view in view_data.get('inherit', {}).items(): + sub_views.append(import_view(sub_view)) + sub_views[-1].order = int(order.replace(' ', '')) + view.inherit = sub_views + return view + + views = [] + for order, view_data in data['views'].items(): + views.append(import_view(view_data)) + views[-1].order = int(order.replace(' ', '')) + full_data[model_name]['__instance'].views = views + + @classmethod + def finalize_fields(cls, full_data): + pool = Pool() + Field = pool.get('debug.model.field') + + for model_instance in [x['__instance'] for x in full_data.values()]: + Model = pool.get(model_instance.name) + cur_data = full_data[model_instance.name] + fields = {x.name: Field(x.id) + for x in cur_data['__instance'].fields_} + for field in model_instance.fields_: + if field.on_change_method: + on_change_fields = [] + for fname in getattr(getattr(Model, + field.on_change_method.name), 'depends', []): + if fname.startswith('_parent_'): + continue + fname = fname.split('.')[0] + if fname not in fields: + logging.getLogger().warning( + 'Cannot find field %s on %s for on_change_%s' % + (fname, model_instance.name, field.name)) + else: + on_change_fields.append(fields[fname]) + field.on_change_fields = on_change_fields + if field.on_change_with_method: + on_change_with_fields = [] + for fname in getattr(getattr(Model, + field.on_change_with_method.name), + 'depends', []): + if fname.startswith('_parent_'): + continue + fname = fname.split('.')[0] + if fname not in fields: + logging.getLogger().warning('Cannot find field %s ' + 'on %s for on_change_with_%s' % ( + fname, model_instance.name, field.name)) + else: + on_change_with_fields.append(fields[fname]) + field.on_change_with_fields = on_change_with_fields + model_instance.fields_ = list(model_instance.fields_) + + +class DebugMROInstance(ModelSQL, ModelView): + 'Model MRO for debug' + + __name__ = 'debug.model.mro' + + model = fields.Many2One('debug.model', 'model', select=True, required=True, + ondelete='CASCADE') + order = fields.Integer('Order', readonly=True) + base_name = fields.Char('Base Name', readonly=True) + module = fields.Char('Module', readonly=True) + kind = fields.Selection([('', ''), ('initial', 'Initial'), + ('override', 'Override')], 'Kind', readonly=True) + path = fields.Char('Path', readonly=True) + + @classmethod + def __setup__(cls): + super(DebugMROInstance, cls).__setup__() + cls._buttons.update({'open_file': {}}) + + @classmethod + @ModelView.button + def open_file(cls, mros): + assert len(mros) == 1 + file_path = mros[0].path.split('.') + file_path[-1] += '.py' + open_path(file_path, [('^class ' + mros[0].base_name, + '^ *__name__ = .%s.' % mros[0].model.name)]) + + +class DebugFieldInstance(ModelSQL, ModelView): + 'Model field for debug' + + __name__ = 'debug.model.field' + + model = fields.Many2One('debug.model', 'model', select=True, required=True, + ondelete='CASCADE') + name = fields.Char('Name', select=True, readonly=True) + module = fields.Char('Module', readonly=True) + string = fields.Char('String', readonly=True) + kind = fields.Char('Kind', readonly=True) + function = fields.Boolean('Function', readonly=True) + target_model = fields.Many2One('debug.model', 'Target Model', + ondelete='SET NULL', states={'invisible': ~Eval('target_model')}, + depends=['target_model'], readonly=True) + selection_method = fields.Many2One('debug.model.method', + 'Selection Method', ondelete='SET NULL', + states={'invisible': ~Eval('selection_method')}, + depends=['selection_method'], readonly=True) + selection_values = fields.Text('Selection Values', states={'invisible': + ~Eval('selection_values')}, depends=['selection_values'], + readonly=True) + domain = fields.Text('Domain', readonly=True) + invisible = fields.Text('Invisible', readonly=True) + readonly = fields.Text('Readonly', readonly=True) + required = fields.Text('Required', readonly=True) + default_method = fields.Many2One('debug.model.method', 'Default Method', + ondelete='SET NULL', readonly=True) + on_change_method = fields.Many2One('debug.model.method', + 'On Change Method', ondelete='SET NULL', readonly=True) + on_change_with_method = fields.Many2One('debug.model.method', + 'On Change With Method', ondelete='SET NULL', readonly=True) + order_method = fields.Many2One('debug.model.method', 'Order Method', + ondelete='SET NULL', readonly=True) + getter = fields.Many2One('debug.model.method', 'Getter', + ondelete='SET NULL', states={'invisible': ~Eval('getter')}, + depends=['getter'], readonly=True) + setter = fields.Many2One('debug.model.method', 'Setter', + ondelete='SET NULL', states={'invisible': ~Eval('setter')}, + depends=['setter'], readonly=True) + searcher = fields.Many2One('debug.model.method', 'Searcher', + ondelete='SET NULL', states={'invisible': ~Eval('searcher')}, + depends=['searcher'], readonly=True) + on_change_fields = fields.Many2Many('debug.model.field.on_change', + 'from_field', 'to_field', 'On Change Fields', readonly=True) + on_change_with_fields = fields.Many2Many( + 'debug.model.field.on_change_with', 'from_field', 'to_field', + 'On Change With Fields', readonly=True) + + @classmethod + def __setup__(cls): + super(DebugFieldInstance, cls).__setup__() + cls._order.insert(0, ('name', 'ASC')) + + +class DebugMethodInstance(ModelSQL, ModelView): + 'Model method for debug' + + __name__ = 'debug.model.method' + + model = fields.Many2One('debug.model', 'name', select=True, required=True, + ondelete='CASCADE') + name = fields.Char('Name', select=True, readonly=True) + mro = fields.One2Many('debug.model.method.mro', 'method', 'MRO', + order=[('order', 'ASC')]) + initial_frame = fields.Function( + fields.Many2One('debug.model.method.mro', 'Initial Frame'), + 'get_initial_frame') + + @classmethod + def __setup__(cls): + super(DebugMethodInstance, cls).__setup__() + cls._order.insert(0, ('name', 'ASC')) + cls._buttons.update({'open_initial': {}}) + + def get_initial_frame(self, name): + return [x.id for x in self.mro if x.kind == 'initial'][0] + + @classmethod + @ModelView.button_action('debug.act_open_initial') + def open_initial(cls, models): + pass + + +class DebugMethodMROInstance(ModelSQL, ModelView): + 'Method MRO for debug' + + __name__ = 'debug.model.method.mro' + + method = fields.Many2One('debug.model.method', 'method', select=True, + required=True, ondelete='CASCADE') + order = fields.Integer('Order', readonly=True) + base_name = fields.Char('Base Name', readonly=True) + module = fields.Char('Module', readonly=True) + kind = fields.Selection([('', ''), ('initial', 'Initial'), + ('override', 'Override')], 'Kind', readonly=True) + path = fields.Char('Path', readonly=True) + + @classmethod + def __setup__(cls): + super(DebugMethodMROInstance, cls).__setup__() + cls._buttons.update({'open_file': {}}) + + @classmethod + @ModelView.button + def open_file(cls, mros): + assert len(mros) == 1 + file_path = mros[0].path.split('.') + file_path[-1] += '.py' + open_path(file_path, [('^class ' + mros[0].base_name, + '^ *__name__ = .%s.' % mros[0].method.model.name), + ('^ *def ' + mros[0].method.name + '\((\|$\)',)]) + + +class DebugViewInstance(ModelSQL, ModelView): + 'Model view for debug' + + __name__ = 'debug.model.view' + + model = fields.Many2One('debug.model', 'model', select=True, + ondelete='CASCADE') + parent_view = fields.Many2One('debug.model.view', 'Parent View', + select=True, ondelete='CASCADE', readonly=True) + name = fields.Char('File Name', select=True, readonly=True) + functional_id = fields.Char('Functional Id', readonly=True) + module = fields.Char('Module', readonly=True) + kind = fields.Selection([('form', 'Form'), ('tree', 'Tree'), + ('board', 'Board'), ('inherit', 'Inherit'), ('graph', 'Graph')], + 'Kind', readonly=True) + priority = fields.Integer('Priority', readonly=True) + order = fields.Integer('Order', readonly=True) + field_childs = fields.Many2One('debug.model.field', 'Fields Childs', + ondelete='SET NULL', readonly=True) + inherit = fields.One2Many('debug.model.view', 'parent_view', 'Inherit', + order=[('order', 'ASC')], readonly=True) + + @classmethod + def __setup__(cls): + super(DebugViewInstance, cls).__setup__() + cls._order.insert(0, ('name', 'ASC')) + cls._buttons.update({'open_file': {}}) + + @classmethod + @ModelView.button + def open_file(cls, views): + assert len(views) == 1 + open_path(['trytond', 'modules', views[0].module, 'view', + views[0].name + '.xml'], []) + + +class DebugOnChangeRelation(ModelSQL, ModelView): + 'On Change Relation for debug' + + __name__ = 'debug.model.field.on_change' + + from_field = fields.Many2One('debug.model.field', 'From Field', + required=True, select=True, ondelete='CASCADE') + to_field = fields.Many2One('debug.model.field', 'From Field', + required=True, select=True, ondelete='CASCADE') + + +class DebugOnChangeWithRelation(ModelSQL, ModelView): + 'On Change With Relation for debug' + + __name__ = 'debug.model.field.on_change_with' + + from_field = fields.Many2One('debug.model.field', 'From Field', + required=True, select=True, ondelete='CASCADE') + to_field = fields.Many2One('debug.model.field', 'From Field', + required=True, select=True, ondelete='CASCADE') + + +class RefreshDebugData(Wizard): + 'Refresh Debug Data' + + __name__ = 'debug.refresh' + + start_state = 'refresh' + refresh = StateTransition() + + def transition_refresh(self): + with Transaction().set_user(0): + Pool().get('debug.model').refresh(None) + return 'end' + + +class OpenInitialFrame(Wizard): + 'Open Initial Frame' + + __name__ = 'debug.open_initial' + + start_state = 'open_frame' + open_frame = StateTransition() + + def transition_open_frame(self): + active_model = Transaction().context.get('active_model') + assert active_model in ('debug.model', 'debug.model.method') + Model = Pool().get(active_model) + instance = Model(Transaction().context.get('active_id')) + instance.initial_frame.open_file([instance.initial_frame]) + return 'end' diff --git a/coopengo_modules/debug/debug.xml b/coopengo_modules/debug/debug.xml new file mode 100644 index 00000000000..c4979d2dcb1 --- /dev/null +++ b/coopengo_modules/debug/debug.xml @@ -0,0 +1,322 @@ + + + + + + + + + + + ir.model.debug.model_info.field_info + form + field_info_form + + + ir.model.debug.model_info.field_info + tree + field_info_list + + + + + + ir.model.debug.model_info + form + model_info_form + + + + + + Debug Model + ir.model.debug + True + + + form_action + ir.model,-1 + + + + + + + + + debug.visualize + form + visualize_form + + + + + + Debug + debug + True + + + + + + + debug.model + form + debug_model_form + + + debug.model + tree + debug_model_list + + + + Debug Model + debug.model + + + + + + + + + + + + + + + + + + + + + + + + + debug.model.field + form + debug_model_field_form + + + debug.model.field + tree + debug_model_field_list + + + + Fields + debug.model.field + + + + + + + + + + + + + + + + + + + + + + + + + debug.model.method + form + debug_model_method_form + + + debug.model.method + tree + debug_model_method_list + + + + Methods + debug.model.method + + + + + + + + + + + + + + + + + + + + + + + + + debug.model.view + form + debug_model_view_form + + + debug.model.view + tree + inherit + debug_model_view_list + + + + Views + debug.model.view + + + + + + + + + + + + + + + + + + + + + + + + + debug.model.mro + form + debug_model_mro_form + + + debug.model.mro + tree + debug_model_mro_list + + + + + + + + + + + + Open MRO + debug.model.mro + + + + + + + + + + + + + + + form_relate + debug.model,-1 + + + + + + + debug.model.method.mro + form + debug_model_mro_form + + + debug.model.method.mro + tree + debug_model_mro_list + + + + + + + + + + + + Open MRO + debug.model.method.mro + + + + + + + + + + + + + + + form_relate + debug.model.method,-1 + + + + + + + Refresh Debug Data + debug.refresh + + + + + + + Open Initial Frame + debug.open_initial + + + form_action + debug.model,-1 + + + + form_action + debug.model.method,-1 + + + + diff --git a/coopengo_modules/debug/doc/fr/features.rst b/coopengo_modules/debug/doc/fr/features.rst new file mode 100644 index 00000000000..bd8018a7b7d --- /dev/null +++ b/coopengo_modules/debug/doc/fr/features.rst @@ -0,0 +1,16 @@ +- **Visualisation des modèles :** Un point d'entrée dans l'application permet + de consulter pour n'importe quel modèle la liste des champs rattachés, ainsi + que leurs caractéristiques principales. Cette fonctionnalité permet de + vérifier quelles sont ces caractéristiques facilement, en fonction de la + base de données sur laquelle le serveur est branché. + +- **Calcul des valeurs :** Lors de la création des courriers, il est souvent + indispensable de vérifier la sortie et le format de chaque champs pour + s'assurer que le rendu correspond bien à ce qui est attendu. Le point + d'entrée *Débogage des modèles* donne accès à un mini moteur d'évaluation + qui permet d'évaluer le contenu des champs d'un record donné. + +- **API d'exploration :** Afin de faciliter l'interfaçage avec des IDE, ce + module ajoute des fonctions appelables par web-service permettant de lire + la structure du code. Cela inclut les modèles, champs, méthodes et vues de + l'application. diff --git a/coopengo_modules/debug/doc/fr/index.rst b/coopengo_modules/debug/doc/fr/index.rst new file mode 100644 index 00000000000..43df4bd3d96 --- /dev/null +++ b/coopengo_modules/debug/doc/fr/index.rst @@ -0,0 +1,21 @@ +.. core_coog + +Debugging des données +===================== + +Résumé +------ + +.. include:: summary.rst + +Fonctionnalités +--------------- + +.. include:: features.rst + + +.. toctree:: + :hidden: + + summary.rst + features.rst diff --git a/coopengo_modules/debug/doc/fr/summary.rst b/coopengo_modules/debug/doc/fr/summary.rst new file mode 100644 index 00000000000..c46a25a3918 --- /dev/null +++ b/coopengo_modules/debug/doc/fr/summary.rst @@ -0,0 +1,4 @@ +Ce module est principalement destiné au développeur et aux utilisateurs +développant des courriers. Il permet d'afficher des informations relatives à la +structure de données directement dans l'application, et de consulter les +valeurs fonctionnelles des records. diff --git a/coopengo_modules/debug/locale/fr_FR.po b/coopengo_modules/debug/locale/fr_FR.po new file mode 100644 index 00000000000..ad93cf82f1c --- /dev/null +++ b/coopengo_modules/debug/locale/fr_FR.po @@ -0,0 +1,835 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:debug.model,create_date:" +msgid "Create Date" +msgstr "Date de création" + +msgctxt "field:debug.model,create_uid:" +msgid "Create User" +msgstr "Créé par" + +msgctxt "field:debug.model,fields_:" +msgid "Fields" +msgstr "Champs" + +msgctxt "field:debug.model,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:debug.model,initial_frame:" +msgid "Initial Frame" +msgstr "Définition initiale" + +msgctxt "field:debug.model,initial_module:" +msgid "Declared in" +msgstr "Déclaré dans" + +msgctxt "field:debug.model,methods:" +msgid "Methods" +msgstr "Méthodes" + +msgctxt "field:debug.model,mro:" +msgid "MRO" +msgstr "Héritage" + +msgctxt "field:debug.model,name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model,rec_name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model,string:" +msgid "String" +msgstr "Nom long" + +msgctxt "field:debug.model,views:" +msgid "Views" +msgstr "Vues" + +msgctxt "field:debug.model,write_date:" +msgid "Write Date" +msgstr "Date de mise à jour" + +msgctxt "field:debug.model,write_uid:" +msgid "Write User" +msgstr "Mis à jour par" + +msgctxt "field:debug.model.field,create_date:" +msgid "Create Date" +msgstr "Date de création" + +msgctxt "field:debug.model.field,create_uid:" +msgid "Create User" +msgstr "Créé par" + +msgctxt "field:debug.model.field,default_method:" +msgid "Default Method" +msgstr "Méthode par défaut" + +msgctxt "field:debug.model.field,domain:" +msgid "Domain" +msgstr "Domaine" + +msgctxt "field:debug.model.field,function:" +msgid "Function" +msgstr "Fonction" + +msgctxt "field:debug.model.field,getter:" +msgid "Getter" +msgstr "Getter" + +msgctxt "field:debug.model.field,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:debug.model.field,invisible:" +msgid "Invisible" +msgstr "Invisible" + +msgctxt "field:debug.model.field,kind:" +msgid "Kind" +msgstr "Type" + +msgctxt "field:debug.model.field,model:" +msgid "model" +msgstr "Modèle" + +msgctxt "field:debug.model.field,name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model.field,on_change_fields:" +msgid "On Change Fields" +msgstr "Champs du on_change" + +msgctxt "field:debug.model.field,on_change_method:" +msgid "On Change Method" +msgstr "Méthode on_change" + +msgctxt "field:debug.model.field,on_change_with_fields:" +msgid "On Change With Fields" +msgstr "Champs du on_change_with" + +msgctxt "field:debug.model.field,on_change_with_method:" +msgid "On Change With Method" +msgstr "Méthode on_change_with" + +msgctxt "field:debug.model.field,order_method:" +msgid "Order Method" +msgstr "Méthode d'ordre" + +msgctxt "field:debug.model.field,readonly:" +msgid "Readonly" +msgstr "Lecture seule" + +msgctxt "field:debug.model.field,rec_name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model.field,required:" +msgid "Required" +msgstr "Requis" + +msgctxt "field:debug.model.field,searcher:" +msgid "Searcher" +msgstr "Searcher" + +msgctxt "field:debug.model.field,selection_method:" +msgid "Selection Method" +msgstr "Méthode de sélection" + +msgctxt "field:debug.model.field,selection_values:" +msgid "Selection Values" +msgstr "Valeurs de sélection" + +msgctxt "field:debug.model.field,setter:" +msgid "Setter" +msgstr "Setter" + +msgctxt "field:debug.model.field,string:" +msgid "String" +msgstr "Nom long" + +msgctxt "field:debug.model.field,target_model:" +msgid "Target Model" +msgstr "Modèle cible" + +msgctxt "field:debug.model.field,write_date:" +msgid "Write Date" +msgstr "Date de mise à jour" + +msgctxt "field:debug.model.field,write_uid:" +msgid "Write User" +msgstr "Mis à jour par" + +msgctxt "field:debug.model.field.on_change,create_date:" +msgid "Create Date" +msgstr "Date de création" + +msgctxt "field:debug.model.field.on_change,create_uid:" +msgid "Create User" +msgstr "Créé par" + +msgctxt "field:debug.model.field.on_change,from_field:" +msgid "From Field" +msgstr "De" + +msgctxt "field:debug.model.field.on_change,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:debug.model.field.on_change,rec_name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model.field.on_change,to_field:" +msgid "From Field" +msgstr "Vers" + +msgctxt "field:debug.model.field.on_change,write_date:" +msgid "Write Date" +msgstr "Date de mise à jour" + +msgctxt "field:debug.model.field.on_change,write_uid:" +msgid "Write User" +msgstr "Mis à jour par" + +msgctxt "field:debug.model.field.on_change_with,create_date:" +msgid "Create Date" +msgstr "Date de création" + +msgctxt "field:debug.model.field.on_change_with,create_uid:" +msgid "Create User" +msgstr "Créé par" + +msgctxt "field:debug.model.field.on_change_with,from_field:" +msgid "From Field" +msgstr "De" + +msgctxt "field:debug.model.field.on_change_with,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:debug.model.field.on_change_with,rec_name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model.field.on_change_with,to_field:" +msgid "From Field" +msgstr "Vers" + +msgctxt "field:debug.model.field.on_change_with,write_date:" +msgid "Write Date" +msgstr "Date de mise à jour" + +msgctxt "field:debug.model.field.on_change_with,write_uid:" +msgid "Write User" +msgstr "Mis à jour par" + +msgctxt "field:debug.model.method,create_date:" +msgid "Create Date" +msgstr "Date de création" + +msgctxt "field:debug.model.method,create_uid:" +msgid "Create User" +msgstr "Créé par" + +msgctxt "field:debug.model.method,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:debug.model.method,initial_frame:" +msgid "Initial Frame" +msgstr "Définition initiale" + +msgctxt "field:debug.model.method,model:" +msgid "name" +msgstr "nom" + +msgctxt "field:debug.model.method,mro:" +msgid "MRO" +msgstr "Héritage" + +msgctxt "field:debug.model.method,name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model.method,rec_name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model.method,write_date:" +msgid "Write Date" +msgstr "Date de mise à jour" + +msgctxt "field:debug.model.method,write_uid:" +msgid "Write User" +msgstr "Mis à jour par" + +msgctxt "field:debug.model.method.mro,base_name:" +msgid "Base Name" +msgstr "Nom" + +msgctxt "field:debug.model.method.mro,create_date:" +msgid "Create Date" +msgstr "Date de création" + +msgctxt "field:debug.model.method.mro,create_uid:" +msgid "Create User" +msgstr "Créé par" + +msgctxt "field:debug.model.method.mro,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:debug.model.method.mro,kind:" +msgid "Kind" +msgstr "Type" + +msgctxt "field:debug.model.method.mro,method:" +msgid "method" +msgstr "Méthode" + +msgctxt "field:debug.model.method.mro,module:" +msgid "Module" +msgstr "Module" + +msgctxt "field:debug.model.method.mro,order:" +msgid "Order" +msgstr "Ordre" + +msgctxt "field:debug.model.method.mro,path:" +msgid "Path" +msgstr "Chemin" + +msgctxt "field:debug.model.method.mro,rec_name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model.method.mro,write_date:" +msgid "Write Date" +msgstr "Date de mise à jour" + +msgctxt "field:debug.model.method.mro,write_uid:" +msgid "Write User" +msgstr "Mis à jour par" + +msgctxt "field:debug.model.mro,base_name:" +msgid "Base Name" +msgstr "Nom" + +msgctxt "field:debug.model.mro,create_date:" +msgid "Create Date" +msgstr "Date de création" + +msgctxt "field:debug.model.mro,create_uid:" +msgid "Create User" +msgstr "Créé par" + +msgctxt "field:debug.model.mro,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:debug.model.mro,kind:" +msgid "Kind" +msgstr "Type" + +msgctxt "field:debug.model.mro,model:" +msgid "model" +msgstr "Modèle" + +msgctxt "field:debug.model.mro,module:" +msgid "Module" +msgstr "Module" + +msgctxt "field:debug.model.mro,order:" +msgid "Order" +msgstr "Ordre" + +msgctxt "field:debug.model.mro,path:" +msgid "Path" +msgstr "Chemin" + +msgctxt "field:debug.model.mro,rec_name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model.mro,write_date:" +msgid "Write Date" +msgstr "Date de mise à jour" + +msgctxt "field:debug.model.mro,write_uid:" +msgid "Write User" +msgstr "Mis à jour par" + +msgctxt "field:debug.model.view,create_date:" +msgid "Create Date" +msgstr "Date de création" + +msgctxt "field:debug.model.view,create_uid:" +msgid "Create User" +msgstr "Créé par" + +msgctxt "field:debug.model.view,field_childs:" +msgid "Fields Childs" +msgstr "Enfant" + +msgctxt "field:debug.model.view,functional_id:" +msgid "Functional Id" +msgstr "Id fonctionnel" + +msgctxt "field:debug.model.view,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:debug.model.view,inherit:" +msgid "Inherit" +msgstr "Sous-vues" + +msgctxt "field:debug.model.view,kind:" +msgid "Kind" +msgstr "Type" + +msgctxt "field:debug.model.view,model:" +msgid "model" +msgstr "Modèle" + +msgctxt "field:debug.model.view,module:" +msgid "Module" +msgstr "Module" + +msgctxt "field:debug.model.view,name:" +msgid "File Name" +msgstr "Nom du fichier" + +msgctxt "field:debug.model.view,order:" +msgid "Order" +msgstr "Ordre" + +msgctxt "field:debug.model.view,parent_view:" +msgid "Parent View" +msgstr "Vue parente" + +msgctxt "field:debug.model.view,priority:" +msgid "Priority" +msgstr "Priorité" + +msgctxt "field:debug.model.view,rec_name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:debug.model.view,write_date:" +msgid "Write Date" +msgstr "Date de mise à jour" + +msgctxt "field:debug.model.view,write_uid:" +msgid "Write User" +msgstr "Mis à jour par" + +msgctxt "field:debug.visualize,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:debug.visualize,pyson:" +msgid "Pyson to Transform" +msgstr "Pyson à mettre à transformer" + +msgctxt "field:debug.visualize,result:" +msgid "Result" +msgstr "Résultat" + +msgctxt "field:debug.visualize,synch_model_data:" +msgid "Synchronise Model Data" +msgstr "Synchroniser les Model Data" + +msgctxt "field:ir.model.debug.model_info,evaluation_result:" +msgid "Evaluation Result" +msgstr "Résultat" + +msgctxt "field:ir.model.debug.model_info,field_infos:" +msgid "Fields Infos" +msgstr "Infos sur le champ" + +msgctxt "field:ir.model.debug.model_info,filter_value:" +msgid "Filter Value" +msgstr "Filtrer par" + +msgctxt "field:ir.model.debug.model_info,hide_functions:" +msgid "Hide Functions" +msgstr "Cacher les champs fonction" + +msgctxt "field:ir.model.debug.model_info,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:ir.model.debug.model_info,id_to_calculate:" +msgid "Id To Calculate" +msgstr "Id à calculer" + +msgctxt "field:ir.model.debug.model_info,model_name:" +msgid "Model Name" +msgstr "Nom du modèle" + +msgctxt "field:ir.model.debug.model_info,must_raise_exception:" +msgid "Must Raise Exception" +msgstr "Doit lever une erreur" + +msgctxt "field:ir.model.debug.model_info,previous_runs:" +msgid "Previous runs" +msgstr "Exécutions précédentes" + +msgctxt "field:ir.model.debug.model_info,to_evaluate:" +msgid "To Evaluate" +msgstr "A évaluer" + +msgctxt "field:ir.model.debug.model_info.field_info,calculated_value:" +msgid "Calculated Value" +msgstr "Valeur calculée" + +msgctxt "field:ir.model.debug.model_info.field_info,field_domain:" +msgid "Domain" +msgstr "Domaine" + +msgctxt "field:ir.model.debug.model_info.field_info,has_domain:" +msgid "Has domain" +msgstr "A un domaine" + +msgctxt "field:ir.model.debug.model_info.field_info,id:" +msgid "ID" +msgstr "Id" + +msgctxt "field:ir.model.debug.model_info.field_info,id_to_calculate:" +msgid "Id To Calculate" +msgstr "Id à calculer" + +msgctxt "field:ir.model.debug.model_info.field_info,is_function:" +msgid "Is Function" +msgstr "Est un champ fonction" + +msgctxt "field:ir.model.debug.model_info.field_info,is_invisible:" +msgid "Is invisible" +msgstr "Est invisible" + +msgctxt "field:ir.model.debug.model_info.field_info,is_readonly:" +msgid "Is readonly" +msgstr "Est readonly" + +msgctxt "field:ir.model.debug.model_info.field_info,is_required:" +msgid "Is required" +msgstr "Est requis" + +msgctxt "field:ir.model.debug.model_info.field_info,kind:" +msgid "Field type" +msgstr "Type de champ" + +msgctxt "field:ir.model.debug.model_info.field_info,name:" +msgid "Field name" +msgstr "Nom du champ" + +msgctxt "field:ir.model.debug.model_info.field_info,state_invisible:" +msgid "State Invisible" +msgstr "Invisible" + +msgctxt "field:ir.model.debug.model_info.field_info,state_readonly:" +msgid "State Readonly" +msgstr "Readonly" + +msgctxt "field:ir.model.debug.model_info.field_info,state_required:" +msgid "State Required" +msgstr "Requis" + +msgctxt "field:ir.model.debug.model_info.field_info,string:" +msgid "String" +msgstr "Nom long" + +msgctxt "field:ir.model.debug.model_info.field_info,target_model:" +msgid "Target Model" +msgstr "Modèle cible" + +msgctxt "help:ir.model.debug.model_info,to_evaluate:" +msgid "Use the 'instance' keyword to get the instanciated model" +msgstr "Utillisez le mot-clé \"instance\" pour accéder à la donnée" + +msgctxt "model:debug.model,name:" +msgid "Model for debug" +msgstr "Modèle" + +msgctxt "model:debug.model.field,name:" +msgid "Model field for debug" +msgstr "Champ" + +msgctxt "model:debug.model.field.on_change,name:" +msgid "On Change Relation for debug" +msgstr "Relation entre champs pour on_change" + +msgctxt "model:debug.model.field.on_change_with,name:" +msgid "On Change With Relation for debug" +msgstr "Relation entre champs pour on_change_with" + +msgctxt "model:debug.model.method,name:" +msgid "Model method for debug" +msgstr "Méthode" + +msgctxt "model:debug.model.method.mro,name:" +msgid "Method MRO for debug" +msgstr "Héritage de méthode" + +msgctxt "model:debug.model.mro,name:" +msgid "Model MRO for debug" +msgstr "Héritage" + +msgctxt "model:debug.model.view,name:" +msgid "Model view for debug" +msgstr "Vue" + +msgctxt "model:debug.visualize,name:" +msgid "Debug Visualize" +msgstr "Résultat d'exécution" + +msgctxt "model:ir.action,name:act_debug" +msgid "Debug" +msgstr "Debug" + +msgctxt "model:ir.action,name:act_debug_model" +msgid "Debug Model" +msgstr "Modèles" + +msgctxt "model:ir.action,name:act_debug_model_field" +msgid "Fields" +msgstr "Champs" + +msgctxt "model:ir.action,name:act_debug_model_method" +msgid "Methods" +msgstr "Méthodes" + +msgctxt "model:ir.action,name:act_debug_model_view" +msgid "Views" +msgstr "Vues" + +msgctxt "model:ir.action,name:act_model_debug" +msgid "Debug Model" +msgstr "Modèles" + +msgctxt "model:ir.action,name:act_open_initial" +msgid "Open Initial Frame" +msgstr "Ouvrir la définition" + +msgctxt "model:ir.action,name:act_open_model_method_mro" +msgid "Open MRO" +msgstr "Ouvrir le MRO" + +msgctxt "model:ir.action,name:act_open_model_mro" +msgid "Open MRO" +msgstr "Ouvrir le MRO" + +msgctxt "model:ir.action,name:act_refresh" +msgid "Refresh Debug Data" +msgstr "Rafraîchir les informations de debug" + +msgctxt "model:ir.model.debug.model_info,name:" +msgid "Model Name" +msgstr "Nom du modèle" + +msgctxt "model:ir.model.debug.model_info.field_info,name:" +msgid "Field Info" +msgstr "Infos sur le champ" + +msgctxt "model:ir.ui.menu,name:menu_debug" +msgid "Debug" +msgstr "Debug" + +msgctxt "model:ir.ui.menu,name:menu_debug_data" +msgid "Debug Data" +msgstr "Données de debug" + +msgctxt "model:ir.ui.menu,name:menu_debug_model" +msgid "Debug Model" +msgstr "Modèles" + +msgctxt "model:ir.ui.menu,name:menu_debug_model_field" +msgid "Fields" +msgstr "Champs" + +msgctxt "model:ir.ui.menu,name:menu_debug_model_method" +msgid "Methods" +msgstr "Méthodes" + +msgctxt "model:ir.ui.menu,name:menu_debug_model_view" +msgid "Views" +msgstr "Vues" + +msgctxt "model:ir.ui.menu,name:menu_debug_refresh" +msgid "Refresh Debug Data" +msgstr "Rafraîchir les informations de debug" + +msgctxt "model:ir.ui.menu,name:menu_debug_wizard" +msgid "Debug" +msgstr "Debug" + +msgctxt "model:ir.ui.menu,name:menu_model_debug" +msgid "Debug Instance" +msgstr "Déboguer une instance" + +msgctxt "selection:debug.model.method.mro,kind:" +msgid "" +msgstr " " + +msgctxt "selection:debug.model.method.mro,kind:" +msgid "Initial" +msgstr "Initial" + +msgctxt "selection:debug.model.method.mro,kind:" +msgid "Override" +msgstr "Surcharge" + +msgctxt "selection:debug.model.mro,kind:" +msgid "" +msgstr " " + +msgctxt "selection:debug.model.mro,kind:" +msgid "Initial" +msgstr "Initial" + +msgctxt "selection:debug.model.mro,kind:" +msgid "Override" +msgstr "Surcharge" + +msgctxt "selection:debug.model.view,kind:" +msgid "Board" +msgstr "Board" + +msgctxt "selection:debug.model.view,kind:" +msgid "Form" +msgstr "Form" + +msgctxt "selection:debug.model.view,kind:" +msgid "Graph" +msgstr "Graph" + +msgctxt "selection:debug.model.view,kind:" +msgid "Inherit" +msgstr "Héritage" + +msgctxt "selection:debug.model.view,kind:" +msgid "Tree" +msgstr "Tree" + +msgctxt "selection:ir.model.debug.model_info,filter_value:" +msgid "Kind" +msgstr "Type" + +msgctxt "selection:ir.model.debug.model_info,filter_value:" +msgid "Name" +msgstr "Nom" + +msgctxt "selection:ir.model.debug.model_info,filter_value:" +msgid "String" +msgstr "Nom long" + +msgctxt "view:debug.model.field:" +msgid "Field" +msgstr "Champ" + +msgctxt "view:debug.model.field:" +msgid "Fields" +msgstr "Champs" + +msgctxt "view:debug.model.field:" +msgid "States" +msgstr "États" + +msgctxt "view:debug.model.method.mro:" +msgid "MRO" +msgstr "Héritage" + +msgctxt "view:debug.model.method.mro:" +msgid "MROs" +msgstr "Héritages" + +msgctxt "view:debug.model.method.mro:" +msgid "Open" +msgstr "Ouvrir" + +msgctxt "view:debug.model.method:" +msgid "Method" +msgstr "Méthode" + +msgctxt "view:debug.model.method:" +msgid "Methods" +msgstr "Méthodes" + +msgctxt "view:debug.model.method:" +msgid "Open Definition" +msgstr "Ouvrir la définition" + +msgctxt "view:debug.model.mro:" +msgid "MRO" +msgstr "Héritage" + +msgctxt "view:debug.model.mro:" +msgid "MROs" +msgstr "Héritages" + +msgctxt "view:debug.model.mro:" +msgid "Open" +msgstr "Ouvrir" + +msgctxt "view:debug.model.view:" +msgid "Open" +msgstr "Ouvrir" + +msgctxt "view:debug.model.view:" +msgid "View" +msgstr "Vue" + +msgctxt "view:debug.model.view:" +msgid "Views" +msgstr "Vues" + +msgctxt "view:debug.model:" +msgid "Main Page" +msgstr "Données principales" + +msgctxt "view:debug.model:" +msgid "Model" +msgstr "Modèle" + +msgctxt "view:debug.model:" +msgid "Models" +msgstr "Modèles" + +msgctxt "view:debug.model:" +msgid "Open Definition" +msgstr "Ouvrir la définition" + +msgctxt "view:debug.visualize:" +msgid "Debug Result" +msgstr "Exécuter du code" + +msgctxt "view:ir.model.debug.model_info.field_info:" +msgid "Field Info" +msgstr "Infos sur le champ" + +msgctxt "view:ir.model.debug.model_info.field_info:" +msgid "Fields" +msgstr "Champs" + +msgctxt "view:ir.model.debug.model_info:" +msgid "Model Debug" +msgstr "Modèle" + +msgctxt "wizard_button:debug,display,end:" +msgid "Quit" +msgstr "Quitter" + +msgctxt "wizard_button:debug,display,run:" +msgid "Re-Run" +msgstr "Ré-exécuter" + +msgctxt "wizard_button:ir.model.debug,model_info,end:" +msgid "Quit" +msgstr "Quitter" diff --git a/coopengo_modules/debug/tryton.cfg b/coopengo_modules/debug/tryton.cfg new file mode 100644 index 00000000000..43bfb94d66d --- /dev/null +++ b/coopengo_modules/debug/tryton.cfg @@ -0,0 +1,6 @@ +[tryton] +depends: + ir + res +xml: + debug.xml diff --git a/coopengo_modules/debug/view/debug_model_field_form.xml b/coopengo_modules/debug/view/debug_model_field_form.xml new file mode 100644 index 00000000000..3b76cdf2b96 --- /dev/null +++ b/coopengo_modules/debug/view/debug_model_field_form.xml @@ -0,0 +1,52 @@ + + +
+