Tuesday, October 8, 2024
44 changes · 18.0
Enhancements to existing features
Mail suggestions and mentioned messages now use different icons for conversation threads and channels. This makes it easier for users to quickly recognize the type of discussion they are selecting or viewing.
Original PR description
**Current behavior before PR:** Channels and threads shared the same icon in the suggestion list and mentioned messages, making it difficult to visually differentiate between them. **Desired behavior after PR is merged:** This PR aims to display separate icons for threads and channels in the suggestion list and mentioned messages, improving clarity and differentiation between the two. Backport of #181742 Task-4203558 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website generator now includes the access token needed for the 18.0 server connection. This helps ensure the tool can continue reaching the service it depends on to generate websites.
Original PR description
Add the token necessary to get access to the WSS server.
A new automated test was added to help confirm that payment auto-validation works as expected. This reduces the risk of future changes disrupting payment processing behavior, with no direct change for end users.
Original PR description
This commit adds a unit test for payments auto validation. task- 4213193
Resolved issues and error corrections
A spelling mistake in the invoice PDF report was corrected. This improves the professionalism and clarity of customer-facing invoice documents without changing how invoicing works.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
Restaurant point-of-sale order transfers were streamlined by removing a hidden shared state that made the process harder to maintain. This reduces the chance of transfer-related issues and makes future improvements safer, with little direct change for everyday users.
Original PR description
Backport of https://github.com/odoo/odoo/pull/179363 In pos restaurant when doing a transfer we set the order to transfer in a key of `pos` and then whenever we have a click handler we have to check if there is an order to transfer or not and adapt the code accordingly. This is inconvenient and error prone. In this commit we adapt the code such that we no longer need to store this global state and that the transfering logic is handled in a sequential way. task: 4167376 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Before this commit, there was an issue where a partner associated with a draft order might not be loaded. This could lead to users having to re-enter the customer's information if the page was refreshed. opw-4207881 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182625
Original PR description
Before this commit, there was an issue where a partner associated with a draft order might not be loaded. This could lead to users having to re-enter the customer's information if the page was refreshed. opw-4207881 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182625
This fixes a visual issue in the Discuss sidebar where the selected conversation could lose its background color and show only an outline. The change restores the expected highlight, making it clearer which item is currently active without affecting the previous hover-status fix.
Original PR description
Follow-up of https://github.com/odoo/odoo/pull/182394 PR above fixed an issue where mouse-hovering IM status lead to buggy background color. This happens because the IM status requires `bg-inherit`…
Follow-up of https://github.com/odoo/odoo/pull/182394 PR above fixed an issue where mouse-hovering IM status lead to buggy background color. This happens because the IM status requires `bg-inherit` in order to determine the right background color to crop the avatar. Buttons have specific bg-color that cannot simply be overidden with `bg-inherit`, so this was defined in SCSS with higher specificity. A consequence of increasing the specificity of this rule was that it became more specific than the one for active item, so the active item in discuss sidebar had no background color but only the outline. This commit fixes the issue by increasing the stylerule specificity of active item background color, so that this is higher than the `bg-inherit`. The specific bg-inherit is still important to fix the issue in PR above. Before / After  
This fixes an issue in Point of Sale that prevented custom extensions from saving additional related sales records. Businesses using customized POS workflows can now add and store extra order details more reliably.
Original PR description
At the moment it is not possible to add new X2many relations to a model inside the `SERIALIZABLE_MODELS` list. I would like to add an One2many relation to the `pos.order` model: ```python class…
At the moment it is not possible to add new X2many relations to a model inside the `SERIALIZABLE_MODELS` list.
I would like to add an One2many relation to the `pos.order` model:
```python
class PosOrder(models.Model):
_inherit = "pos.order"
example_items = fields.One2many("example.item", "order_id")
```
```javascript
import { Base } from "@point_of_sale/app/models/related_models";
import { registry } from "@web/core/registry";
export class ExampleItem extends Base {
static pythonModel = "example.item";
setup(vals) {
super.setup(vals);
}
// ...
}
registry.category("pos_available_models").add(ExampleItem.pythonModel, ExampleItem);
```
A call to [`order.serialize`](https://github.com/abichinger/odoo/blob/f9de1eef6dd403157c0222dc75de85c8b7b59e3c/addons/point_of_sale/static/src/app/models/related_models.js#L191) throws the following error:
```
Trying to create a non serializable record example.item
```
After this PR is merged it is possible to add new models to the list of serializable models:
```javascript
import { SERIALIZABLE_MODELS } from "@point_of_sale/app/models/related_models"
SERIALIZABLE_MODELS.push("example.item")
```
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update prevents an error when importing records that use a custom property field linked to another record type but missing its target setup. It also makes import errors for numeric property fields clearer, helping users understand and correct import files faster.
Original PR description
## [FIX] core: fix traceback when importing many2one Property without comodel It is possible to create a Property field as many2one but without choosing a model. But it generates a Traceback in the import. ## [IMP] core: improve error message for import of Properties int/float.
This fix adds a standard identification header when Odoo hardware drivers open websocket connections. It helps prevent legitimate hardware-related connections from being blocked by proxy firewalls, improving reliability in protected network environments.
Original PR description
**This is a forward-port of a fix that was manually committed to saas-17.4 during the OXP:** `websocket.WebSocketApp` doesn't set any fingerprint header, like no user-agent or origin, ... It can lead to issues when using a proxy firewall, such as HAProxy, as it could lead to the fingerpint to be 00000000-00000000-00000000-00000000, which can be seen as not legitimate, and the requests to be rejected for that reason. By setting a user-agent, we overcome this limitation 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
Users who end a call while camera or screen sharing permission is still pending will no longer see an error after responding to the permission prompt. This improves reliability in Odoo Discuss calls by safely handling cases where the call is no longer active.
Original PR description
Fixed an issue where an error is thrown if the call is ended before accepting/rejecting the camera or screen access. After ending the call, accepting or rejecting access would trigger an error due to the absence of a check for whether the call is still active. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes visual issues in website product carousels so product images and text display correctly. It also removes an unwanted mobile scrollbar caused by carousel arrows, improving the shopping experience on smaller screens.
Original PR description
This commit fixes two layout issues: 1. In the dynamic products snippet: using the layout "centered", the image was overlapping the text of the card due to having no height set for the image. 2. On…
This commit fixes two layout issues: 1. In the dynamic products snippet: using the layout "centered", the image was overlapping the text of the card due to having no height set for the image. 2. On the dynamic carousel snippet: on mobile, a scrollbar was appearing because of the arrow buttons. task-4215589 | | Before | After | |--------|--------|--------| | Image issue |  | <img width="1394" alt="Capture d’écran 2024-10-08 à 09 01 46" src="https://github.com/user-attachments/assets/ba710372-dd08-4854-8cfd-c8c999197dca"> | | Scroll issue |  | <img width="447" alt="Capture d’écran 2024-10-08 à 09 02 25" src="https://github.com/user-attachments/assets/415aa9f3-94fd-45e1-9743-ad1ac0a3a205"> | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change makes an automated live chat test more consistent by ensuring the page is focused before a keyboard shortcut is used. It reduces random test failures, helping maintain confidence in the live chat functionality without changing the user experience.
Original PR description
In this commit, we click on element to set the focus on window before press ctrl+k. This fix an undeterministic error. 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 change fixes the setup for web development tooling so it works correctly with Odoo 18 and future versions. It helps teams maintain code quality checks consistently before changes are submitted, reducing avoidable issues in development.
Original PR description
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
Fixed a display issue where section headers were hidden when customers grouped helpdesk tickets by sales order in the portal. This makes grouped ticket lists easier to read and navigate for portal users.
Original PR description
…ing by SO in portal When grouping by SO in the helpdesk ticket portal list view, the group headers were invisible. That was cause by changing the groupby options from ``sale_line_id`` to ``sale_order_id`` without changing the condition in the template that would draw the group headers. In this commit we change the condition to ``groupby == 'sale_order_id``. task-4213896
Before this commit, the product screen displayed an image of one of the product's variants, contrary to the expectation of showing the product template image. This commit corrects the behavior to ensure the product template image is displayed. opw-4234351 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182610
Original PR description
Before this commit, the product screen displayed an image of one of the product's variants, contrary to the expectation of showing the product template image. This commit corrects the behavior to ensure the product template image is displayed. opw-4234351 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182610
Steps: --- - Open POS Restaurant - Edit floor & click on a table - Rapidly click add table multiple times - Multiple tables with the same number are created - Duplicate tables also overlap the original table completely Issue: --- Duplicate tables should not be created. Cause: --- The "Add" button that creates the table calls an async function. Rapid clicks make new calls even before the promises are successful. FIX: --- Disable the button and creation until the previous tabl
Original PR description
Steps: --- - Open POS Restaurant - Edit floor & click on a table - Rapidly click add table multiple times - Multiple tables with the same number are created - Duplicate tables also overlap the original table completely Issue: --- Duplicate tables should not be created. Cause: --- The "Add" button that creates the table calls an async function. Rapid clicks make new calls even before the promises are successful. FIX: --- Disable the button and creation until the previous table is created so that rapid clicks are handled. task-3956310 Forward-Port-Of: odoo/odoo#182410 Forward-Port-Of: odoo/odoo#169937
Currently, if you change the number of customers in the restaurant, the final order will show a 0 as the number of guests. Steps to reproduce: ------------------- * Go to the **Point of sale** App * Open restaurant session * Select a table, add items on the order * Change the guest count * Send order to kitchen > Observation: Guest count resets to 1 * Pay the order * Select the order outside the session > Observation: Guest count is 0 Why the fix: ------------ After the refacto
Original PR description
Currently, if you change the number of customers in the restaurant, the final order will show a 0 as the number of guests. Steps to reproduce: ------------------- * Go to the **Point of sale** App *…
Currently, if you change the number of customers in the restaurant, the final order will show a 0 as the number of guests. Steps to reproduce: ------------------- * Go to the **Point of sale** App * Open restaurant session * Select a table, add items on the order * Change the guest count * Send order to kitchen > Observation: Guest count resets to 1 * Pay the order * Select the order outside the session > Observation: Guest count is 0 Why the fix: ------------ After the refactoring https://github.com/odoo/odoo/commit/2a5f1abf2e98ee09fa7a912b87d71879b5ff260b, we use the same field structure as in python. Therefore, when we load/create a pos order we use `this.customerCount` is undefined since in python the field is called `customer_count`. https://github.com/odoo/odoo/blob/ae0b903b753decab1592df09a1e3cf1baa55f566/addons/pos_restaurant/static/src/overrides/models/pos_order.js#L8 By changing `this.customerCount` for `this.customer_count` we not only retreive the correct field when loading an order in the session but we also send the correct information to the backend. opw-4182891 Enterprise: https://github.com/odoo/enterprise/pull/71328 Forward-Port-Of: odoo/odoo#182529
### Steps to reproduce the issue: 1. Create a Parent Company and a Branch Company 2. In the Parent Company, click on the "Branches" Smart Button 3. From there, create another Branch Company 4. On save, this error appears: > odoo.exceptions.UserError: Incompatible companies on records: > - [Company Name] belongs to company [Company Name] and 'Address' (partner_id: [Company Name]) belongs to another company. ### Explanation: When accessing its branches, the context key `def
Original PR description
### Steps to reproduce the issue: 1. Create a Parent Company and a Branch Company 2. In the Parent Company, click on the "Branches" Smart Button 3. From there, create another Branch Company 4. On…
### Steps to reproduce the issue: 1. Create a Parent Company and a Branch Company 2. In the Parent Company, click on the "Branches" Smart Button 3. From there, create another Branch Company 4. On save, this error appears: > odoo.exceptions.UserError: Incompatible companies on records: > - [Company Name] belongs to company [Company Name] and 'Address' (partner_id: [Company Name]) belongs to another company. ### Explanation: When accessing its branches, the context key `default_parent_id` is set to the Parent Company's `id`. It is used to make sure the Branch Company has the Parent Company as `parent_id`. https://github.com/odoo/odoo/blob/4d5195d6756d47c33929fffa972ee801bb833622/odoo/addons/base/models/res_company.py#L423-L426 It is not removed when creating the Branch Partner, and this value will be used to assign a `parent_id` to the Branch Partner through `get_default`, this alone could create an out of range error if there is no `res.partner` with the same `id` as the Parent Company. https://github.com/odoo/odoo/blob/fbf95d3c4655b23554fe5dfa136382472041c195/odoo/addons/base/models/res_partner.py#L193-L197 https://github.com/odoo/odoo/blob/71b6eeed0a648934525cd758afebdb87500ec939/odoo/models.py#L1488-L1491 If there is a Parent Partner, it will give its `company_id` to the Branch Partner. Afterwards, `stock.warehouse` is created with the Branch Company as `company_id` and the Branch Partner as `partner_id`. https://github.com/odoo/odoo/blob/78e44dc5a3dee67956f380fa468bab02692ce5ac/addons/stock/models/res_company.py#L202-L207 During its creation, `stock.warehouse` will call `_check_company` and, when `res.partner.company_id` is not in `stock.warehouse.company_id.parent_ids`, will report the inconsistency. https://github.com/odoo/odoo/blob/71b6eeed0a648934525cd758afebdb87500ec939/odoo/models.py#L4068-L4073 https://github.com/odoo/odoo/blob/71b6eeed0a648934525cd758afebdb87500ec939/odoo/models.py#L185-L189 ### Fix reasoning: Removing the problematic context key `default_parent_id` during the creation of the Branch Partner will avoid any out of range error and most importantly will not assign a default value to the Partner when it should not have one. opw-4194396 Forward-Port-Of: odoo/odoo#182565 Forward-Port-Of: odoo/odoo#182342
Following the commit https://github.com/odoo/odoo/commit/236120ad5de2c87494c662dc3149457d68e887da, which aimed to prevent displaying a variant's price as the product template price to avoid confusion, an issue arose where the pricelist was not considered for products without variants. This commit resolves the issue by ensuring the pricelist is applied correctly, especially when the variant's price matches the product template's price. opw-4205688 --- I confirm I have signed the CLA and re
Original PR description
Following the commit https://github.com/odoo/odoo/commit/236120ad5de2c87494c662dc3149457d68e887da, which aimed to prevent displaying a variant's price as the product template price to avoid confusion, an issue arose where the pricelist was not considered for products without variants. This commit resolves the issue by ensuring the pricelist is applied correctly, especially when the variant's price matches the product template's price. opw-4205688 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182729
Some pot files were out of date/missing, some .po files were out of date/missing/missing translations --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182341 Forward-Port-Of: odoo/odoo#182056
Original PR description
Some pot files were out of date/missing, some .po files were out of date/missing/missing translations --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182341 Forward-Port-Of: odoo/odoo#182056
When computing the cheapest line of an order to apply a discount on it, combo line should be considered as one product as it is done in the sale app. Steps to reproduce: ------------------- * Setup a combo product * Setup a discount program that applies on the cheapest line * Open a PoS and add the combo product > Observation: The discount would be applied on the cheapest product of the combo instead of the whole combo Why the fix: ------------ When we look for the cheapest line an
Original PR description
When computing the cheapest line of an order to apply a discount on it, combo line should be considered as one product as it is done in the sale app. Steps to reproduce: ------------------- * Setup a combo product * Setup a discount program that applies on the cheapest line * Open a PoS and add the combo product > Observation: The discount would be applied on the cheapest product of the combo instead of the whole combo Why the fix: ------------ When we look for the cheapest line and we encounter a combo product we sum all the lines of the combo to compute it's total price opw-4033960 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182411 Forward-Port-Of: odoo/odoo#180482
Currently, a traceback is occurring when the user tries to export a translation without selecting the model when the export type is `model` To reproduce this issue: 1) Try to export a translation without a model with the export type as `model` Error:- ``` KeyError: False ``` We can see that the model is not required when exporting a translation when the export type is `model`. This leads to a Keyerror from the below line https://github.com/odoo/odoo/blob/ce786882fe8527864
Original PR description
Currently, a traceback is occurring when the user tries to export a translation without selecting the model when the export type is `model` To reproduce this issue: 1) Try to export a translation without a model with the export type as `model` Error:- ``` KeyError: False ``` We can see that the model is not required when exporting a translation when the export type is `model`. This leads to a Keyerror from the below line https://github.com/odoo/odoo/blob/ce786882fe852786441ab86d9311aecc143cf57d/odoo/addons/base/wizard/base_export_language.py#L43-L44 Making the model as required in a stable version if the export type is `model` in XML is not stable friendly. So raising a `Usererror` will resolve this issue in stable. Note:- Will make the model as required if the export_type is `model` in master in xml sentry-5686584762 Forward-Port-Of: odoo/odoo#182673 Forward-Port-Of: odoo/odoo#181114
Manual back porting the part of 02f78498972a6fc7d560c0e6c0a5b3bf63eb58d3 that add common for account journal dashbaord tests. opw-4182523 Forward-Port-Of: odoo/odoo#182436 Forward-Port-Of: odoo/odoo#182182
Original PR description
Manual back porting the part of 02f78498972a6fc7d560c0e6c0a5b3bf63eb58d3 that add common for account journal dashbaord tests. opw-4182523 Forward-Port-Of: odoo/odoo#182436 Forward-Port-Of: odoo/odoo#182182
a bug was reported that when there were multiple available pricelists, the sequence provided by the admin wasn't taken into consideration. This fix returns the first available pricelist based on the model's order, instead of based on the creation order. > [EBC] pricelist country detection issue with more than 2 pricelists: > https://drive.google.com/file/d/1eHlCqA_2CW2HB_IvGlOscQhXZVi_Owq3/view?usp=sharing --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/sub
Original PR description
a bug was reported that when there were multiple available pricelists, the sequence provided by the admin wasn't taken into consideration. This fix returns the first available pricelist based on the model's order, instead of based on the creation order. > [EBC] pricelist country detection issue with more than 2 pricelists: > https://drive.google.com/file/d/1eHlCqA_2CW2HB_IvGlOscQhXZVi_Owq3/view?usp=sharing --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182100
Adding unit test to ensure that the behaviour fixed by PR https://github.com/odoo/odoo/pull/181752 persists in the future --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181792
Original PR description
Adding unit test to ensure that the behaviour fixed by PR https://github.com/odoo/odoo/pull/181752 persists in the future --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181792
Starting from `18.0`, text highlight effects are used for snippets customizations in themes, which means snippets can be provided with highlighted content (in a minimal format) that allows the JS code to rebuild the SVGs later when it's needed: ``` <span class="o_text_highlight o_text_highlight_[highlightId]" style="--text-highlight-width: ...; --text-highlight-color: ...;"> text content ... </span> ``` The highlights code provides some tools to adapt them when the content
Original PR description
Starting from `18.0`, text highlight effects are used for snippets customizations in themes, which means snippets can be provided with highlighted content (in a minimal format) that allows the JS…
Starting from `18.0`, text highlight effects are used for snippets
customizations in themes, which means snippets can be provided with
highlighted content (in a minimal format) that allows the JS code to
rebuild the SVGs later when it's needed:
```
<span class="o_text_highlight o_text_highlight_[highlightId]"
style="--text-highlight-width: ...; --text-highlight-color: ...;">
text content ...
</span>
```
The highlights code provides some tools to adapt them when the content
is changed: add & remove text, resize… But It doesn't handle the case
of a dropped snippet with highlights.
The goal of this commit is to be able to build the highlights of a
snippet once dropped.
Remark: The behavior fixed in this commit wasn't possible until `18.0`
(with themes snippets using highlights) but we target `17.0` to handle
every possible customization that uses the effects before themes
refactoring.
task-4215788
Forward-Port-Of: odoo/odoo#182465
Forward-Port-Of: odoo/odoo#182208Steps to reproduce: - Go to a website blog post page > Drop a "Table of Content" snippet inside the blog post content. - Switch to translation mode > Try to translate a TOC title > The corresponding navigation label won't be automatically updated. - Save > The translation will be applied depending on whether the title and the navbar item have exactly the same content or not [*]. Starting from [1], the translation of a "Table of Content" navigation label was automatically applied
Original PR description
Steps to reproduce: - Go to a website blog post page > Drop a "Table of Content" snippet inside the blog post content. - Switch to translation mode > Try to translate a TOC title > The corresponding…
Steps to reproduce:
- Go to a website blog post page > Drop a "Table of Content" snippet
inside the blog post content.
- Switch to translation mode > Try to translate a TOC title > The
corresponding navigation label won't be automatically updated.
- Save > The translation will be applied depending on whether the title
and the navbar item have exactly the same content or not [*].
Starting from [1], the translation of a "Table of Content" navigation
label was automatically applied (only the text content) when the
corresponding title was translated, and the user was also warned when
trying to edit them directly in "translation" mode.
This implementation relied on the field observers mechanism to
synchronize translations for the table of content navigation and content
headers.
Unfortunately, the field mutations handler doesn't take translation
fields into consideration when they are part of another field's DOM:
1. Before trying to set the updated field value on its duplicates in the
DOM, the handler is using `_pauseOdooFieldObservers()` to `disconnect()`
all the observers of other fields to prevent receiving mutations from
its own updates.
2. In translation mode, and when the updated field has some inner
translation `<span/>`s, their observers will be disconnected too, and
their mutations will never be linked to the right target.
3. Finally, the `_observeOdooFieldChanges()` is used to observe the
fields again.
Let's take the following example:
```
<div data-oe-model="...">
<span data-oe-translation-initial-sha="...">Text Content</span>
</div>
```
In this case, two observers are created, one for the `[data-oe-model]`
(`O1`) and the other for the `[data-oe-translation-initial-sha]` (`O2`).
When editing the "Text Content" of the `<span/>`, `O1` will be triggered
(for the parent field) and will temporarily disconnect all other fields
observers (including (`O2`)) and as a consequence, `O2` won't be able to
synchronize the value of the translation field on the ones with the same
`data-oe-translation-initial-sha` (which is the same situation as in a
"Table of Content" block).
The goal of this commit is to simply prevent disconnecting inner
translation field observers to allow the translation synchronization
inside a parent field DOM.
[*]: Remark: when a TOC title and its navigation item have different DOM
(e.g., the font color of the title changed), the code from [1] will
always temporarily set the same `data-oe-translation-initial-sha` on
both of them (and restore the original ones before saving), which
explains the different translation values when the field observers are
not working correctly.
[1]: https://github.com/odoo/odoo/commit/5776a358e1b42186d2c26c9bc25010a12811f416
opw-3990039
opw-3888871
Forward-Port-Of: odoo/odoo#178439
Forward-Port-Of: odoo/odoo#176198This **PR** introduces new TDS rates in accordance with the Union Budget 2024. **task**-4138335 Forward-Port-Of: odoo/odoo#181797
Original PR description
This **PR** introduces new TDS rates in accordance with the Union Budget 2024. **task**-4138335 Forward-Port-Of: odoo/odoo#181797
Steps to reproduce =================== - Create a survey having MCQ-type questions. - Create a live session. - Copy & paste the link into another browser. - Start giving the answer. - Try to submit the answer which is mandatory in MCQ. - The alert box overlaps the options. This PR addresses the issue and adds the margin between the options and the alert box. Task-4231590 Forward-Port-Of: odoo/odoo#182532
Original PR description
Steps to reproduce =================== - Create a survey having MCQ-type questions. - Create a live session. - Copy & paste the link into another browser. - Start giving the answer. - Try to submit the answer which is mandatory in MCQ. - The alert box overlaps the options. This PR addresses the issue and adds the margin between the options and the alert box. Task-4231590 Forward-Port-Of: odoo/odoo#182532
**How to reproduce:** - Go to website, then on events - Open edit mode - Select 'Template Badge' - Select List from dropdown - Open a mobile view **Specifications:** Template badge is overlapped with the event details, change its position for mobile view. Add it above location. **After this PR:** Template Badge's position will be changed in mobile view and will no longer be overlapped by the content. Task-4210363 Forward-Port-Of: odoo/odoo#182323
Original PR description
**How to reproduce:** - Go to website, then on events - Open edit mode - Select 'Template Badge' - Select List from dropdown - Open a mobile view **Specifications:** Template badge is overlapped with the event details, change its position for mobile view. Add it above location. **After this PR:** Template Badge's position will be changed in mobile view and will no longer be overlapped by the content. Task-4210363 Forward-Port-Of: odoo/odoo#182323
Maybe not the right approach, but to put the issue over the table at least. Users can copy paste their html signatures from whatever source, and that can lead to buggy behaviors when that signatures are used in the editor. For this case, users copy-pasted from outlook their html signature containing nested comments like this ``` <!--<![endif]--> ``` This lead to a buggy behavior of the web_editor whenever those signatures were loaded in the template. For example, in the invoice s
Original PR description
Maybe not the right approach, but to put the issue over the table at least. Users can copy paste their html signatures from whatever source, and that can lead to buggy behaviors when that signatures are used in the editor. For this case, users copy-pasted from outlook their html signature containing nested comments like this ``` <!--<![endif]--> ``` This lead to a buggy behavior of the web_editor whenever those signatures were loaded in the template. For example, in the invoice sending template. In that case, the web_editor will rollback any attemped change in the mail composer when that code is loaded into the composer body editor. The issue is that those nested comments are detected incorrectly. So better simply ignore them as they don't add up any value. cc @Tecnativa TT51068 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182382
Issues: The test I created here had an inheritance which was in enterprise, as pointed by gawa https://github.com/odoo/odoo/pull/168930#issuecomment-2340200503 Solution: Correct the test to remove the inheritance. opw-3921156 Forward-Port-Of: odoo/odoo#179761
Original PR description
Issues: The test I created here had an inheritance which was in enterprise, as pointed by gawa https://github.com/odoo/odoo/pull/168930#issuecomment-2340200503 Solution: Correct the test to remove the inheritance. opw-3921156 Forward-Port-Of: odoo/odoo#179761
Steps to reproduce: - On a fresh DB install only project_hr_expense(Uninstall project_sale_expense). - Create a expense on a project. - Go to Project Updates/ Dashboard - i.e., project right side panel Issue: - You can see that there is no action click on Expense while there should be. Reason: - Incorrect configuration of attaching ids into the action causing this. Solution: - Fixed the incorrect in which action is being generated. Technical: - The issue only occurs w
Original PR description
Steps to reproduce:
- On a fresh DB install only project_hr_expense(Uninstall project_sale_expense).
- Create a expense on a project.
- Go to Project Updates/ Dashboard - i.e., project right side panel
Issue:
- You can see that there is no action click on Expense while there should be.
Reason:
- Incorrect configuration of attaching ids into the action causing this.
Solution:
- Fixed the incorrect in which action is being generated.
Technical:
- The issue only occurs when the project_hr_expense module is installed. If the project_sale_expense module is installed,
the issue does not reproduce because the expense action is handled properly.
task-4175573
Forward-Port-Of: odoo/odoo#182431
Forward-Port-Of: odoo/odoo#179717If an Amazon order has more than one item it was creating for each item an own shipping line even if it had not even a shipping price defined per item line. Info: @wt-io-it Forward-Port-Of: odoo/enterprise#70940
Original PR description
If an Amazon order has more than one item it was creating for each item an own shipping line even if it had not even a shipping price defined per item line. Info: @wt-io-it Forward-Port-Of: odoo/enterprise#70940
Change ----- UX improvement: a "Saved" message is displayed when leaving the template only if it is active, as it can be confusing for the user to not be able to find it (archived records are not visible by default). This happens when uploading a pdf as a document to sign. opw-4207093 Forward-Port-Of: odoo/enterprise#71078
Original PR description
Change ----- UX improvement: a "Saved" message is displayed when leaving the template only if it is active, as it can be confusing for the user to not be able to find it (archived records are not visible by default). This happens when uploading a pdf as a document to sign. opw-4207093 Forward-Port-Of: odoo/enterprise#71078
This is the second part of the pr renaming `customerCount` to `customer_count`. Why the fix: ------------ After the refactoring https://github.com/odoo/odoo/commit/2a5f1abf2e98ee09fa7a912b87d71879b5ff260b, we use the same field structure as in python. Therefore, when we load/create a pos order we use `this.customerCount` is undefined since in python the field is called `customer_count`. https://github.com/odoo/odoo/blob/ae0b903b753decab1592df09a1e3cf1baa55f566/addons/pos_restaurant/static/
Original PR description
This is the second part of the pr renaming `customerCount` to `customer_count`. Why the fix: ------------ After the refactoring https://github.com/odoo/odoo/commit/2a5f1abf2e98ee09fa7a912b87d71879b5ff260b, we use the same field structure as in python. Therefore, when we load/create a pos order we use `this.customerCount` is undefined since in python the field is called `customer_count`. https://github.com/odoo/odoo/blob/ae0b903b753decab1592df09a1e3cf1baa55f566/addons/pos_restaurant/static/src/overrides/models/pos_order.js#L8 By changing `this.customerCount` for `this.customer_count` we not only retreive the correct field when loading an order in the session but we also send the correct information to the backend. opw-4182891 Community: https://github.com/odoo/odoo/pull/182529 Forward-Port-Of: odoo/enterprise#71328
The vendor dropdown does not close when a extract box is clicked and a creation dialog opens. It would only close after the first click. In this commit the dropdown is closed straight away. Forward-Port-Of: odoo/enterprise#71039
Original PR description
The vendor dropdown does not close when a extract box is clicked and a creation dialog opens. It would only close after the first click. In this commit the dropdown is closed straight away. Forward-Port-Of: odoo/enterprise#71039
Before this PR: - When a partner had no invoices to report but was still included in the data with an empty VAT list (e.g., 'partner_vat': []), this caused a JSON schema error when submitting the data to the government portal. Issue: - The government schema does not accept empty key-value pairs for partner VATs, resulting in submission failures. After this PR: - The key-value pair for partner VAT is only included if there are valid invoice entries associated with the partner. This preve
Original PR description
Before this PR: - When a partner had no invoices to report but was still included in the data with an empty VAT list (e.g., 'partner_vat': []), this caused a JSON schema error when submitting the data to the government portal. Issue: - The government schema does not accept empty key-value pairs for partner VATs, resulting in submission failures. After this PR: - The key-value pair for partner VAT is only included if there are valid invoice entries associated with the partner. This prevents empty entries from being added to the JSON payload, avoiding schema errors. Code change: - A condition was added to check if the partner has invoice data before appending the VAT key to the JSON structure. Task ID: 4239740 Forward-Port-Of: odoo/enterprise#71419
Some pot files were out of date/missing, some .po files were out of date/missing/missing translations. Also delete unnecessary fr_BE.po files that didn't have any translations in them Forward-Port-Of: odoo/enterprise#71208 Forward-Port-Of: odoo/enterprise#71027
Original PR description
Some pot files were out of date/missing, some .po files were out of date/missing/missing translations. Also delete unnecessary fr_BE.po files that didn't have any translations in them Forward-Port-Of: odoo/enterprise#71208 Forward-Port-Of: odoo/enterprise#71027
`createRecord` overrides the list view controller method but only for mobile mode. Steps to reproduce: - Go to Fields Service app. - Open the list view. - Click the new button to create a task > ** Nothing happens **. opw-4225488 Forward-Port-Of: odoo/enterprise#71375
Original PR description
`createRecord` overrides the list view controller method but only for mobile mode. Steps to reproduce: - Go to Fields Service app. - Open the list view. - Click the new button to create a task > ** Nothing happens **. opw-4225488 Forward-Port-Of: odoo/enterprise#71375
Before this commit, auditing a groupby line generated from a custom groupby crashed, because the custom groupby field was assumed to be a field of account.move.line, which it obviously wasn't (that's the very reason custom groupby exist for !). We solve that by calling the domain builder defined for this groupby in order to generate its audit domain. This bug is not reproducible in standard Odoo. Custom groupby on reports were implemented to support the 18.0 refactoring of the Intrastat Re
Original PR description
Before this commit, auditing a groupby line generated from a custom groupby crashed, because the custom groupby field was assumed to be a field of account.move.line, which it obviously wasn't (that's the very reason custom groupby exist for !). We solve that by calling the domain builder defined for this groupby in order to generate its audit domain. This bug is not reproducible in standard Odoo. Custom groupby on reports were implemented to support the 18.0 refactoring of the Intrastat Report, and are at the moment only used there. The Intrastat report does not support audit by clicking the amounts, so it's not subject to the bug. This feature will likely be used more in the future, though. Forward-Port-Of: odoo/enterprise#71102
As the Fixed Establishment is no more an obligation for the government, we remove this information from the xml export of the OSS sales report opw-3981681 Forward-Port-Of: odoo/enterprise#71130 Forward-Port-Of: odoo/enterprise#66876
Original PR description
As the Fixed Establishment is no more an obligation for the government, we remove this information from the xml export of the OSS sales report opw-3981681 Forward-Port-Of: odoo/enterprise#71130 Forward-Port-Of: odoo/enterprise#66876
#### Before this PR: 'Share Availabilities' button was placed out of screen in mobile view. Related Commits - https://github.com/odoo/enterprise/commit/94c376f19b49033eb1c3d8544a6905960ee1ca05, https://github.com/odoo/enterprise/commit/017cf2479044c2ed360917e79eab5f1a0838d6aa #### After this PR: Share button is placed at bottom of screen, like v17.0 Task-4210037 Forward-Port-Of: odoo/enterprise#71163
Original PR description
#### Before this PR: 'Share Availabilities' button was placed out of screen in mobile view. Related Commits - https://github.com/odoo/enterprise/commit/94c376f19b49033eb1c3d8544a6905960ee1ca05, https://github.com/odoo/enterprise/commit/017cf2479044c2ed360917e79eab5f1a0838d6aa #### After this PR: Share button is placed at bottom of screen, like v17.0 Task-4210037 Forward-Port-Of: odoo/enterprise#71163