Friday, January 17, 2025
9 changes
1 change
Resolved issues and error corrections
Inventory receipts for branch companies can now create or use lot and serial numbers owned by the parent company without triggering an incorrect company mismatch error. This prevents blocked stock operations for products managed at company level while used by branches.
Original PR description
Steps to reproduce the bug:
- Create a “Company A” and a “ branch 1” linked to this company
- Create a storable product “P1”:
- limited to Company A
- Select only the branch 1 as current company
- Create a receipt for one unit of P1
- Mark it as to do.
- Try to create a lot or use lot created in Company A
Problem:
An acces error is raised:
`Incompatible companies on records:
- 'Product B' belongs to company 'Branch X' and 'Lot/Serial Number' (lot_id: 'sn_test') belongs to another company.`
opw-44155658 changes
Resolved issues and error corrections
Connection warning messages are now shown only inside the Discuss app instead of appearing across the whole system. The alert styling was also toned down, reducing unnecessary distraction for everyday users while still keeping relevant communication users informed.
Original PR description
This is distracting for end users, restrict it to the discuss app. Also reduce its style so this feels less aggressive.
The Point of Sale product configurator now shows the correct quantity on hand when staff switch between product variants. This prevents misleading stock information during sales and helps users select products based on accurate availability.
Original PR description
Currently, for products with variants, the quantities on hand displayed in the product configurator can be incorrect. ### Steps to reproduce * Install `point_of_sale`. * Start the furniture shop POS…
Currently, for products with variants, the quantities on hand displayed in the product configurator can be incorrect. ### Steps to reproduce * Install `point_of_sale`. * Start the furniture shop POS session. * Click on the Conference Chair; the steel legs are selected by default, and the system displays quantities on hand as 30. * Switch to aluminum legs; the quantity remains 30. * Switch back to steel legs. You should see that the quantity on hand is now 26. This is the actual, correct quantity for steel legs. The originally displayed value of 30 was already incorrect for those legs. ### Cause The issue arises from how the product's quantities on hand are fetched and updated: - The `useEffect` hook is used to fetch quantities on hand whenever the product changes. - However, the function used to retrieve these quantities (`fetchStock`) is wrapped with `useTrackedAsync`, which internally utilizes `useAsyncLockedMethod`. - The `useAsyncLockedMethod` hook ensures that two calls to `fetchStock` cannot run simultaneously; if `fetchStock` is called while another call is still in progress, the subsequent call is ignored. This behavior causes the problem. In the product attribute component, the `useEffect` hook is triggered twice in rapid succession when switching attributes. Since the second `fetchStock` call happens before the first completes, it is discarded due to the locking mechanism. As a result, the product changes twice, but the stock fetching process is executed only once, causing a mismatch between the selected product variant and its displayed quantities on hand. ### Fix The `useTrackedAsync` utility was updated to allow specifying the locking mechanism. Specifically, it now supports an option to keep the last call instead of the first. This change ensures that even when multiple `fetchStock` calls are triggered in quick succession, the most recent call is executed, maintaining synchronization between the product variant and the displayed stock quantities. opw-4421070
Downloading an invoice from Point of Sale on iOS now opens in a separate tab, preventing the POS session from reloading when the popup is closed. This keeps staff on their current sales screen and avoids disrupting checkout flow.
Original PR description
When downloading an invoice from the POS on iOS the PoS would be reloaded after closing the download popup. Steps to reproduce: ------------------- * Open PoS on iOS * Make an order and invoice it > Observation: After closing the invoice you are back on the product screen Why the fix: ------------ We open the download invoice popup in a new tab so that the PoS is not reloaded after closing the popup. opw-4471713
This fix prevents users from incorrectly appearing offline when they are still active on another device. It improves presence accuracy in Odoo messaging by reacting to later status changes even if an earlier disconnect notification was missed.
Original PR description
When a user disconnects, a message is sent on the bus. If another device is active, he will correct the user status. However, it can happen that this message is lost. For instance, when the bus table is cleared while the user is disconnected. Other parts of the code will update the user status, but the status will never be corrected. This PR react to the user status changes to solve this issue. opw-4484966 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents an error that could occur when users open certain linked sections inside Odoo forms, such as Timesheet settings. The form now checks links only within the form being prepared, making navigation more reliable and avoiding stale page references.
Original PR description
Before this commit, the form compiler did a search in the whole DOM, when compiling a form, to find anchors, for which the target node would be in the form being compiled. The point of this was to…
Before this commit, the form compiler did a search in the whole DOM, when compiling a form, to find anchors, for which the target node would be in the form being compiled. The point of this was to automatically open the notebook tab when an anchor is click for an element that is hidden in a non active tab. However, looking in the DOM makes no sense. It's very likely that the found element won't be there anymore when the view we compile will be put in the DOM, and moreover the compilation is done only once, so if we come back later on on the same form, we'll still use the information of the anchor we found the first time, which is ever less likely to be again in the DOM. This was actually a code mistake, as what we aimed to do was to find anchors **in the form**, pointing to elements hidden in the notebook, but definitely not **in the dom**. This mistake produces a crash: go to "Timesheet / Configuration / Settings" and try to open the "Internal" project in the time off section => traceback. This commit removes the look up in the document. The feature of automatically opening the tab already partially works, but we won't fix it, and we'll even drop it in master. opw~4457605 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Customer portal return lists now only show actual customer returns linked to a sales order. This prevents supplier-to-company deliveries from appearing to customers, reducing confusion and avoiding exposure of irrelevant supply chain activity.
Original PR description
When cusomers access portal view, they are able to see deliveries/returns made for their sales order. Currently in the returns list, incoming deliveries are shown, without checking if it is a real return. This will show incoming deliveries from third party vendor that a customer should not see - Activate Route MTO - In Route Buy, open the first rule and set - Propagation of Procurement Group: Propagate - Create a product [TEST] with: - Product Type: Goods - Invoicing Policy: Ordered Quantities - [Purchase tab] Set a Vendor - [Inventory Tab] Routes Buy, MTO - Create a Sales Order with [TEST] - Confirm - Open the Purchase order and confirm it - Back to the SO, 2 deliveries are created - Open portal Issue: Under 'Returns' it is listed the delivery from the vendor to the company. opw-4420364
This fix makes the Kenya eTIMS unit of measure code visible where users set up units, so new units can be configured correctly. It also adds a clearer warning before items are sent to eTIMS when that required unit code is missing.
Original PR description
The problem right now is that if you use a new UoM, the related Kenya eTIMS code is not in the category view. Also, the error message you get, does not tell there is a problem with the UoM in itself as it is not checked before sending the item to eTIMS. So, we add the code in the UoM category view and provide a message when it is missing. opw-4395902
A bug was fixed that caused an error when users selected an existing order from the order list and tried to load it. This helps Point of Sale staff resume or review orders more reliably, reducing interruptions during service.
Original PR description
Before this commit, selecting an order from the order list and attempting to load it would result in an error. opw-4251717 X-original-commit: 2cd72396d9f96cd7770154c56355ec864e0926e9