Wednesday, October 9, 2024
18 changes · master
Enhancements to existing features
Upsell order pages now show discount information even when the discount is negative. This gives customers clearer, more consistent pricing details and improves related customer-facing notes.
Original PR description
**Before this PR:** Previously, in the upsell order portal view, if the discount was less than 0, the discount field was hidden. This led to confusion as users could not see the applied discounts. **After this PR:** This improvement enables the discount field to be visible for upsell orders even if the discount is negative. The change ensures that users have clearer information because all discounts, positive or negative, are displayed consistently. task-4033128 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
This update reorganizes and cleans up the manufacturing shop floor interface code, including dialogs, popups, controls, and employee panels. It should make the shop floor experience easier to maintain and support without introducing major functional changes for users.
Miscellaneous changes
Problem: The snailmail_cost field was not being computed because the compute method was not being called. Note: this will only work for newly created `account_followup.manual_reminder`. Steps to reproduce: - Enable "SnailMail" in Settings. - Navigate to Accounting > Follow-up Reports. - Open a report. - Follow up on the report. - Observe that the stamps count is 1, even if the partner has multiple follow-up contacts. opw-4160083 Forward-Port-Of: odoo/enterprise#71530
Original PR description
Problem: The snailmail_cost field was not being computed because the compute method was not being called. Note: this will only work for newly created `account_followup.manual_reminder`. Steps to reproduce: - Enable "SnailMail" in Settings. - Navigate to Accounting > Follow-up Reports. - Open a report. - Follow up on the report. - Observe that the stamps count is 1, even if the partner has multiple follow-up contacts. opw-4160083 Forward-Port-Of: odoo/enterprise#71530
Just add a fixed checkDelay at 50ms to make the tour go faster. By default, checkDelay is 750ms. Forward-Port-Of: odoo/enterprise#71517
Original PR description
Just add a fixed checkDelay at 50ms to make the tour go faster. By default, checkDelay is 750ms. Forward-Port-Of: odoo/enterprise#71517
According to the documentation of the new Modelo 303 BOE export, the new fields that will be used for the declarations starting in 10/2024 or Q4/2024 "can only be completed from periods 10 and 4Q of 2024 and subsequent years". As such, we left the fields "empty" using the space character (like in other places). However, now that the new AEAT submission page is ready, it seems they expect us to fill the new fields with zeroes instead of leaving them empty. This commit fixes that. [opw-4222842](
Original PR description
According to the documentation of the new Modelo 303 BOE export, the new fields that will be used for the declarations starting in 10/2024 or Q4/2024 "can only be completed from periods 10 and 4Q of 2024 and subsequent years". As such, we left the fields "empty" using the space character (like in other places). However, now that the new AEAT submission page is ready, it seems they expect us to fill the new fields with zeroes instead of leaving them empty. This commit fixes that. [opw-4222842](https://www.odoo.com/odoo/all-tasks/4222842) Forward-Port-Of: odoo/enterprise#71407 Forward-Port-Of: odoo/enterprise#71379
Problem: When multiple warehouses are selected in the products list page filter, clicking the Forecast button on the product page causes a traceback due to not handling multiple selected warehouses. This is part of this https://github.com/odoo/odoo/commit/f24ee4af8fb2fd21db703d87b9e6c06f6166ed98 Steps to reproduce: - Create two warehouses. - Go to Inventory > Products. - Add a filter for Warehouse 1 or Warehouse 2. - Open a product page. - Click the Forecast button. - Traceback occu
Original PR description
Problem: When multiple warehouses are selected in the products list page filter, clicking the Forecast button on the product page causes a traceback due to not handling multiple selected warehouses. This is part of this https://github.com/odoo/odoo/commit/f24ee4af8fb2fd21db703d87b9e6c06f6166ed98 Steps to reproduce: - Create two warehouses. - Go to Inventory > Products. - Add a filter for Warehouse 1 or Warehouse 2. - Open a product page. - Click the Forecast button. - Traceback occurs. opw-4149904 Forward-Port-Of: odoo/enterprise#71355 Forward-Port-Of: odoo/enterprise#69760
Steps to reproduce =============== 1. Go to knowledge as an admin and add some articles in the workspace with visibility for members 2. Log in as demo and search through hidden articles -> Only demo articles are visible and hidden articles are not visible. Issue =============== From the commit https://github.com/odoo-dev/enterprise/commit/c73484ba1c26a63fd8e5659d2feb25604c99bc3e only favorite articles were returned in the search initially. After this commit =============== This c
Original PR description
Steps to reproduce =============== 1. Go to knowledge as an admin and add some articles in the workspace with visibility for members 2. Log in as demo and search through hidden articles -> Only demo articles are visible and hidden articles are not visible. Issue =============== From the commit https://github.com/odoo-dev/enterprise/commit/c73484ba1c26a63fd8e5659d2feb25604c99bc3e only favorite articles were returned in the search initially. After this commit =============== This commit will show all (max is 40) hidden articles for an empty search. Task-4141105 Forward-Port-Of: odoo/enterprise#69407
Because of odoo/enterprise@aba680d65ae22f829f7e21e85df1dc86995ec460 it was not possible anymore to create related fields to one2many's in studio. It was just a little mistake in the way the in-expression assignation was written task-4150539 Forward-Port-Of: odoo/enterprise#71482
Original PR description
Because of odoo/enterprise@aba680d65ae22f829f7e21e85df1dc86995ec460 it was not possible anymore to create related fields to one2many's in studio. It was just a little mistake in the way the in-expression assignation was written task-4150539 Forward-Port-Of: odoo/enterprise#71482
Steps to reproduce: - Create a product with the following settings: -- Product Type: Service; Invoicing Policy: Based on Timesheets -- Create on Order: Project & Task; Unit of Measure: Days -- Sales Price: 120 (Use != 100 when using Mitchel Admin) - Create a quotation for this product and confirm it - Created Task > Timesheets tab > Record 4 hours - Go to Planning > New > Create a 1 day shift for Mitchel Admin - Link that shift to the project created by your SO - Enable 'Project Planning'
Original PR description
Steps to reproduce: - Create a product with the following settings: -- Product Type: Service; Invoicing Policy: Based on Timesheets -- Create on Order: Project & Task; Unit of Measure: Days -- Sales…
Steps to reproduce: - Create a product with the following settings: -- Product Type: Service; Invoicing Policy: Based on Timesheets -- Create on Order: Project & Task; Unit of Measure: Days -- Sales Price: 120 (Use != 100 when using Mitchel Admin) - Create a quotation for this product and confirm it - Created Task > Timesheets tab > Record 4 hours - Go to Planning > New > Create a 1 day shift for Mitchel Admin - Link that shift to the project created by your SO - Enable 'Project Planning' in Settings > Planning - Go to Project > : Menu > 'Timesheet and planning analysis' - Under the Measures dropdown, add all columns You will notice that the measures for revenue and margin are computed as though the unit price corresponds to 1h even though our product uom is Days. This makes the computations for revenues and margins completely wrong. This happens because the module converts all values into hours without accounting for the fact that the SOL unit price is not necessarily by the hour. This happens regardless of the 'Encoding Method' setting of Timesheet. opw-3918082 Forward-Port-Of: odoo/enterprise#71491 Forward-Port-Of: odoo/enterprise#71425
**[FIX] l10n_uy_edi: Do not check latam document number** When an invoice sent to DGI returns errors (e.g., wrong partner or other data issues), users can reset it to draft and make corrections. However, changing the partner triggers a validation error because the invoice lacks a valid latam document number (only provided by DGI after processing). To avoid this, resetting the invoice to draft clears the invoice name, allowing users to fix any errors without triggering the validation. **
Original PR description
**[FIX] l10n_uy_edi: Do not check latam document number** When an invoice sent to DGI returns errors (e.g., wrong partner or other data issues), users can reset it to draft and make corrections. However, changing the partner triggers a validation error because the invoice lacks a valid latam document number (only provided by DGI after processing). To avoid this, resetting the invoice to draft clears the invoice name, allowing users to fix any errors without triggering the validation. **[FIX] l10n_uy_edi: Create Uruware account help** Improved the helper to remove "admin email" (since it no longer applies) and updated translations accordingly. **[FIX] l10n_uy_edi: Send and Print after Post** Fixed an issue where the send and print wizard was triggered before the invoice was posted, causing errors. The wizard now only runs after the invoice has been successfully posted. Forward-Port-Of: odoo/enterprise#70351
Since the entries are optional for payments [^1], the bank reconciliation widget was not working anymore because it was relying heavily on the fact that there are journal entries created. This commit introduces support for payments without entries by: * looking at payments instead of journal entries when relevant * not unfolding the batch payments anymore, cancelling/rejecting payments can be done through the batch payment form view * removing the payment rejection wizard, same reason [
Original PR description
Since the entries are optional for payments [^1], the bank reconciliation widget was not working anymore because it was relying heavily on the fact that there are journal entries created. This commit introduces support for payments without entries by: * looking at payments instead of journal entries when relevant * not unfolding the batch payments anymore, cancelling/rejecting payments can be done through the batch payment form view * removing the payment rejection wizard, same reason [^1]: https://github.com/odoo/odoo/commit/01b87f1230beac0568f4e3b1b76e547909506892 Forward-Port-Of: odoo/enterprise#70778
This commit adapt the api of plugin resources to match the changes made in community. Forward-Port-Of: odoo/enterprise#70560
Original PR description
This commit adapt the api of plugin resources to match the changes made in community. Forward-Port-Of: odoo/enterprise#70560
- In order to have more detail of the product used in the invoice, many companies place information in the label of the invoice line, we prioritize the name field to be displayed in the description tag of the xml. Forward-Port-Of: odoo/enterprise#70694
Original PR description
- In order to have more detail of the product used in the invoice, many companies place information in the label of the invoice line, we prioritize the name field to be displayed in the description tag of the xml. Forward-Port-Of: odoo/enterprise#70694
In this commit: === - We consolidated these into a single, generic module: pos_urban_piper, designed to support all delivery providers integrated via Urban Piper. - Additionally, we introduced support for new delivery providers, including Careem, Talabat, Postmates, JustEat, EatEasy, Deliveroo, HungerStation, HungryPanda, DoorDash, Mrsool, Cari, ChowNow, Noon Food, Glovo, and Grubhub, and implemented their entire order flow management. Forward-Port-Of: odoo/enterprise#71215
Original PR description
In this commit: === - We consolidated these into a single, generic module: pos_urban_piper, designed to support all delivery providers integrated via Urban Piper. - Additionally, we introduced support for new delivery providers, including Careem, Talabat, Postmates, JustEat, EatEasy, Deliveroo, HungerStation, HungryPanda, DoorDash, Mrsool, Cari, ChowNow, Noon Food, Glovo, and Grubhub, and implemented their entire order flow management. Forward-Port-Of: odoo/enterprise#71215
Before this commit, the changes made in community to call `get_create_edit_project_ids` method to know which projects we only allow to quick create a task on `task_id` field in `account.analytic.line` model (timesheets model) introduced a performance issue in the list view because the `TaskWithHours` component doing the rpc call inside `onWillStart` hook is mounted on each row displayed on the list view, this is, the number of rpc call to that method will be the number of the records displayed i
Original PR description
Before this commit, the changes made in community to call `get_create_edit_project_ids` method to know which projects we only allow to quick create a task on `task_id` field in…
Before this commit, the changes made in community to call `get_create_edit_project_ids` method to know which projects we only allow to quick create a task on `task_id` field in `account.analytic.line` model (timesheets model) introduced a performance issue in the list view because the `TaskWithHours` component doing the rpc call inside `onWillStart` hook is mounted on each row displayed on the list view, this is, the number of rpc call to that method will be the number of the records displayed in the list view instead of calling that rpc once. This commit moves that behavior in industry_fsm module since `get_create_edit_project_ids` method will only return fsm projects when the industry_fsm module is installed. Without that module, no project ids will be returned and so it is not really needed to do a rpc call for nothing. This commit also improves the changes to make sure the rpc call is made only once in the list view. Note: that behavior is not managed in the list view of All Timesheets since it would need to add a custom js class. It will be done in 18.0. task-4221621 Forward-Port-Of: odoo/enterprise#71434 Forward-Port-Of: odoo/enterprise#71183
It has removed the `l10n_mx_edi_payment_method_id` from the batch key and avoids group payments with different payment methods. Any SAT reason indicates that must be grouped the payments by payment method, so, if I receive a payment in any payment method and I register a payment, only a payment complement must be generated. Fixed the next case: 1. Generate a customer invoice with payment method: 99 - To define 2. Generate a second customer invoice with payment method: 01 - Efectivo 3. R
Original PR description
It has removed the `l10n_mx_edi_payment_method_id` from the batch key and avoids group payments with different payment methods. Any SAT reason indicates that must be grouped the payments by payment…
It has removed the `l10n_mx_edi_payment_method_id` from the batch key and avoids group payments with different payment methods. Any SAT reason indicates that must be grouped the payments by payment method, so, if I receive a payment in any payment method and I register a payment, only a payment complement must be generated. Fixed the next case: 1. Generate a customer invoice with payment method: 99 - To define 2. Generate a second customer invoice with payment method: 01 - Efectivo 3. Register a payment for the invoice 1 and 2 in cash In this case, only a payment complement for the total amount related to the 2 invoices must be generated. Note 1: If the user wants to generate 2 payment complements, 1 by each payment method, can select the records and register 2 payments. Note 2: The key was introduced here: https://github.com/odoo/enterprise/commit/b2dd65b9a9c054570d5796a81f2c390c4d8cb6c4#diff-8fbd6620744df804292d8f4158343ef05564035bed962f68bd5ef931d1cb9d70R29 but without any reference that indicates why this was necessary. Forward-Port-Of: odoo/enterprise#71306 Forward-Port-Of: odoo/enterprise#56628
This is the second part of the pr renaming `customerCount` to `customer_count`. Why the fix: ------------ After the refactoring https://github.com/odoo/odoo/commit/2a5f1abf2e98ee09fa7a912b87d71879b5ff260b, we use the same field structure as in python. Therefore, when we load/create a pos order we use `this.customerCount` is undefined since in python the field is called `customer_count`. https://github.com/odoo/odoo/blob/ae0b903b753decab1592df09a1e3cf1baa55f566/addons/pos_restaurant/static/
Original PR description
This is the second part of the pr renaming `customerCount` to `customer_count`. Why the fix: ------------ After the refactoring https://github.com/odoo/odoo/commit/2a5f1abf2e98ee09fa7a912b87d71879b5ff260b, we use the same field structure as in python. Therefore, when we load/create a pos order we use `this.customerCount` is undefined since in python the field is called `customer_count`. https://github.com/odoo/odoo/blob/ae0b903b753decab1592df09a1e3cf1baa55f566/addons/pos_restaurant/static/src/overrides/models/pos_order.js#L8 By changing `this.customerCount` for `this.customer_count` we not only retreive the correct field when loading an order in the session but we also send the correct information to the backend. opw-4182891 Community: https://github.com/odoo/odoo/pull/182529 Forward-Port-Of: odoo/enterprise#71362 Forward-Port-Of: odoo/enterprise#71328
This commit adds a QR code (barcode) to the meixo delivery guide PDF (cartaporte). It is a legal requirement according to the filling guide point 4, but other than that, it is the one thing cops will scan to check if the document is real or not. The QR code is generated by taking the idccp, Salida, and LLegada data and insert them as a parameter to an URL pointing to the mexican service to display the data of the published version of the document. task-id: 4142920 Forward-Port-Of:
Original PR description
This commit adds a QR code (barcode) to the meixo delivery guide PDF (cartaporte). It is a legal requirement according to the filling guide point 4, but other than that, it is the one thing cops will scan to check if the document is real or not. The QR code is generated by taking the idccp, Salida, and LLegada data and insert them as a parameter to an URL pointing to the mexican service to display the data of the published version of the document. task-id: 4142920 Forward-Port-Of: odoo/enterprise#71399 Forward-Port-Of: odoo/enterprise#69581