Friday, September 27, 2024
17 changes · 18.0
New functionality added to Odoo
This update adds support for Swiggy delivery orders through UrbanPiper in Odoo Point of Sale. It also improves order tracking by using consistent platform IDs and sequence numbers, making delivery order handling clearer for staff.
Original PR description
After this commit: ----------------------- - A sequence number has been introduced to manage floating orders. - We display the platform ID instead of the order OTP because the platform ID is consistent across all providers, while the OTP information may vary depending on the provider. - A new pos_urban_piper_swiggy module added to support Swiggy integration with Urbanpiper. Task-4195863
Enhancements to existing features
Users can now include property fields when importing and exporting records, making these flexible custom data points easier to manage in bulk. This improves data migration and reporting workflows while keeping property definitions controlled by the related parent record.
Original PR description
https://github.com/odoo/enterprise/pull/69287 task-4027103
Resolved issues and error corrections
This fixes an issue where paid orders created while the point of sale was offline could remain unsynced after the session was restarted. Businesses can rely on offline sales being uploaded once connectivity returns, reducing the risk of missing orders or revenue records.
Original PR description
Before this commit, orders created in offline mode would not sync upon restarting the session once back online. opw-4213314 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Event reminder and follow-up messages now send in smaller batches instead of trying to process every registration at once. This reduces the risk of failed scheduled jobs, duplicate messages, and performance issues for large events using email or SMS communications.
Original PR description
RATIONALE When invoked through cron, event schedulers currently run on all available registrations. This can lead to Memory or Time errors when dealing with big events. We should instead move towards…
RATIONALE
When invoked through cron, event schedulers currently run on all available
registrations. This can lead to Memory or Time errors when dealing with
big events. We should instead move towards an interactive sending, committing
after each batch, to gradually send communications without errors and without
sending multiple times mails, sms, whatsapp messages, ...
SPECIFICATIONS
Global approach for this PR
* rewrite schedulers execution code, notably to have more control on
input / output of each type: event-based or attendee-based schedulers,
give registrations to contact as input, ... ;
* introduce more performance oriented code: avoid filters on all attendees,
search for batches instead; find once attendees to contact then;
delegate the sending only to sub modules;
* make communications iterative
* event-based: use recently introduced "last_registration_id" field to know
at which point process was stopped, and resume communication sending;
* attendee-based: contact by batches;
* make code more defensive against ill defined templates and issues during
communication sending;
* add / improve tests;
See sub commits for more details.
Task-3814592: Event: Limit scheduler in cron mode
Task-3084943: Event: Improve communication scheduler scalabilityThe shop floor view no longer applies the default “This Station” filter, so teams can see manufacturing orders beyond the current workstation by default. This change is possible because prior performance improvements now keep the view responsive without needing that restriction.
Original PR description
The 'This Station' default filter was introduced in [1] as a stopgap solution for limiting the amount of MOs loaded simultaneously in the view, to avoid performance bottlenecks. Since the introduction of a limit (also in [1]), as well as later performance improvements from [2], the performance of the shop floor is now acceptable without this filter, so we proceed with removing it completely in this PR. [1] https://github.com/odoo/enterprise/pull/64551 [2] https://github.com/odoo/enterprise/pull/66898
Event-related automated messages now run in smaller batches and can resume where they stopped, reducing failures for large events. This helps prevent duplicate emails, SMS, WhatsApp messages, and social posts while improving reliability and performance.
Original PR description
RATIONALE When invoked through cron, event schedulers currently run on all available registrations. This can lead to Memory or Time errors when dealing with big events. We should instead move towards…
RATIONALE
When invoked through cron, event schedulers currently run on all available
registrations. This can lead to Memory or Time errors when dealing with
big events. We should instead move towards an interactive sending, committing
after each batch, to gradually send communications without errors and without
sending multiple times mails, sms, whatsapp messages, ...
SPECIFICATIONS
Global approach for this PR
* rewrite schedulers execution code, notably to have more control on
input / output of each type: event-based or attendee-based schedulers,
give registrations to contact as input, ... ;
* introduce more performance oriented code: avoid filters on all attendees,
search for batches instead; find once attendees to contact then;
delegate the sending only to sub modules;
* make communications iterative
* event-based: use recently introduced "last_registration_id" field to know
at which point process was stopped, and resume communication sending;
* attendee-based: contact by batches;
* make code more defensive against ill defined templates and issues during
communication sending;
* add / improve tests;
See sub commits and linked community PR for more details.
Task-3814592: Event: Limit scheduler in cron mode
Task-3084943: Event: Improve communication scheduler scalabilityAppointment manual confirmation now depends on the selected booking slot rather than the scheduled day, giving administrators better control during busy periods. Customer confirmation emails are clearer because accept and decline actions are reserved for admins, and cancelled appointment records are labeled more accurately.
Original PR description
### Purpose Currently, manual confirmation was inconveniently triggered based on scheduled booking days, causing users inconvenience. The purpose of this PR is to Change the Manual Confirmation Trigger conditions and Change Mail Template when Manual Confirmation is enabled. ### Specs **1. Update Trigger Conditions for Manual Confirmation** - Change trigger conditions to be based on booking slots instead of scheduled days. This allows admins to verify bookings manually before confirmation, especially during peak times. **2. Revise Mail Template for Confirmation** - Update mail template context for users receiving confirmation notifications. - Remove 'Accept' and 'Decline' buttons, as only admins can now accept or decline bookings. **3. Appointment Booking Form View Improvements** - Changed 'Archived' ribbon to 'Cancelled', when an appointment type is set. Task-3918889
This update fixes several issues in return and exchange workflows, including incorrect quantity handling, duplicate procurement creation, and sale order updates during multi-step returns. It helps businesses process returns more accurately, especially when products use lots, different units of measure, or exchange shipments.
Original PR description
This commit unpack the keys and values of `layers_by_lot` correctly + use the uom of the product's move not the lot Task :4210510 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
Fixes an issue in the restaurant point of sale demo data where paid demo orders could remain stuck on the floor plan, and one demo table could not accept new orders. This helps users testing or demonstrating restaurant workflows complete payments and continue ordering normally.
Original PR description
Steps to reproduce : --------------------------- - Install the pos_restaurant module. - Open any demo orders, let's say table 1 - Make the payment, then go to the receipt screen then the floor plan - [ISSUE] Order is still there. - In Table 6, can't even place the order Cause : --------- 1. Demo orders case was not handled in the "sync_from_ui" method leading to this issue 2. Uuid was not given for the Table 6 order line, causing this misbehavior. Fix : ------ 1. Handled the case for demo orders in the "sync_from_ui" method 2. Provide uuid for table 6 order line at the time of creation Task: 4212901
This fix corrects how amounts are calculated for the accounting dashboard so the displayed figures better match the underlying journal entries. It helps finance users rely on dashboard totals for quicker, more accurate day-to-day review.
Original PR description
It's hard to describe in words, hope you understand through the attached description file  https://github.com/odoo/odoo/blob/b4090cbdc697f92e755e1d2a368e202a5df0f532/addons/account/models/account_move.py#L1079 https://github.com/odoo/odoo/blob/b4090cbdc697f92e755e1d2a368e202a5df0f532/addons/account/models/account_move.py#L1083 https://github.com/odoo/odoo/blob/b4090cbdc697f92e755e1d2a368e202a5df0f532/addons/account/models/account_move.py#L1088 [description table.ods](https://github.com/user-attachments/files/17140814/description.table.ods) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Several website building blocks were adjusted so images keep their intended size and layouts remain consistent. The changes remove problematic alignment behavior, improve grid editing options, and fix visual issues on desktop and mobile.
Original PR description
This PR regroups some fixes about snippets with columns wrongly set to `display: flex` in order to have a "Vertical Alignment" option to align the content in it. Indeed, `display: flex` should be avoided, as any element in it tries to fill the available space, making the images not have their real size.
The barcode scanner now waits until the camera is ready before related actions can close it, reducing interruptions during startup. It also stops repeated scan attempts once the camera stream is closed, preventing potential loops and instability when users exit the scanner.
Original PR description
This commit changes two things: 1. Adds `onReady` props to be able to call a method when the video scanner is ready. In the Barcode app for example, this prop will let us to prevent to close the camera during its initialization. 2. Avoids to set a timeout for `detectCode` if there is no more stream. Without this change, it could happens something goes wrong when closing the camera video scanner and then, it will loop infinitly on `detectCode` because the timeout code part is outside of the try/catch and so it is called anyway everytime `detectCode` is run. Enterprise PR: odoo/enterprise#70607
Fixed an issue where validation and export buttons could disappear on batch payments when online payments were installed but not configured for a bank journal. This ensures users can continue validating and exporting relevant payment batches without unnecessary setup changes.
Original PR description
Before this commit, when account_online_payment was installed and no payment initiation was configured on a bank journal, the batch validation and export buttons never appeared on the batch payments made on this journal.
Bookkeepers can now use the Secure Entries wizard as intended. This removes an access-rights blocker so accounting teams can complete secure entry workflows without needing extra help or elevated roles.
Original PR description
Currently bookkeepers do not have the rights to use the Secure Entries wizard. This is fixed in this commit.
When a spreadsheet-based quality check fails, users now remain on the spreadsheet screen so they can read the failure message. This helps operators understand what went wrong before choosing to return to the Shop Floor view.
Original PR description
When a quality check of type 'spreadsheet' fails, we want to show the failure message and stay on the spreadsheet view. That way the user has the time to see what failed. They can still use the 'Shop Floor' link to return to the shopfloor view.
Portal users can now switch to the document list view without encountering a client error. This improves reliability for external users who access and manage shared documents through the portal.
Original PR description
When portal users try to switch to the list view, they get a client error. The error is solved by keeping the studio service accessible to the ListRenderer. task-3373836
The barcode scanner can no longer be closed while the camera is still starting up. This prevents errors and failed scanning sessions for warehouse users who use camera-based barcode scanning.
Original PR description
This commit makes it not possible to close the barcode video scanner during its initialization. It prevents a lot of issue. Community PR: odoo/odoo#181294