Daily updates from Odoo
Thursday, December 26, 2024
10 changes · master
Enhancements to existing features
Product public descriptions are now available directly in the Point of Sale product information popup. This helps store staff see customer-facing product details in the PoS terminal without needing extra self-order or delivery integrations installed.
Original PR description
Before this commit: ========== - The public description field is only visible in the product form after the `pos_self_order` or `pos_urban_piper` modules have been installed. - We are not providing a public description in the product information popup for the PoS terminal. After this commit: ========== - The public description field is visible after the `point_of_sale` module is installed in the product form view. - Public description is available in the product information popup for the PoS terminal. task- 4337758 Related: https://github.com/odoo/odoo/pull/189122
Resolved issues and error corrections
Duplicated shifts in Planning now recalculate allocated hours when assigned to a different employee. This prevents employees with different working schedules from receiving incorrect planned hours, improving schedule accuracy and payroll-related planning data.
Original PR description
Steps to reproduce: ------------------- 1. Install Planning app 2. Have an employee A with 40h/week working schedule and an employee B with 35h/week working schedule 3. Create a shift and assign it to employee A, the default allocated hours should be 8h 4. From the Gantt view, duplicate this shift and assign it to employee B (use drag and drop) 5. Problem: The allocated hours of the duplicated shift are not recomputed, they are equal to 8h instead of 7h Fix: ------------------- When duplicating a shift and assigning it to another resource, the copy() method is called with the resource_id of the target resource (an employee in this case). But _compute_allocated_hours() is not called so we have to call it explicitly in this case. task-3978590
Miscellaneous changes
Before this commit, when the content of the expense is updated by OCR, the author might not be "OdooBot". This happened because while filling the document with results (in hr_expense._predict_product) there is a savepoint that removes the author. This commit sets the OCR note author after filling the document with results, which makes sure that the correct author (i.e., OdooBot) is always set. Moreover, if the expense receipt has a dot in its name, the _predict_product was never visited.
Original PR description
Before this commit, when the content of the expense is updated by OCR, the author might not be "OdooBot". This happened because while filling the document with results (in hr_expense._predict_product) there is a savepoint that removes the author. This commit sets the OCR note author after filling the document with results, which makes sure that the correct author (i.e., OdooBot) is always set. Moreover, if the expense receipt has a dot in its name, the _predict_product was never visited. So, the attachment name extraction is fixed to make sure that only file extension was removed. This commit also adds unit tests to expense and invoice OCR extract to make sure that their notes are authored by OdooBot. The test was not introduced in hr.applicant, however, since OCR does not change any tracked fields (i.e., OCR never logs a note on the chatter). task-4197413 Forward-Port-Of: odoo/enterprise#76194 Forward-Port-Of: odoo/enterprise#75756
We delete a constraint that requires to have an accepted original document in order to be able to generate CN or DN. This is not actually needed: 1. if there is a problem with the original document then DGI response will let us know and will reject our DN/CN 2. In the case I create an invoice, and immediately found an error we can now generate the credit note: not need to wait the invoices has been process. They will process together by the cron. 3. For the case that we need to generate DN
Original PR description
We delete a constraint that requires to have an accepted original document in order to be able to generate CN or DN. This is not actually needed: 1. if there is a problem with the original document then DGI response will let us know and will reject our DN/CN 2. In the case I create an invoice, and immediately found an error we can now generate the credit note: not need to wait the invoices has been process. They will process together by the cron. 3. For the case that we need to generate DN and CN where the original related document was generate with other sofware (for example a DN or CN from an old invoice genrated in previos sofware provider) without this constraint is possible. LATAM 1301 / ADHOC Ticket 46212 Forward-Port-Of: odoo/enterprise#75789
Steps to reproduce ================== - Archive default "Projects" workspace - Create a new Project - Create a task and attach a file - Click on the smart button to view the document - Go back to the home menu and open the documents app => `Cannot read properties of undefined (reading 'id')` Solution ======== Prevent the archiving of the projects workspace opw-4308132 Forward-Port-Of: odoo/enterprise#76153 Forward-Port-Of: odoo/enterprise#75659
Original PR description
Steps to reproduce ================== - Archive default "Projects" workspace - Create a new Project - Create a task and attach a file - Click on the smart button to view the document - Go back to the home menu and open the documents app => `Cannot read properties of undefined (reading 'id')` Solution ======== Prevent the archiving of the projects workspace opw-4308132 Forward-Port-Of: odoo/enterprise#76153 Forward-Port-Of: odoo/enterprise#75659
The 2 exports have the same name, which is impractical. Let's differentiate them task-4414223 Forward-Port-Of: odoo/enterprise#75957 Forward-Port-Of: odoo/enterprise#75907
Original PR description
The 2 exports have the same name, which is impractical. Let's differentiate them task-4414223 Forward-Port-Of: odoo/enterprise#75957 Forward-Port-Of: odoo/enterprise#75907
…ing taxes Steps to reproduce ================== - Create a company in Canada with the canadian fiscal localization - Configure the avatax sandbox credentials - Create a new fiscal position in the USA that uses the avatax API - Create a USD pricelist - Create a warehouse in Cleveland Ohio - Create a salesorder with an Ohio based customer and the USD pricelist - Select a storable product with an invoicing policy on delivered quantity - Set the avatax category of the product to "H
Original PR description
…ing taxes Steps to reproduce ================== - Create a company in Canada with the canadian fiscal localization - Configure the avatax sandbox credentials - Create a new fiscal position in the…
…ing taxes Steps to reproduce ================== - Create a company in Canada with the canadian fiscal localization - Configure the avatax sandbox credentials - Create a new fiscal position in the USA that uses the avatax API - Create a USD pricelist - Create a warehouse in Cleveland Ohio - Create a salesorder with an Ohio based customer and the USD pricelist - Select a storable product with an invoicing policy on delivered quantity - Set the avatax category of the product to "Hand tools" - Select the warehouse just created on the sales order - Click on the "Compute taxes" button => The tax is set to 1% - Confirm the sales order => The tax is still set to 1% - Validate the delivery and create + confirm a new invoice => The tax is now 2.25% Cause of the issue ================== When computing the addresses to send to Avatax, the stock move addresse was used, but at this point, they have not yet been created Solution ======== We now use the warehouse from the sales order. This is only a best-effort estimation of where the products will ship from. It's possible products ship from a different warehouse than warehouse_id. For example, you can change the default delivery route to pull from a source location in a different warehouse. However, this is probably not a common configuration. In the end, the only way to know for sure is to run the inventory-related code, which we want to avoid just for tax computation. Finally, it's also possible for users to change the warehouse manually after the order is confirmed. This can also potentially change taxes, and there's no way to anticipate this. The account.move code will continue to pull the warehouse from the stock.move, because we know it will be created before the invoice. Note that even on account.move the shipping address remains an estimation for products with an “invoice on ordered” invoicing policy. opw-4073701 Forward-Port-Of: odoo/enterprise#75655
Implement delivery guide functionality for Ecuador. - Added a new "Delivery Guide" group within the "Other Info" tab to record details such as transporter, plate number, transfer reason, and delivery dates. - Enabled the generation and electronic submission of the delivery guide document. - Added functionality to cancel the electronic delivery guide if needed. - Provided the option to download the generated XML in case of any submission issues. - Included the ability to send the delivery
Original PR description
Implement delivery guide functionality for Ecuador. - Added a new "Delivery Guide" group within the "Other Info" tab to record details such as transporter, plate number, transfer reason, and delivery dates. - Enabled the generation and electronic submission of the delivery guide document. - Added functionality to cancel the electronic delivery guide if needed. - Provided the option to download the generated XML in case of any submission issues. - Included the ability to send the delivery guide by email to the partner for their records.  Forward-Port-Of: odoo/enterprise#68468
Community: https://github.com/odoo/odoo/pull/191697 Design Themes: https://github.com/odoo/design-themes/pull/1038 Forward-Port-Of: odoo/enterprise#76159
Original PR description
Community: https://github.com/odoo/odoo/pull/191697 Design Themes: https://github.com/odoo/design-themes/pull/1038 Forward-Port-Of: odoo/enterprise#76159
added a session key to indicate if the current session is connected to an Italian company. Related: https://github.com/odoo/odoo/pull/189610 Forward-Port-Of: odoo/enterprise#75147
Original PR description
added a session key to indicate if the current session is connected to an Italian company. Related: https://github.com/odoo/odoo/pull/189610 Forward-Port-Of: odoo/enterprise#75147