Friday, September 27, 2024
49 changes · 18.0
Enhancements to existing features
The web interface now lets teams define custom visual styles for fields that show remaining days. This makes it easier to highlight time-sensitive records according to each business process, such as marking items as healthy or urgent based on configured day thresholds.
Original PR description
This commit adds the ability to customize the classes of the `remaining_days` field through the `classes` option.
Usage:
```xml
<field
name="fname"
widget="remaining_days"
options="{'classes': {'success': 'days >= 10'}"
/>
```
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prUsers 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
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 scalabilityResolved issues and error corrections
The Discuss sidebar now makes the selected conversation easier to identify in dark mode. This reduces visual confusion in compact sidebars and improves readability for users working in Odoo Discuss.
Original PR description
The active item had black background with light grey rounding. The border looked too hard especially in a narrow space like the sidebar, and the black background was too similar with background of…
The active item had black background with light grey rounding. The border looked too hard especially in a narrow space like the sidebar, and the black background was too similar with background of channel with subthreads or in a call when compact. This commit adapt style to match `$o-action` of white theme, while adjusting color of background and border to look nice with dark theme of discuss app. Before / After <img width="300" alt="Screenshot 2024-09-26 at 18 30 11" src="https://github.com/user-attachments/assets/89ad4598-0182-44d6-9cd1-9dd29782c86a"> <img width="302" alt="Screenshot 2024-09-26 at 18 40 00" src="https://github.com/user-attachments/assets/526ad052-fab7-4e56-b6a1-88d1e8fe1a03"> Before / After <img width="59" alt="Screenshot 2024-09-26 at 18 41 14" src="https://github.com/user-attachments/assets/18688413-04b8-4f14-9966-ebed7416585d"> <img width="63" alt="Screenshot 2024-09-26 at 18 40 59" src="https://github.com/user-attachments/assets/ab6178d2-2a05-41e0-bb73-0433191f64b9">
Miscellaneous changes
Steps to reproduce: 1) Create new attribute value (do not save) 2) Click on delete 3) Confirm deletion in the dialog Reason: When the record is new it does not have resId. But `unlink` only accepts list of type 'number' otherwise it throws an error. Forward-Port-Of: odoo/odoo#181151
Original PR description
Steps to reproduce: 1) Create new attribute value (do not save) 2) Click on delete 3) Confirm deletion in the dialog Reason: When the record is new it does not have resId. But `unlink` only accepts list of type 'number' otherwise it throws an error. Forward-Port-Of: odoo/odoo#181151
The quote builder now restores the document preview in sales quotations and improves how the PDF placeholder appears. This helps sales users verify attached quote documents more reliably before sending them to customers.
Original PR description
`o_kanban_previewer` was wrongly removed in dbe94039de1be49f33505445d1e27543c3137d4f. This commit brings it back and improves the display of the pdf placeholder.
Combo products no longer show the invoicing policy field in Sales and Point of Sale product forms. This avoids displaying a setting that does not apply to combo products, reducing confusion during product setup.
Original PR description
Issue: - The invoicing policy field is displayed for all product types, including combo products. Fix: - Hide invoicing policy field for products of type 'combo'. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
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
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 fixes searches by display name for records in affected areas where that search option had stopped working. Users can again find the right aliases, project tasks, and recruitment department pages using familiar names.
Original PR description
Since https://github.com/odoo/odoo/pull/181529, we cannot search on display name for some models that define themselves the field without specifying the search method. The `display_name` field is defined (including its compute method) only when the model does not define it yet. Existing declarations were missing a `search` declaration. odoo/enterprise#70746 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
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
Fixes layout and visibility issues in the website text cover snippet so it behaves more consistently across screen sizes. This helps website editors create pages that resize smoothly and display correctly on mobile devices.
Original PR description
This commit fixes the `s_text_cover` snippet template to: - remove the padding `pt pb` classes, as they are useless in grid mode, - fix the `g-height-*` classes, as they were not matching the number of rows and it is needed to resize smoothly, - fix a `col-lg-*` class as it needs to match with the grid one, - fix the mobile visibility classes: the mobile breakpoint is at `LG` and it was missing the `o_snippet_mobile_invisible` class. task-3665300
The Project app now shows the correct wording for the stat button that lists tasks blocking the current task. This avoids confusion by changing the label from "Blocking Tasks" to "Blocked Tasks" so users better understand the task relationship.
Original PR description
Before: The 'blocked by' stat button in the Project module incorrectly displays as 'Blocking Tasks'. After: The text of the 'blocked by' stat button has been updated from 'Blocking Tasks' to 'Blocked Tasks' in the Project module. task-4119271
The editor now shows the placeholder hint inside empty quote blocks with the same padding as typed text. This makes the editing experience look cleaner and reduces confusion about where text will appear.
Original PR description
This commit adds the styling rules for the blockquote (present in the web_editor module), and fixes the padding for the hint that is displayed when the blockquote is empty. Before this commit, the hint would be displayed on the top left corner of the blockquote without any padding, which, other than looking bad, does not match the position in which the text is inserted after typing. task-4207507
Before this commit, the "tour pointers" that indicated to users that they needed to scroll the "snippets modal" were misaligned. Their position did not account for the iframe offset of the modal. task-4072655 Forward-Port-Of: odoo/odoo#181146
Original PR description
Before this commit, the "tour pointers" that indicated to users that they needed to scroll the "snippets modal" were misaligned. Their position did not account for the iframe offset of the modal. task-4072655 Forward-Port-Of: odoo/odoo#181146
In the context of the industries we want to create custome js tours. The role of these tours is to explain some flows to the user in a more intuitive version than text. Currently those tours are counted in the mainenance line of code. This comportment is not intended. After this commit, we will look at the cloc_excluded argument in the manifest and exclude those from the maintenance line of code. task-4056239 Description of the issue/feature this PR addresses: Current behavior before
Original PR description
In the context of the industries we want to create custome js tours. The role of these tours is to explain some flows to the user in a more intuitive version than text. Currently those tours are counted in the mainenance line of code. This comportment is not intended. After this commit, we will look at the cloc_excluded argument in the manifest and exclude those from the maintenance line of code. task-4056239 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 Forward-Port-Of: odoo/odoo#178190
Steps to reproduce: - Create 2 websites and give them a different domain - Go to any product page (shared between all websites) - Check the source code with https://validator.schema.org/: the URL and image microdata start with the wrong domain. => Case 1: if no company_id was set on the product, the URL returns `web.base.url`. => Case 2: if a company_id is set and that company has a website_id set, both websites return the company's website domain. This commit makes sure to return the cu
Original PR description
Steps to reproduce: - Create 2 websites and give them a different domain - Go to any product page (shared between all websites) - Check the source code with https://validator.schema.org/: the URL and image microdata start with the wrong domain. => Case 1: if no company_id was set on the product, the URL returns `web.base.url`. => Case 2: if a company_id is set and that company has a website_id set, both websites return the company's website domain. This commit makes sure to return the current website domain. opw-4113559 Forward-Port-Of: odoo/odoo#179455
In the Inventory Adjustments view, it is currently possible to select any user for a count request or assign any user to a specific stock.quant, even portal users. This fix ensures only stock users are selected. task 4207784 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181376
Original PR description
In the Inventory Adjustments view, it is currently possible to select any user for a count request or assign any user to a specific stock.quant, even portal users. This fix ensures only stock users are selected. task 4207784 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181376
Steps to reproduce: -go to shop -choose product which has multi option attribute -tick atleast one attribute -add to cart Issue: -multi option values are not visible in cart description in mobile view. Cause: -the issue caused due to use of d-none and d-md-block classes, due to this it will not show in small size devices. Fix: -replace d-none and d-md-block with empty string, so now the values will show for all devices. opw-3853263 --- I confirm I have signed the CLA a
Original PR description
Steps to reproduce: -go to shop -choose product which has multi option attribute -tick atleast one attribute -add to cart Issue: -multi option values are not visible in cart description in mobile view. Cause: -the issue caused due to use of d-none and d-md-block classes, due to this it will not show in small size devices. Fix: -replace d-none and d-md-block with empty string, so now the values will show for all devices. opw-3853263 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#178308
Finetuning of #176391, when ecommerce access was disabled to public users, the admin were unable to reference /shop urls even in restricted parts of the website if needed, because autocomplete didn't suggest those links anymore. Forward-Port-Of: odoo/odoo#181680
Original PR description
Finetuning of #176391, when ecommerce access was disabled to public users, the admin were unable to reference /shop urls even in restricted parts of the website if needed, because autocomplete didn't suggest those links anymore. Forward-Port-Of: odoo/odoo#181680
readonly was added to product template in commit 0d75323600a14dd8964b0b3d29d69aa0fde3ee45 When it should've just been on product.product, so users were no longer able to set as favorite from form view. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181531
Original PR description
readonly was added to product template in commit 0d75323600a14dd8964b0b3d29d69aa0fde3ee45 When it should've just been on product.product, so users were no longer able to set as favorite from form view. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181531
Before this commit, if there was an issue with printing via an ePoS printer, the system did not allow for printing the receipt through the web as a fallback. This was due to the erroneous passing of the error object instead of the receipt content. opw-4209073 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181595
Original PR description
Before this commit, if there was an issue with printing via an ePoS printer, the system did not allow for printing the receipt through the web as a fallback. This was due to the erroneous passing of the error object instead of the receipt content. opw-4209073 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181595