Friday, June 14, 2024
17 changes
3 changes
Enhancements to existing features
Portal dashboard cards now avoid repeated counting during a user session once related records are known to exist. This reduces page refresh work and flickering, making the customer portal feel faster and more stable.
Original PR description
The counters are primarily used as boolean to determine whether or not to display the card. Therefore, as soon as you have one record, we can show the card without needing to recheck it later. In the…
The counters are primarily used as boolean to determine whether or not to display the card. Therefore, as soon as you have one record, we can show the card without needing to recheck it later. In the worst-case scenario, you might see a card pointing to an empty list view. This approach helps us avoid recalculating whether there is a record for this card on each refresh. The approach is to cache the counter in the session as soon as there are more than 0 records. This way, if there are no invoices but a sale order is validated, the invoice counter will be recomputed, and you will see the invoice card the next time. For the duration of the same session, we won't recompute it and will always display the invoice card. We only re-request the computation if the counter in the session was 0 or if we need to show the counter, as in this case, we want to display the most precise number. This approach will also avoid flickering when the view is updated. Since we already know the count, we can display the card immediately without waiting for the RPC callback. To further reduce flickering, we have moved the spinner to the bottom, preventing the content from shifting upwards once the loader disappears. On another note, we've updated the policy for the parallel RPC requests made to /my/counter. Instead of splitting the counter into 3 RPC calls, we now allow 5 counters per RPC, with a maximum of three RPCs. An update of the view portal.portal_docs_entry is required to benefit from this cache for /my/counter,
Deferred reports can now be grouped by product or product category, giving finance teams clearer ways to analyze deferred revenue and expenses. The underlying deferral generation remains grouped by account, preserving existing accounting behavior while improving report visibility.
Original PR description
We now allow grouping by other fields that account_id in the report, namely product_id, and product_category_id. However, for the deferral generation, we continue grouping by account_id. task-id 3925943 https://github.com/odoo/enterprise/pull/62534
Resolved issues and error corrections
This update brings the spreadsheet component to its latest maintenance version and fixes several user-facing issues. Users should see more reliable collaboration saving, better popover placement, corrected figure sizing with frozen panes, and improved find-and-replace range handling.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/7704cc416 [REL] 17.2.11 Task: 0 https://github.com/odoo/o-spreadsheet/commit/4bebc0608 [FIX] Figure: Fix container…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/7704cc416 [REL] 17.2.11 Task: 0 https://github.com/odoo/o-spreadsheet/commit/4bebc0608 [FIX] Figure: Fix container size in presence of frozen panes Task: 3976086 https://github.com/odoo/o-spreadsheet/commit/83aec4b3b [FIX] collaborative: snapshot only when no pending changes Task: 0 https://github.com/odoo/o-spreadsheet/commit/f4989d00c [FIX] popover: popover position with scrollbar Task: 3981551 https://github.com/odoo/o-spreadsheet/commit/ff2141018 [FIX] data_validation: wrong popover position Task: 3981399 https://github.com/odoo/o-spreadsheet/commit/d0fcde5b5 [FIX] collaborative: snapshot when leaving spreadsheet Task: 3940465 https://github.com/odoo/o-spreadsheet/commit/a445f51e0 [FIX] FindAndReplaceSidePanel: Fix range update Task: 3972409 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
5 changes
Enhancements to existing features
9 changes
Resolved issues and error corrections
This fix resolves a problem where editing the amount currency of invoice line items in the Journal Items tab would reset back to the original value after saving. The issue was caused by an incorrect compute function that was modifying multiple fields when it should only modify one, causing unwanted recalculations. This fix separates the logic into two proper compute functions so edits to invoice amounts are preserved correctly.
Payroll contract data now supports entering home-to-work distance with a selectable unit, allowing users to work in miles or kilometers where needed. Existing payroll calculation logic continues to use kilometers internally, while demo data and payroll tests across localizations were updated to use the new input field.
Original PR description
*= l10n_be_hr_contract_salary, l10n_be_hr_payroll, l10n_be_hr_payroll_account adding new selection field distance home-work unit for changing between miles and km changing field name from km_home_work to distance_home_work in data files,demo data and test case files of various l10n files km_home_work will be use for calculation in km and distance_home_work will be use for input Task-3888505
Users can now rearrange records directly in the map view when the view is configured for sequencing. This helps teams plan routes in the right stop order, making map-based routing easier and more flexible.
Original PR description
This commit allows to re-order records from the map view. It is useful for routing, which takes you from the first item to the last and uses intermediary ones as stops. With this commit, the map view displays a handle on each record when: - `default_order` is set on the map arch - `allow_resequence` is set to `true` on the map arch - the map view is not grouped by a field  Community PR : https://github.com/odoo/odoo/pull/168876 task-3636577
Employees can now share referral links more easily, including by SMS, and copy links directly without opening an extra sharing window. The referral page also has a cleaner, wider card layout and updated social sharing visuals, making the experience smoother and more modern.
Original PR description
This PR adds the ability to send a referral link via SMS by the use of a wizard, it improve the ux by making the referral cards take the full width of the screen, improve the looks of the button by the use of logos and update the twitter logo with x. Finally, this PR also remove completely the use of the referral link to share wizard and embed the link directly in the button (that was opening the referral link to share) to copy it directly to the clipboard.
This update refreshes how kanban-style cards are handled across several Odoo apps, including Accounting, Appointments, Documents, Sign, Marketing Automation, Field Service, Subscriptions, Rentals, and Social. It should make these card-based screens more consistent and reliable for users while supporting future interface improvements.
Indian payroll accounting is now linked with the accounting setup, helping payroll-related financial entries align with company accounts. This improves consistency between payroll processing and accounting records for businesses operating in India.
Original PR description
Add link with the accounting task-3387234
Original PR description
Editing the `amount_currency` field of a product line in the "Journal Items" tab on an invoice is not really possible at the moment. On a technical level: The function `_compute_release_to_pay`…
Editing the `amount_currency` field of a product line in the "Journal Items" tab on an invoice is not really possible at the moment. On a technical level: The function `_compute_release_to_pay` assigns fields `release_to_pay` and `release_to_pay_manual`. Yet, it is only registered as compute function of `release_to_pay`. This behaviour is not correct; i.e. it causes a recomputation of the `amount_currency` field on the line mentioned above. In this commit a compute function for `release_to_pay_manual` is introduced. It basically does the job that the old computation function did. To reproduce on runbot: 1. Create an invoice with a single line 2. Got to "Journal Items" 3. Edit the "Amount in currency" of the first line (product) 4. Save the invoice 5. The "Amount in currency" is reset to the original version. The same code also causes an issue in 17.0+; see https://github.com/odoo/odoo/pull/167014 Forward-Port-Of: odoo/enterprise#64578 Forward-Port-Of: odoo/enterprise#63336
This fix resolves a crash that occurred when posting closing entries in the Tax Report. The issue was caused by an unnecessary domain filter being applied to the Journal Entries action, which was causing the system to fail. By removing this filter, the closing entry posting process now works correctly.
Original PR description
A string domain is being used without being evaluated, leading to a traceback ### Steps to reproduce * Turn on debug mode * Go to the “Journal Entries” window action via Settings > Technical > Actions > Window Actions * Give any domain to the “Domain Value” field of the window action * Go to Tax Report via Accounting > Reporting > Statement Reports > Tax Report * Click the “Closing Entry” button * Click the “Post” button to post the closing entry you will run into the following traceback: `IndexError: string index out of range` ### Fix The `account.action_move_journal_line` (Journal Entries window action) record was being reused for consistency. However, domains added to that record should not be propagated in this context. So in this case, the solution is to remove the domain from the returned action. opw-3903500
This fix corrects an issue where vendor bills with 0% purchase tax were incorrectly appearing in the EC Sales List report. The system now properly filters bills by tax type, ensuring only applicable transactions are included in the report. This prevents inaccurate reporting of purchase transactions that should not be listed.
Original PR description
Create a Vendor Bill with a 0% purchase tax Check Reporting > EC Sales List Issue: Bill is reported This occurs because the system does not filter the tax type opw-3928085 Forward-Port-Of: odoo/enterprise#64574 Forward-Port-Of: odoo/enterprise#63206
This fix resolves a problem where ordering drinks at the frontdesk kiosk would fail with an error when the network connection is slow. The issue occurred because the visitor registration process wasn't completing before customers tried to order drinks. The fix ensures the visitor is properly registered before allowing drink orders to proceed.
Original PR description
If the network is really slow, when you order a drink at the frontdesk. The visitor_id will not be set correctly, and you will have a traceback. Steps to reproduce: ------------------- * Install frontdesk * Enable "host selection" on the frontdesk station * Choose open kiosk * With the developper tool make the network slow, and use a mobile view * Click on check in, then try to order a drink > Observation: You get a traceback Why the fix: ------------ The `createVisitor` function was not awaited during the setup of the page. But it is required to order the drink. opw-3889245
This fix corrects a data format issue in the German Datev XML export feature. When exporting financial data with attachments from the General Ledger, a date field was incorrectly formatted as a simple date instead of a full datetime value. The fix ensures the field now properly includes both date and time information in the correct format, improving compatibility with Datev systems.
Original PR description
To access the xml, go to General Ledger, and export "Datev with Atch". You need invoices with attachment. This xml has a field date that should in fact contain a datetime! (following format 0001-01-01T00:00:00) opw-3976301 Forward-Port-Of: odoo/enterprise#64439
This fix resolves an issue where generating a bill in a restaurant would incorrectly send the order to the kitchen. The change removes unnecessary order processing during the bill creation step, ensuring that bills can be generated without triggering kitchen preparation workflows. This prevents confusion and duplicate orders in the kitchen display system.
Original PR description
Fix for version 17.0 only Problem: In restaurant, when we make a bill, the order is made to the kitchen Steps to reproduce: - Install "Point of Sale" app and "pos_restaurant" module - Open a restaurant session - Select products for a table - Click on "Bill" - The order is now in the kitchen while it should not Cause: The full process for making an order is called with "sendOrderInPreparationUpdateLastChange" while it is not necessary to make a bill Solution: Remove the "sendOrderInPreparationUpdateLastChange" for the bill screen when pos_preparation_display is installed Linked with https://github.com/odoo/odoo/pull/168889 opw-3938924
Fixed an issue where activity filters were not appearing in the Helpdesk module when clicking on activity groups. Users can now properly filter helpdesk tickets to see only their own overdue or today's activities, improving visibility and task management.
Original PR description
[FIX] helpdesk: fix activity default filter Clicking on an Activity group used to set a default filter, in effect of which user will only see helpdesk tickets with HIS activites that are…
[FIX] helpdesk: fix activity default filter
Clicking on an Activity group used to set a default filter, in effect of which
user will only see helpdesk tickets with HIS activites that are overdue/today.
This behaviour got temporarily removed and than reintroduced with (ref.1)
(ref.1) achieves that by adding default filters to the search views, it issue
persisted in the helpdesk view becase filters wern't present.
This commits adds filters to the helpdesk's search view so they can be used
by mechanisms (re)introdcuted in (ref.1)
(ref.1)
[FIX] mail: Fix activity default filter issue
https://github.com/odoo/odoo/commit/3d18b9faa1fdcf00d48091ad4be244ca00d33524
[Reproduce steps]
- Install helpdesk
- (optional) create a helpdesk ticket where:
- current user has a future activity
- other user has an overdue activity
- open ActivityMenu dropdown (clock icon ".fa-clock-o")
- BUG (ux issue): filters aren't present
- (if optional): created ticket is shown (beside current user not having any overdue/today activity in there)
opw-3859535
https://github.com/odoo/enterprise/assets/33809926/ca77aa45-f842-41a3-b551-d27e4b87a83bThis fix corrects an issue where the rental schedule view was displaying all inventory items with serial numbers instead of just the ones included in a specific rental order. The change ensures that only the items actually rented in an order appear in the schedule view, making it easier for users to track their rental inventory accurately.
Original PR description
**Current behavior:** A product that is tracked via serial will have all of its lots displayed in the Schedule gantt view instead of just the ones which are part of the order. **Expected behavior:**…
**Current behavior:** A product that is tracked via serial will have all of its lots displayed in the Schedule gantt view instead of just the ones which are part of the order. **Expected behavior:** Only the lots corresponding to rented quants of a product will be displayed. **Steps to reproduce:** 1. Enable `Rental Transfers` in settings 2. Create a rental order with 1 of the demo printer products (they are tracked via SN already) and confirm 3. Open the rental schedule view, see that for the new order, all of the printers in stock with a SN are displayed **Cause of the issue:** Previously, the commit 8c90c7493ec was merged to fix an issue where you could not group by serial numbers in the schedule view for orders that were created while the 'Rental Transfers' setting was enabled. This introducted this bug by not actually specifying which `lot_id`s of a product were part of an order- so it selected ALL `lot_id`s of ANY product in a rental order. **Fix:** Add a join on `StockMove` so we can select `lot_id`s which are exclusively in `StockMoveLine`s that are linked to `StockMoves` which correspond to a rental order. opw-3977685
This fix resolves an issue where vendor bills containing sections or notes were being rejected by Colombia's E-invoicing service. The system was incorrectly counting section and note lines in the bill validation, causing the electronic document to fail submission. The fix now excludes these non-billable lines from the count, matching how invoices are already handled.
Original PR description
Steps to reproduce: - Install Accounting and l10n_co_edi - Switch to a Colombian company - Configure the Colombian localization (https://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/colombia.html) - Create a vendor bill containing a section or a note - Confirm the bill - Process the bill by E-invoicing service : UBL 2.1 (Colombia) Issue: The generated electronic document is rejected by the E-invoicing service because the input number of lines is also counting section and note lines. Solution: Exclude section and note lines from the count as it is done for invoice. opw-3928949 Forward-Port-Of: odoo/enterprise#63588