Thursday, March 28, 2024
39 changes · saas-17.1
Enhancements to existing features
This update streamlines the process of accessing analytic accounts within Odoo. Previously, the same code was repeatedly used to retrieve these accounts, leading to redundancy. This change creates a new function to avoid this duplication, improving efficiency and maintainability.
Original PR description
[IMP] analytic: Add a function to get the analytic accounts off of analytic_distribution dict, this improvement is to avoid rewriting the same code all over whenever we wanna get the accounts. [related PR](https://github.com/odoo/enterprise/pull/57159) opw-3756270 Forward-Port-Of: odoo/odoo#156866
Resolved issues and error corrections
When a manager uses auto plan on a shift and no suitable employee is found, Planning now shows a notification instead of appearing to do nothing. This helps users understand the outcome immediately and reduces confusion during scheduling.
Original PR description
Planning improvement:
- Notify the user when no match is found while using auto plan from a shift.
Steps:
-----------
- Install planning
- Create employee and set role
- Open Planning Gantt
- Create a new shift
- Click on the auto plan
issue:
-------
dict is returned without value.
{'open_shift_assigned': []}
task-3774045Miscellaneous changes
In https://github.com/odoo/odoo/commit/8e3283aabfd93a78eb4d72c4fd97f6a20ad08ef4 we solved the issue of onboarding progress records preventing the deletion of a company. We also added a test for this solution. In practice, it will not always make sense nor will it be allowed to delete a company and in some cases, the first thing that would fail is a foreign key from another model where it wouldn't make sense to cascade as we do for onboarding progress. Some modules create related records
Original PR description
In https://github.com/odoo/odoo/commit/8e3283aabfd93a78eb4d72c4fd97f6a20ad08ef4 we solved the issue of onboarding progress records preventing the deletion of a company. We also added a test for this solution. In practice, it will not always make sense nor will it be allowed to delete a company and in some cases, the first thing that would fail is a foreign key from another model where it wouldn't make sense to cascade as we do for onboarding progress. Some modules create related records when a company is created such that it would be cumbersome to bypass that. Therefore, we disable this test until a clean flow robust to all sorts of installed modules configuration is implemented. See runbot 60475 Task-3829936 Forward-Port-Of: odoo/odoo#159337
Fixed an issue in Field Service where duplicating a scheduled task assigned to more than one person could cause an error. This helps teams copy recurring or similar work orders without interruption.
Original PR description
Steps to reproduce: - Create a task with a planned date - Add two users to the task - Duplicate the task Issues: A traceback appears. opw-3809381
It cannot happen through the default SO form view, but some funny guys have found other ways to do it, even though it can be quite problematic, especially if the new pricelist is in another currency. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157742
Original PR description
It cannot happen through the default SO form view, but some funny guys have found other ways to do it, even though it can be quite problematic, especially if the new pricelist is in another currency. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157742
Current behavior: --- Brazilian phone numbers are not managed correctly following the 2016 changes in Brazil. (Adding a 9 to mobile phone numbers) Fix: --- Patched the phonenumbers library, adding a 9 at the right place for mobile phone numbers. opw-3694150 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#153282
Original PR description
Current behavior: --- Brazilian phone numbers are not managed correctly following the 2016 changes in Brazil. (Adding a 9 to mobile phone numbers) Fix: --- Patched the phonenumbers library, adding a 9 at the right place for mobile phone numbers. opw-3694150 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#153282
Since [1] when `extraClass` was introduced, styles are wrongly applied if an `extraClass` is defined on a `selectStyle` option, but both the class and the option modify the same CSS property. Typically, the "Round Corners" option sets the `border-radius` property and uses the `rounded` extra class. But that extra class specifies values for the `border-radius` properties. Without the class, `applyCSS` determines that the style of some corners is already `0px` and does therefore not need
Original PR description
Since [1] when `extraClass` was introduced, styles are wrongly applied if an `extraClass` is defined on a `selectStyle` option, but both the class and the option modify the same CSS property.…
Since [1] when `extraClass` was introduced, styles are wrongly applied if an `extraClass` is defined on a `selectStyle` option, but both the class and the option modify the same CSS property. Typically, the "Round Corners" option sets the `border-radius` property and uses the `rounded` extra class. But that extra class specifies values for the `border-radius` properties. Without the class, `applyCSS` determines that the style of some corners is already `0px` and does therefore not need to be added to the inline style. But once the class is added, this is not true anymore - and the `0px` should have been specified. This commit avoids this issue by applying the CSS again once the `extraClass` is added. Steps to reproduce: - Drop a "Text - Image" snippet. - Select the image. - Set the "Round Corners" to "50 0 0 0". - Press tab to leave the field. => The entered field values was transformed. [1]: https://github.com/odoo/odoo/commit/bf5b4b69330747af7b09d48e59218b78a29a4b14 task-3800288 Forward-Port-Of: odoo/odoo#159385 Forward-Port-Of: odoo/odoo#157434
This traceback arises when the payment status is 404. A comma at the end is forgotten while creating a tuple with a single record, which leads to a type error traceback. Error:- "TypeError: 'in <string>' requires string as left operand, not int" https://github.com/odoo/odoo/blob/7e3267fc69324a3c98d36983705a50420b5143f9/addons/payment_mercado_pago/const.py#L35-L39 https://github.com/odoo/odoo/blob/7e3267fc69324a3c98d36983705a50420b5143f9/addons/payment_mercado_pago/models/payment_tr
Original PR description
This traceback arises when the payment status is 404. A comma at the end is forgotten while creating a tuple with a single record, which leads to a type error traceback. Error:- "TypeError: 'in <string>' requires string as left operand, not int" https://github.com/odoo/odoo/blob/7e3267fc69324a3c98d36983705a50420b5143f9/addons/payment_mercado_pago/const.py#L35-L39 https://github.com/odoo/odoo/blob/7e3267fc69324a3c98d36983705a50420b5143f9/addons/payment_mercado_pago/models/payment_transaction.py#L165-L170 sentry-5103720097 Forward-Port-Of: odoo/odoo#159526 Forward-Port-Of: odoo/odoo#159433
1. Fixes an issue where the parent product wasn't correctly set when computing the routes of a component, leading on components from subcontracted products displaying the wrong route (as it was trying to resupply the selected warehouse instead of the subcontracted location). Note: This part of the fix is only necessary up to version `saas-16.4`, as it was fixed from `17.0` onwards through f9c58a61ee21f1ad955ee2a5a0e868de30ae083f. 2. If a route is found when searching for subcontracting route
Original PR description
1. Fixes an issue where the parent product wasn't correctly set when computing the routes of a component, leading on components from subcontracted products displaying the wrong route (as it was…
1. Fixes an issue where the parent product wasn't correctly set when computing the routes of a component, leading on components from subcontracted products displaying the wrong route (as it was trying to resupply the selected warehouse instead of the subcontracted location). Note: This part of the fix is only necessary up to version `saas-16.4`, as it was fixed from `17.0` onwards through f9c58a61ee21f1ad955ee2a5a0e868de30ae083f. 2. If a route is found when searching for subcontracting routes but doesn't lead to a way to resupply the stock (either buy buying or manufacturing something), then ignore the found rules and revert to the default of trying to resupply the stock location. This avoids issue when using reordering rules to resupply the subcontracted location instead, where the 'Buy' route would be hidden even if it was selected. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159383 Forward-Port-Of: odoo/odoo#158785
Steps to reproduce: ------------------- - create 2 websites (for one or two companies); - create 2 jobs; - publish job A in website 1; - publish job B in website 2; - as a public user go to website 1 and apply for job A; - go to website 2 and try to apply for job B; Issue: ------ When we encode the email address, we receive the message: ``` You already applied to another position recently. You can continue if it's not a mistake. ``` Cause: ------ We don't take into account th
Original PR description
Steps to reproduce: ------------------- - create 2 websites (for one or two companies); - create 2 jobs; - publish job A in website 1; - publish job B in website 2; - as a public user go to website 1 and apply for job A; - go to website 2 and try to apply for job B; Issue: ------ When we encode the email address, we receive the message: ``` You already applied to another position recently. You can continue if it's not a mistake. ``` Cause: ------ We don't take into account the website linked to the job we are applying for. Solution: --------- Incorporate the website into the domain for application search. opw-3798670 Forward-Port-Of: odoo/odoo#159263
**Description of the issue/feature this PR addresses:** Change the way odoo compares product's attributes on website. **Current behavior before PR:** By default Odoo does only compare attributes of type "create_variant" = "dynamic" or "always" but unfortunately it does not allow to compare attributes with "create_variant" = "no_variant". **Desired behavior after PR is merged:** Odoo allows to compare attributes with "no_variant" See also: - https://github.com/odoo/odoo/pull
Original PR description
**Description of the issue/feature this PR addresses:** Change the way odoo compares product's attributes on website. **Current behavior before PR:** By default Odoo does only compare attributes of type "create_variant" = "dynamic" or "always" but unfortunately it does not allow to compare attributes with "create_variant" = "no_variant". **Desired behavior after PR is merged:** Odoo allows to compare attributes with "no_variant" See also: - https://github.com/odoo/odoo/pull/148326 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159552
Steps to reproduce: - Remove all permissions to write/create/delete a view for the user "demo" - Open a view form with "demo" user Actual result: - View code is displayed in plain text and with formatting  Expected result: - View code is displayed with formatting only - You can't edit the view or the translations opw-3776073 --- I confirm I have signed the CLA and read the PR
Original PR description
Steps to reproduce: - Remove all permissions to write/create/delete a view for the user "demo" - Open a view form with "demo" user Actual result: - View code is displayed in plain text and with formatting  Expected result: - View code is displayed with formatting only - You can't edit the view or the translations opw-3776073 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159523 Forward-Port-Of: odoo/odoo#159216
Description of the issue/feature this PR addresses: Avoid ugly URL if no variant on your eCommerce. Current behavior before PR: Product URL are like /shop/product-1#attr= Desired behavior after PR is merged: Product URL are like /shop/product-1 when no attributes --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159474
Original PR description
Description of the issue/feature this PR addresses: Avoid ugly URL if no variant on your eCommerce. Current behavior before PR: Product URL are like /shop/product-1#attr= Desired behavior after PR is merged: Product URL are like /shop/product-1 when no attributes --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159474
## Description On a database with heavy activity, it is possible for the payload size we pass for the `NOTIFY` query on the bus to be larger than what PostgreSQL allows by default, 8000 B. This limit is defined as [src1](https://github.com/postgres/postgres/blob/6686e9676c8faff4ee04c1574e117ae38f117efa/src/backend/commands/async.c#L158-L166) and is used to compare the size of the payload before processing [src2](https://github.com/postgres/postgres/blob/6686e9676c8faff4ee04c1574e117ae38f117efa/
Original PR description
## Description On a database with heavy activity, it is possible for the payload size we pass for the `NOTIFY` query on the bus to be larger than what PostgreSQL allows by default, 8000 B. This limit…
## Description On a database with heavy activity, it is possible for the payload size we pass for the `NOTIFY` query on the bus to be larger than what PostgreSQL allows by default, 8000 B. This limit is defined as [src1](https://github.com/postgres/postgres/blob/6686e9676c8faff4ee04c1574e117ae38f117efa/src/backend/commands/async.c#L158-L166) and is used to compare the size of the payload before processing [src2](https://github.com/postgres/postgres/blob/6686e9676c8faff4ee04c1574e117ae38f117efa/src/backend/commands/async.c#L654-L657) ## Fix - Binary split the payload into multiple chunks if it's exceeding the above-mentioned limit. The unit of splitting is a channel, so if the content of one channel itself is larger than said limit, it is not handled, but shouldn't occur under normal circumstances. - Introduce also a new ENV variable `ODOO_NOTIFY_PAYLOAD_MAX_LENGTH` to allow tweaking of the limit if they are running a handrolled custom PostgreSQL cluster. ## Reference opw-3650618 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159469 Forward-Port-Of: odoo/odoo#154463
Before that commit, the search defaults were removed from the WithSearch prop context by the WithSearch (search model). Fix that problem brings another one (that we also fix): The search defaults are not filtered when the WithSearch is started with a search model state or updated by its parent. Forward-Port-Of: odoo/odoo#159406 Forward-Port-Of: odoo/odoo#158833
Original PR description
Before that commit, the search defaults were removed from the WithSearch prop context by the WithSearch (search model). Fix that problem brings another one (that we also fix): The search defaults are not filtered when the WithSearch is started with a search model state or updated by its parent. Forward-Port-Of: odoo/odoo#159406 Forward-Port-Of: odoo/odoo#158833
## Issue: - When adding opportunity/lead to a contact using Studio and attempt to add a line, we encounter the following error:"TypeError: 'NewId' object is not iterable." ## Steps To Reproduce: - In a contact form open Studio and add a O2M field Customer (Lead/Opportunity) - Try to add a line - Notice Traceback Error "TypeError: 'NewId' object is not iterable" ## Solution: - The issue arises in the search domain of `return_if_relevant` , exactly in ("partner_id", "child_of", lead.pa
Original PR description
## Issue: - When adding opportunity/lead to a contact using Studio and attempt to add a line, we encounter the following error:"TypeError: 'NewId' object is not iterable." ## Steps To Reproduce: - In…
## Issue:
- When adding opportunity/lead to a contact using Studio and attempt to add a line, we encounter the following error:"TypeError: 'NewId' object is not iterable."
## Steps To Reproduce:
- In a contact form open Studio and add a O2M field Customer (Lead/Opportunity)
- Try to add a line
- Notice Traceback Error "TypeError: 'NewId' object is not iterable"
## Solution:
- The issue arises in the search domain of `return_if_relevant` , exactly in ("partner_id", "child_of", lead.partner_id.commercial_partner_id.id) where the type of `lead.partner_id.commercial_partner_id.id` is NewId since the partner is being edited to add a task. This action triggers the `parse` and `to_ids` methods with a value type of NewId. thus the error.
- The operator child_of expects a list of IDs, and the ids property refer to the record's origin ids. to resolve this, replace `commercial_partner_id.id` with `commercial_partner_id.ids`.
opw-3760372
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#159296Before this commit ================== Unable to activate the industry from the form view in the industry section. Additionally, the button in the form for upgrading would be called the button_immediate_upgrade method, resulting in errors. After this commit ================= Activation of the industry from the form view in the industry section is now possible. Furthermore, the issue with upgrading the industry from the form view has been resolved. task-3775729 Forward-Port-Of: odoo/od
Original PR description
Before this commit ================== Unable to activate the industry from the form view in the industry section. Additionally, the button in the form for upgrading would be called the button_immediate_upgrade method, resulting in errors. After this commit ================= Activation of the industry from the form view in the industry section is now possible. Furthermore, the issue with upgrading the industry from the form view has been resolved. task-3775729 Forward-Port-Of: odoo/odoo#157008
The barcode nomenclature allows to define custom prefix for gift cards. e.g. the default nomenclature in demo data allows both 043 or 044 as prefix for rule of type coupon. Therefore the hardcoded string with 044 doesn't allow to sell a gift card whose barcode does not start with this. Instead of hardcoding the value, fetch it from the configuration and the nomenclature that is defined in the settings. OPW-3499787 --- I confirm I have signed the CLA and read the PR guidelines at www
Original PR description
The barcode nomenclature allows to define custom prefix for gift cards. e.g. the default nomenclature in demo data allows both 043 or 044 as prefix for rule of type coupon. Therefore the hardcoded string with 044 doesn't allow to sell a gift card whose barcode does not start with this. Instead of hardcoding the value, fetch it from the configuration and the nomenclature that is defined in the settings. OPW-3499787 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159349
Issue: When using the Fullscreen mode of slides for articles we do run first the website animations before loading the slide, which will make the content to stay invisible since we will never actually perform the animation. Steps to reproduce: 1. Create a new course with an article content. 2. Add any block (text, image). 3. Add an animation to this piece of block. 4. Go to Fullscreen mode. Solution: We could manually instantiate and attach the WebsiteAnimate widget to the #wrapwr
Original PR description
Issue: When using the Fullscreen mode of slides for articles we do run first the website animations before loading the slide, which will make the content to stay invisible since we will never actually perform the animation. Steps to reproduce: 1. Create a new course with an article content. 2. Add any block (text, image). 3. Add an animation to this piece of block. 4. Go to Fullscreen mode. Solution: We could manually instantiate and attach the WebsiteAnimate widget to the #wrapwrap element to ensure animations are properly initialized and applied after the slide has loaded. opw-3757919 Forward-Port-Of: odoo/odoo#159032 Forward-Port-Of: odoo/odoo#155780
### [[FIX] website_slides: Stop sending completion mail on all slides removal](https://github.com/odoo/odoo/pull/153178/commits/f74fdbe8bb9a20d82caad5b78ec3292c34124fad) Construct deciding on whetheres an attendee should receive 'complete' mail, contains a condition which checks if the attendee has: number_completed_slides >= number of all slides This however falls into a corner case when there is no slides at all and computation gets triggered (which got introduced with commit [1] ).
Original PR description
### [[FIX] website_slides: Stop sending completion mail on all slides removal](https://github.com/odoo/odoo/pull/153178/commits/f74fdbe8bb9a20d82caad5b78ec3292c34124fad) Construct deciding on…
### [[FIX] website_slides: Stop sending completion mail on all slides removal](https://github.com/odoo/odoo/pull/153178/commits/f74fdbe8bb9a20d82caad5b78ec3292c34124fad) Construct deciding on whetheres an attendee should receive 'complete' mail, contains a condition which checks if the attendee has: number_completed_slides >= number of all slides This however falls into a corner case when there is no slides at all and computation gets triggered (which got introduced with commit [1] ). ### [This Commit Change] This commit introduces an additional check on the total number of slides in a channel. Consequently, records without any slides in the related channel will no longer send completion mail notification. ### [Reproduce] - Install website_slides - Create a new eLearning course with some content but do not publish it. - Add attendees. - Delete all the content. - BUG: emails about finishing the course got sent (Settings/Technical/Emails) ### [Why this commit modifies existing test] The test introduced with commit [2] checks if a specific template is used in email generation, requiring email generation to occur as a prerequisite. Originally (before [This Commit Change]), it relied on the default behavior that considered an attendee a completer even without any published slides, thus triggering an email. However, after this commit, with a course containing zero published slides, completion cannot occur, and thus, no emails are sent. For this reason slight alteration of the test setup is required allowing for the emails to get sent and in effect the test to perform its role. ### [References] [1] https://github.com/odoo/odoo/commit/3efa80847c4631febefc770b79bb786953a05b36 [2] https://github.com/odoo/odoo/commit/9a0231d5c3fa25f4ec63303cfc7eb8e2bc8ff9e1 opw-3703987 Forward-Port-Of: odoo/odoo#153178
Wild try to avoid failures on runbot builds (not reproducible locally). * simplify and split tour steps * correctly specify check steps as isCheck: true * make sure python setup is deterministic * batch template creation to avoid creation of dummy archived variant * target values for the variant to archive instead of its number in the list of variants runbot build error 25046 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-P
Original PR description
Wild try to avoid failures on runbot builds (not reproducible locally). * simplify and split tour steps * correctly specify check steps as isCheck: true * make sure python setup is deterministic * batch template creation to avoid creation of dummy archived variant * target values for the variant to archive instead of its number in the list of variants runbot build error 25046 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159270
In c983f8a5 we updated the `test_survey_invite_action` test to create surveys in batch instead of one by one. This is problematic because `session_code` (given by utility method) must be unique for all surveys. Task-3829536 Forward-Port-Of: odoo/odoo#159295
Original PR description
In c983f8a5 we updated the `test_survey_invite_action` test to create surveys in batch instead of one by one. This is problematic because `session_code` (given by utility method) must be unique for all surveys. Task-3829536 Forward-Port-Of: odoo/odoo#159295
Avoid redirect to forum/<name>/question/<post> that will rediret in all case to /forum/<name>/<post>. Forward-Port-Of: odoo/odoo#158148
Original PR description
Avoid redirect to forum/<name>/question/<post> that will rediret in all case to /forum/<name>/<post>. Forward-Port-Of: odoo/odoo#158148
Fix the property mobile display: - Set the popup in fullscreen. - The draggable feature is disabled. - Replacing the move up/move down property arrows in the popup by a back arrow so that the fullscreen popup can be closed. - Removing the min-width on the property popover to prevent the popup from going out of the screen. - Edit button is now always visible as hovering on it is not possible on mobile. Task-3635554 --- I confirm I have signed the CLA and read the PR guidelines at
Original PR description
Fix the property mobile display: - Set the popup in fullscreen. - The draggable feature is disabled. - Replacing the move up/move down property arrows in the popup by a back arrow so that the fullscreen popup can be closed. - Removing the min-width on the property popover to prevent the popup from going out of the screen. - Edit button is now always visible as hovering on it is not possible on mobile. Task-3635554 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#156886
Before this commit: =================== In coins/bills pop pup, if user adds some coin and removes quantity from any of the fields (blank space) then it's showing `NAN` and not calculating the other inputted value which is completely annoying. After this commit: ================== If user removes quantity from any of the fields (blank space) then the input will count `0` in the backend and calculate accordingly. task - 3728728 Forward-Port-Of: odoo/odoo#153770
Original PR description
Before this commit: =================== In coins/bills pop pup, if user adds some coin and removes quantity from any of the fields (blank space) then it's showing `NAN` and not calculating the other inputted value which is completely annoying. After this commit: ================== If user removes quantity from any of the fields (blank space) then the input will count `0` in the backend and calculate accordingly. task - 3728728 Forward-Port-Of: odoo/odoo#153770
Currently, an exception is generated when the user tries to access embed view of slides by following the steps: - Install "eLearning" with a demo data - Open external embed view of slide 1 by "/slides/embed_external/1" in url Stack Trace: ``` AttributeError: 'slide.channel' object has no attribute 'website_share_url' File "<1405>", line 313, in template_1405 File "<1405>", line 151, in template_1405_content File "<1405>", line 18, in template_1405_t_call_0 QWebException: Error
Original PR description
Currently, an exception is generated when the user tries to access embed view of slides by following the steps: - Install "eLearning" with a demo data - Open external embed view of slide 1 by…
Currently, an exception is generated when the user tries to access embed view of slides by following the steps: - Install "eLearning" with a demo data - Open external embed view of slide 1 by "/slides/embed_external/1" in url Stack Trace: ``` AttributeError: 'slide.channel' object has no attribute 'website_share_url' File "<1405>", line 313, in template_1405 File "<1405>", line 151, in template_1405_content File "<1405>", line 18, in template_1405_t_call_0 QWebException: Error while render the template AttributeError: 'slide.channel' object has no attribute 'website_share_url' Template: ir.ui.view(1405,) Path: /t/html/body/div/div[2]/t[1]/t/t[4] Node: <t t-set="include_embed" t-value="True"/> ``` This error is because commit [1] added code that tries to access the 'website_share_url' field in the 'slide.channel' model in template 'embed_slide' , but it actually belongs to 'slide.slide'. This commit resolved the above issue by accessing "website_share_url" with "slide" instead of "slide.channel". [1] - https://github.com/odoo/odoo/commit/db63c03af9932ae4d9b786620e88e62ce938589a sentry-5095823727 Forward-Port-Of: odoo/odoo#159446 Forward-Port-Of: odoo/odoo#159238
Changing the pricelist on a confirmed SO is now forbidden. It was done in a fsm test, but the test is working fine without the pricelist, so the pricelist creation and SO update has been removed. See also: https://github.com/odoo/odoo/pull/157742 Forward-Port-Of: odoo/enterprise#58744
Original PR description
Changing the pricelist on a confirmed SO is now forbidden. It was done in a fsm test, but the test is working fine without the pricelist, so the pricelist creation and SO update has been removed. See also: https://github.com/odoo/odoo/pull/157742 Forward-Port-Of: odoo/enterprise#58744
The aim of this commit is having a correct Partner VAT listing report. Before this fix, the report has a SQL query that uses the load_more_limit value as the limit. The issue was that we applied the limit on a set of 3 queries, as each of these query computes one column, the report gave us enough line but the last column was wrongly computed (as we exceed the limit after the second query). This means that we had an empty column. It was totally wrong. In the same time, other bugs were found. R
Original PR description
The aim of this commit is having a correct Partner VAT listing report. Before this fix, the report has a SQL query that uses the load_more_limit value as the limit. The issue was that we applied the limit on a set of 3 queries, as each of these query computes one column, the report gave us enough line but the last column was wrongly computed (as we exceed the limit after the second query). This means that we had an empty column. It was totally wrong. In the same time, other bugs were found. Report lines are by default ordered by using the res.partner order (based on the complete name), causing that when we generate the xml report, the groupby (from itertools) wrongly grouped lines as we don't sort these lines on the groupby key (vat number). To avoid this issue, we changed the groupby by using the one from odoo.tools. opw-3802689 opw-3766777 opw-3797584 opw-3791023 Forward-Port-Of: odoo/enterprise#59573 Forward-Port-Of: odoo/enterprise#59454
# [FIX] knowledge: remove the focus on click on anchors This commit fixes an issue where the focus of the user's mouse would be moved to the comment box when clicking on the corresponding anchor. This renders the edition inside of the anchors very hard to do. Now, we removed this behavior and you only trigger the focus when clicking on the comment box. Simplifying the edition of text inside of the anchors. # [FIX] knowledge: remove color superposition in anchors This commit fixes
Original PR description
# [FIX] knowledge: remove the focus on click on anchors This commit fixes an issue where the focus of the user's mouse would be moved to the comment box when clicking on the corresponding anchor. This renders the edition inside of the anchors very hard to do. Now, we removed this behavior and you only trigger the focus when clicking on the comment box. Simplifying the edition of text inside of the anchors. # [FIX] knowledge: remove color superposition in anchors This commit fixes an issue where multiple anchors intertwined inside the body would stack their background colour, rendering the text harder to read. Now, we removed the background colour of the anchors that are inside another one. This way there's no more colour stacking. task-3790314 Forward-Port-Of: odoo/enterprise#58146
**Before this PR:** The permission panel was not being updated when its values changed, resulting in outdated values being displayed. **After this PR:** the permission panel now re-rendered to reflect the updated values correctly. **Task**-3792165 Forward-Port-Of: odoo/enterprise#58825
Original PR description
**Before this PR:** The permission panel was not being updated when its values changed, resulting in outdated values being displayed. **After this PR:** the permission panel now re-rendered to reflect the updated values correctly. **Task**-3792165 Forward-Port-Of: odoo/enterprise#58825
Input type and salary attachment type should match the rule name task-3835119 Forward-Port-Of: odoo/enterprise#59569
Original PR description
Input type and salary attachment type should match the rule name task-3835119 Forward-Port-Of: odoo/enterprise#59569
Steps to reproduce: - create a new spreadsheet - insert an image - duplicate the spreadsheet - delete the original spreadsheet (deleted, not archived) => the image in the duplicated spreadsheet is gone. An upgrade script will fix the existing wrong attachment. A better version version of this fix will come in master. Task: 3775364 Forward-Port-Of: odoo/enterprise#59452 Forward-Port-Of: odoo/enterprise#58295
Original PR description
Steps to reproduce: - create a new spreadsheet - insert an image - duplicate the spreadsheet - delete the original spreadsheet (deleted, not archived) => the image in the duplicated spreadsheet is gone. An upgrade script will fix the existing wrong attachment. A better version version of this fix will come in master. Task: 3775364 Forward-Port-Of: odoo/enterprise#59452 Forward-Port-Of: odoo/enterprise#58295
During this commit: https://github.com/odoo/enterprise/pull/45792/commits/3a3d9c877f3e8bd2db9e66cd8120d889fd09f125 a xpath was refactored to add the closing attribute for the belgian tax report. Before this commit the xpath wasn't working but didn't cause a traceback. By adding the parenthesis, the last operator can get the last div of the pdf_export_filters template and put after it the different closing attribute. no task id Forward-Port-Of: odoo/enterprise#59453
Original PR description
During this commit: https://github.com/odoo/enterprise/pull/45792/commits/3a3d9c877f3e8bd2db9e66cd8120d889fd09f125 a xpath was refactored to add the closing attribute for the belgian tax report. Before this commit the xpath wasn't working but didn't cause a traceback. By adding the parenthesis, the last operator can get the last div of the pdf_export_filters template and put after it the different closing attribute. no task id Forward-Port-Of: odoo/enterprise#59453
Steps to Reproduce: - Set up a website for the helpdesk team. - Navigate to the website. - Observe redirection issues. Issue: - The configured website for the helpdesk team is not redirecting appropriately, leading to navigation issues. Cause: - get_client_action function is not getting the website which is linked with the helpdesk team, that's why it redirects to the default website. Solution: - Override open_website_url in helpdesk_website module and assign correct websi
Original PR description
Steps to Reproduce: - Set up a website for the helpdesk team. - Navigate to the website. - Observe redirection issues. Issue: - The configured website for the helpdesk team is not redirecting appropriately, leading to navigation issues. Cause: - get_client_action function is not getting the website which is linked with the helpdesk team, that's why it redirects to the default website. Solution: - Override open_website_url in helpdesk_website module and assign correct website_id in website_id parameter of get_client_action. task-3607646 Forward-Port-Of: odoo/enterprise#52630
Before this commit: The generated XAF file while exporting the general ledger is missing the declaration of the accounts with no lines for the given time period but which have an opening balance. The file contains the information regarding an opening balance for an account that is never declared in the file. This leads to an error for some customers when they send the file to the agency. After this commit: All the accounts with an opening balance but no line for the time period are declared
Original PR description
Before this commit: The generated XAF file while exporting the general ledger is missing the declaration of the accounts with no lines for the given time period but which have an opening balance. The file contains the information regarding an opening balance for an account that is never declared in the file. This leads to an error for some customers when they send the file to the agency. After this commit: All the accounts with an opening balance but no line for the time period are declared in the appropriate section of the XAF file. opw-3567617 opw-3624000 Forward-Port-Of: odoo/enterprise#59529 Forward-Port-Of: odoo/enterprise#53532
This PR addresses an issue with the Journal Report where columns positioned after 'additional_col_1' or 'additional_col_2' were not being displayed. Furthermore, in databases migrated to version 17.0, a new record 'invoice_date' is inserted into the account_report_column table, but the corresponding 'Invoice Date' column is not visible in the journal report. ### Current situation: account_report_column ``` aksi_test=# select id, name, sequence , report_id, expression_label from account_rep
Original PR description
This PR addresses an issue with the Journal Report where columns positioned after 'additional_col_1' or 'additional_col_2' were not being displayed. Furthermore, in databases migrated to version…
This PR addresses an issue with the Journal Report where columns positioned after 'additional_col_1' or 'additional_col_2' were not being displayed. Furthermore, in databases migrated to version 17.0, a new record 'invoice_date' is inserted into the account_report_column table, but the corresponding 'Invoice Date' column is not visible in the journal report.
### Current situation:
account_report_column
```
aksi_test=# select id, name, sequence , report_id, expression_label from account_report_column where report_id = 17 order by id;
id | name | sequence | report_id | expression_label
----+---------------------------+----------+-----------+------------------
63 | {"en_US": "Account"} | | 17 | account
64 | {"en_US": "Label"} | | 17 | label
65 | {"en_US": "Debit"} | | 17 | debit
66 | {"en_US": "Credit"} | | 17 | credit
67 | {"en_US": ""} | | 17 | additional_col_1
68 | {"en_US": ""} | | 17 | additional_col_2
85 | {"en_US": "Invoice Date"} | | 17 | invoice_date
(7 rows)
```
### After Fix:
Journal Report

Forward-Port-Of: odoo/enterprise#58858When reserving a serial number on a rental order with pickings activated, Odoo will assign whatever serial number is chosen without checking if there's a quantity available. With this fix, it will check if the chosen serial are available before assigning them. Forward-Port-Of: odoo/enterprise#58968
Original PR description
When reserving a serial number on a rental order with pickings activated, Odoo will assign whatever serial number is chosen without checking if there's a quantity available. With this fix, it will check if the chosen serial are available before assigning them. Forward-Port-Of: odoo/enterprise#58968
Purpose ======= Speed up the time taken to compute the available slots for resources in the front-end. Specifications ============== While waiting for a slot computation improvement, reducing the time taken to compute the available slots for large number of people. Changing the table booking max schedule days from 60 to 14. related: https://github.com/odoo/enterprise/pull/59101 Task-3826475 Forward-Port-Of: odoo/enterprise#59361
Original PR description
Purpose ======= Speed up the time taken to compute the available slots for resources in the front-end. Specifications ============== While waiting for a slot computation improvement, reducing the time taken to compute the available slots for large number of people. Changing the table booking max schedule days from 60 to 14. related: https://github.com/odoo/enterprise/pull/59101 Task-3826475 Forward-Port-Of: odoo/enterprise#59361
[FIX] account_inter_company_rules: Fix inter-company invoicing issue This fix is to solve a bug that was introduced due to the new change to multi ids in the key of the analytic distribution where the existing code does not consider that and ends up trying to parse a bunch of comma-separated, string of ids. opw-3756270 Forward-Port-Of: odoo/enterprise#57159
Original PR description
[FIX] account_inter_company_rules: Fix inter-company invoicing issue This fix is to solve a bug that was introduced due to the new change to multi ids in the key of the analytic distribution where the existing code does not consider that and ends up trying to parse a bunch of comma-separated, string of ids. opw-3756270 Forward-Port-Of: odoo/enterprise#57159