Tuesday, April 2, 2024
35 changes · saas-17.1
Resolved issues and error corrections
Posting a vendor bill with possible duplicates now takes users to the duplicate bills list without an error. This prevents a confusing crash and helps accounting teams review duplicate warnings smoothly.
Original PR description
When we want to post a vendor bill having duplicates, we show a `RedirectError` that should bring us to the list of duplicate bills. However, the action domain contained records instead of record ids, causing a traceback when clicking the button. The issue was introduced in 64a7a80bd8a87e984b73504113b1c31926557c05. This commit fixes that by providing a valid domain for the moves. task-3797825
New employee contracts now use the job and department selected in the salary offer before falling back to the contract template. This keeps the generated contract aligned with the signed offer and avoids incorrect employee details.
Original PR description
Since when we generate an offer, we can provide a specific job and department, that will be set on the user and used in the pdf contract signed. We should also get this job and departement correctly set on the new contract which is not the case for now. So we first choose to use the info comming from the offer before the one from the contract template.
This update resolves an issue where users couldn't modify or remove products from the catalog view when multiple line items were added. The fix adds a necessary condition to allow updates and removals, ensuring a smoother user experience when managing multiple items within the catalog.
Original PR description
**Before this PR:** When more than 1 line item is added, users are unable to update or remove products from the catalog view. **Technical Reason:** There is a function _is_readonly() that returns True if there are multiple line items, and because of this, the value of props.readOnly becomes True which prevents users from updating the products in catalog view. **Solution:** Adding one more condition in account_move_line to satisfy the desired behavior. **After this PR:** The users can update or remove the products from the catalog view if there are multiple line items. **Task**-3806509
Miscellaneous changes
Adds Mauritius localization, includes: - Chart of accounts - Taxes - Fiscal positions - Default settings, including invoice customization. task-3631730 Forward-Port-Of: odoo/odoo#156888
Original PR description
Adds Mauritius localization, includes:
- Chart of accounts
- Taxes
- Fiscal positions
- Default settings, including invoice customization.
task-3631730
Forward-Port-Of: odoo/odoo#156888**Current behavior before PR:** Long user names in direct messaging search are not wrapped, leading to UI display issues. **Desired behavior after PR is merged:** Resolved the issue where long user names were not properly wrapped in direct messaging search. Now, when a user name exceeds the allotted space, it is truncated. Task-3748791 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158769
Original PR description
**Current behavior before PR:** Long user names in direct messaging search are not wrapped, leading to UI display issues. **Desired behavior after PR is merged:** Resolved the issue where long user names were not properly wrapped in direct messaging search. Now, when a user name exceeds the allotted space, it is truncated. Task-3748791 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158769
**Steps to reproduce:** **OS:** Ubuntu 20.04.4 LTS with nautilus **Browser:** Google Chrome Version 123.0.6312.58 - type /file command in knowledge - select a folder and click on open - traceback occurs **Current behavior before PR:** When a user attempts to upload a folder using /file command, the processing begins, but the folder is not uploaded because the `getDataURLFromFile` return promise is not fulfilled. Additionally, there is no indication of any warnings or errors during
Original PR description
**Steps to reproduce:** **OS:** Ubuntu 20.04.4 LTS with nautilus **Browser:** Google Chrome Version 123.0.6312.58 - type /file command in knowledge - select a folder and click on open - traceback occurs **Current behavior before PR:** When a user attempts to upload a folder using /file command, the processing begins, but the folder is not uploaded because the `getDataURLFromFile` return promise is not fulfilled. Additionally, there is no indication of any warnings or errors during the folder upload process. **Desired behavior after PR is merged:** If a user attempts to upload a folder instead of a file using the /file command, it results in an error message in the toaster notification. task-3690847 Forward-Port-Of: odoo/odoo#159755 Forward-Port-Of: odoo/odoo#151755
Description of the issue/feature this PR addresses: In case we want to search on other fields than name or default_code, or eventually on the descriptions, we need to reverse the domain that is built using AND and OR operators from osv.expression which is something we would prefer to avoid anytime. By adding hooks to add custom domains, it allows to search on whatever extra fields we would like to search on. Current behavior before PR: Impossible to search efficiently on specific fie
Original PR description
Description of the issue/feature this PR addresses: In case we want to search on other fields than name or default_code, or eventually on the descriptions, we need to reverse the domain that is built using AND and OR operators from osv.expression which is something we would prefer to avoid anytime. By adding hooks to add custom domains, it allows to search on whatever extra fields we would like to search on. Current behavior before PR: Impossible to search efficiently on specific fields Desired behavior after PR is merged: Easy to extend the domain to search efficiently on specific fields --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159340 Forward-Port-Of: odoo/odoo#147865
Description of the issue/feature this PR addresses: Current behavior before PR: formatsSpecs object isn't heritable, which prevents developers from adding new options to the editor --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159293 Forward-Port-Of: odoo/odoo#158703
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: formatsSpecs object isn't heritable, which prevents developers from adding new options to the editor --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159293 Forward-Port-Of: odoo/odoo#158703
Versions: ------------ saas-16.4 Steps to Reproduce: --------------- - open project - create a project and allow timesheet - open timesheet and change encoding method to days/half days - create a task in the project and set allocated time - open portal view of the task Issue: ------------ - There is no label for allocated time. Cause: ---------- - Condition was added in this commit 82a85d42c86cffcd6e96b0712c8ff9a221f25d87 to show the label if encoding method is not in days.
Original PR description
Versions: ------------ saas-16.4 Steps to Reproduce: --------------- - open project - create a project and allow timesheet - open timesheet and change encoding method to days/half days - create a task in the project and set allocated time - open portal view of the task Issue: ------------ - There is no label for allocated time. Cause: ---------- - Condition was added in this commit 82a85d42c86cffcd6e96b0712c8ff9a221f25d87 to show the label if encoding method is not in days. Fix: -------- - We apply the label for both encoding method of timesheet. task-3761269 Forward-Port-Of: odoo/odoo#159939 Forward-Port-Of: odoo/odoo#156449
This traceback arises when the user changes the date with a new employee of no contract while creating a new Work Entry. To reproduce this issue: 1) Install `hr_work_entry_contract` 2) Open `payroll` and create a new `Work Entry` 3) Select `Work Entry Type` as `Unpaid` and create a new employee 4) Now try to change the `end date` Error:- ``` KeyError: False File "odoo/http.py", line 2252, in __call__ response = request._serve_db() File "odoo/http.py", line 1828, in
Original PR description
This traceback arises when the user changes the date with a new employee of no contract while creating a new Work Entry. To reproduce this issue: 1) Install `hr_work_entry_contract` 2) Open `payroll`…
This traceback arises when the user changes the date with a new employee of no contract
while creating a new Work Entry.
To reproduce this issue:
1) Install `hr_work_entry_contract`
2) Open `payroll` and create a new `Work Entry`
3) Select `Work Entry Type` as `Unpaid` and create a new employee
4) Now try to change the `end date`
Error:-
```
KeyError: False
File "odoo/http.py", line 2252, in __call__
response = request._serve_db()
File "odoo/http.py", line 1828, in _serve_db
return self._transactioning(_serve_ir_http, readonly=ro)
File "odoo/http.py", line 1848, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1826, in _serve_ir_http
return self._serve_ir_http(rule, args)
File "odoo/http.py", line 1833, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2058, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 222, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 740, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 38, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 34, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 458, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "addons/web/models/models.py", line 1074, in onchange
todo = [
File "addons/web/models/models.py", line 1077, in <listcomp>
if field_name not in done and snapshot0.has_changed(field_name)
File "addons/web/models/models.py", line 1190, in has_changed
return self[field_name] != self.record[field_name]
File "odoo/models.py", line 6669, in __getitem__
return self._fields[key].__get__(self, self.env.registry[self._name])
File "odoo/fields.py", line 1138, in __get__
self.recompute(record)
File "odoo/fields.py", line 1353, in recompute
apply_except_missing(self.compute_value, recs)
File "odoo/fields.py", line 1326, in apply_except_missing
func(records)
File "odoo/fields.py", line 1375, in compute_value
records._compute_field_value(self)
File "odoo/models.py", line 4982, in _compute_field_value
fields.determine(field.compute, self)
File "odoo/fields.py", line 102, in determine
return needle(*args)
File "addons/hr_work_entry/models/hr_work_entry.py", line 84, in _compute_duration
durations = self._get_duration_batch()
File "home/odoo/src/enterprise/saas-17.1/hr_work_entry_contract_planning/models/hr_work_entry.py", line 46, in _get_duration_batch
res.update(super(HrWorkEntry, super_we)._get_duration_batch())
File "addons/hr_work_entry_contract/models/hr_work_entry.py", line 119, in _get_duration_batch
result[work_entry.id] = mapped_contract_data[(date_start, date_stop)][calendar][employee.id]['hours']
```
On the `_get_duration_batch` method, when the user creates a new employee without a contract,
the calendar remains an empty recordset.
which leads to the traceback from the below lines.
https://github.com/odoo/odoo/blob/a277faa2ffab7559fcbad95fcc1e8fd6a26d756b/addons/hr_work_entry_contract/models/hr_work_entry.py#L110-L112
After applying this commit will resolve the issue by making the code more robust
and gives the default value for `work_entry.id`.
sentry-5095168051
Forward-Port-Of: odoo/odoo#159276Versions: --------- saas-16.3 Steps to Reproduce: ------------- - open project - open project settings and mark task dependencies - open task Issue: ------ - The title is super far from the left. Cause: -------- - Every field have the same width. Fix: -------- - We fix the width of priority and state. task-3761269 Forward-Port-Of: odoo/odoo#156441
Original PR description
Versions: --------- saas-16.3 Steps to Reproduce: ------------- - open project - open project settings and mark task dependencies - open task Issue: ------ - The title is super far from the left. Cause: -------- - Every field have the same width. Fix: -------- - We fix the width of priority and state. task-3761269 Forward-Port-Of: odoo/odoo#156441
Activate "Reception Report" feature Create a SO for a storable product, confirm. Create a PO for the same product. Confirm the PO and check the delivery, open the "Allocation" report Assign the Product to the delivery of the SO. Go back to the PO and cancel the order, delivery of the SO will be cancelled. Issue: Currently the user cannot modify this behavior as the `propagate_cancel` checkbox is unaccessible opw-3733512 Forward-Port-Of: odoo/odoo#159782 Forward-Port-Of: odoo/odoo#15
Original PR description
Activate "Reception Report" feature Create a SO for a storable product, confirm. Create a PO for the same product. Confirm the PO and check the delivery, open the "Allocation" report Assign the Product to the delivery of the SO. Go back to the PO and cancel the order, delivery of the SO will be cancelled. Issue: Currently the user cannot modify this behavior as the `propagate_cancel` checkbox is unaccessible opw-3733512 Forward-Port-Of: odoo/odoo#159782 Forward-Port-Of: odoo/odoo#158587
Follow-up of [1]. Commit [2] refactored the way we check if an option update needs to trigger a page reload: if the option is marked as a page option (`data-page-options="true"` on the option's main `<div>`), then it will reload whatever the method used if there is a `reload` parameter. Note that this `reload` parameter does not make much sense anymore, it should be reviewed/removed in master. Problem: [2] made a mistake in its implementation, pushing an array instead of concatenating it. Thi
Original PR description
Follow-up of [1]. Commit [2] refactored the way we check if an option update needs to trigger a page reload: if the option is marked as a page option (`data-page-options="true"` on the option's main…
Follow-up of [1]. Commit [2] refactored the way we check if an option update needs to trigger a page reload: if the option is marked as a page option (`data-page-options="true"` on the option's main `<div>`), then it will reload whatever the method used if there is a `reload` parameter. Note that this `reload` parameter does not make much sense anymore, it should be reviewed/removed in master. Problem: [2] made a mistake in its implementation, pushing an array instead of concatenating it. This worked by chance, as instead of asking "does this option method requires a reload", it was asking "does this set of option methods requires a reload"... and in that case, the code is fallbacking on retrieving common parameters, which `reload` likely is without custo. This could have been fixed in master only. Given the very low risk of breaking anything critical updating this code, it was chosen to prevent a potential crash in custo (which could occur as we give a wrong parameter type to a main method) and allow overrides to make `reload` a specific parameter for a specific method without the need of `data-reload` added in the DOM. [1]: https://github.com/odoo/odoo/commit/556ae457b02e9c077d09fa9c3f9f1e6c6e26b345 [2]: https://github.com/odoo/odoo/commit/03c552690b15cbf2e7d6b7812386ac64042219af#diff-70f7fe38208aa7fe678f18e329d3c11b70065dee723921352b6005774e8bab53R456 Forward-Port-Of: odoo/odoo#159640
In Settings>Inventory>Operations enable "Batch Transfers" Create a [NonTrackedProd] product: - Product Type: Storable Product - Tracking: No tracking Create a [TrackedProd] product: - Product Type: Storable Product - Tracking: By Lot Create and confirm two POs with: - Prod [NonTrackedProd] qty 1 - Prod [TrackedProd] qty 1 Open Barcode Scanning app Select "Batch Transfers" Create a new batch with the incoming transfers from the POs Set only the [NonTrackedProd] lines as done an
Original PR description
In Settings>Inventory>Operations enable "Batch Transfers" Create a [NonTrackedProd] product: - Product Type: Storable Product - Tracking: No tracking Create a [TrackedProd] product: - Product Type: Storable Product - Tracking: By Lot Create and confirm two POs with: - Prod [NonTrackedProd] qty 1 - Prod [TrackedProd] qty 1 Open Barcode Scanning app Select "Batch Transfers" Create a new batch with the incoming transfers from the POs Set only the [NonTrackedProd] lines as done and validate Issue: Error will block validation "You need to supply a Lot/Serial number for products" The system should let the user validate the operation and create a backorder instead of blocking the user opw-3777701 Forward-Port-Of: odoo/odoo#158330
Add a test for exporting the source terms of modules. This will allow automated scripts to fetch latest terms Backport save_test_file with a parameter on date_format to have predictable filenames Forward-Port-Of: odoo/odoo#159373 Forward-Port-Of: odoo/odoo#154624
Original PR description
Add a test for exporting the source terms of modules. This will allow automated scripts to fetch latest terms Backport save_test_file with a parameter on date_format to have predictable filenames Forward-Port-Of: odoo/odoo#159373 Forward-Port-Of: odoo/odoo#154624
When a background video and an animation coming from the left or the right are on a page at the same time, there sometimes is a horizontal scrollbar that appears for no reason. It can happen at any screen size but more frequently near 1000px and below. This issue seems to happen on Chrome only. It seems to be a race condition between the calls to the `_adjustIframe` function in the `backgroundVideo` public widget. Indeed, this function is called when the video is added in the DOM and each tim
Original PR description
When a background video and an animation coming from the left or the right are on a page at the same time, there sometimes is a horizontal scrollbar that appears for no reason. It can happen at any…
When a background video and an animation coming from the left or the right are on a page at the same time, there sometimes is a horizontal scrollbar that appears for no reason. It can happen at any screen size but more frequently near 1000px and below. This issue seems to happen on Chrome only. It seems to be a race condition between the calls to the `_adjustIframe` function in the `backgroundVideo` public widget. Indeed, this function is called when the video is added in the DOM and each time the screen is resized. When an animation is played, it triggers a resize of the window when it is over, which therefore calls `_adjustIframe`. When the animation comes from the right/left of the screen, the animated element is translated from outside the page; the page width is therefore bigger but its overflow is prevented. When the video is loaded, the loading placeholder is removed. Depending on the time it takes to it to fully load, if the animation ends before it, the iframe is adjusted before the placeholder removal, leaving the iframe wrongly adjusted when it is finally removed. Note that it is hypothetical, as everything refreshes when inspecting the DOM, making the scrollbar disappear. But this proves that no element is really overflowing, so it seems to be a value refreshing issue. This commit adds a call to `_adjustIframe` when the video has loaded, to make sure its dimensions are recomputed/refreshed, preventing the scrollbar to appear. Steps to reproduce: - Drop a "Text-Image" snippet. - Set a background video to it. - Add the "Fade In-Right" animation to the image column. - Save and then resize down the screen to 1000px or below. - Refresh. => When the video is loaded, a horizontal scrollbar may appear. If not, refresh until it does. opw-3487117 Forward-Port-Of: odoo/odoo#159193
* Adds text values for the call settings sliders. * Replaces `onChange` events with `onInput` events so that the values respect the position of the sliders. * Debounces some functions to handle the increased amount of calls due to the swap to the `onInput` listener. * Changes the default value of `voiceActiveDuration` from `0` to `200` to match the minimum value of the input. Forward-Port-Of: odoo/odoo#151028
Original PR description
* Adds text values for the call settings sliders. * Replaces `onChange` events with `onInput` events so that the values respect the position of the sliders. * Debounces some functions to handle the increased amount of calls due to the swap to the `onInput` listener. * Changes the default value of `voiceActiveDuration` from `0` to `200` to match the minimum value of the input. Forward-Port-Of: odoo/odoo#151028
When using the "Conditional Visibility" option for blocks that are inside a popup, you can end up with an empty popup. This was has been a limitation of the Conditional Visibility option for a while, but there is a real use case for wanting to only show a popup under certain circumstances. Adapting the option to take into account Popup seemed not stable enough as a lot of code is responsible for showing and hiding content that can be invisible, in edit mode. Therefore, a simpler solution w
Original PR description
When using the "Conditional Visibility" option for blocks that are inside a popup, you can end up with an empty popup. This was has been a limitation of the Conditional Visibility option for a while, but there is a real use case for wanting to only show a popup under certain circumstances. Adapting the option to take into account Popup seemed not stable enough as a lot of code is responsible for showing and hiding content that can be invisible, in edit mode. Therefore, a simpler solution was found. If the all children of the .oe_structure of a popup are in conditional visibility and are all hidden, then the popup will remain hidden. This change is done starting saas-16.3 as this is the version the OPW was opened with. opw-3734501 Forward-Port-Of: odoo/odoo#158303 Forward-Port-Of: odoo/odoo#157518
The `videocall_location` was accidentally unset when synch from Google, which is not expected ### Step to reproduce 1. From from calendar view of calendar.event, click to open the form view 2. click `Add Odoo meeting` to set discuss videocall location 3. save to create new calendar.event record 4. wait for synch to be done 5. recheck the field `videocall_location` to find its value False ### After this PR The discuss videocall location is no longer overriden with False --- I
Original PR description
The `videocall_location` was accidentally unset when synch from Google, which is not expected ### Step to reproduce 1. From from calendar view of calendar.event, click to open the form view 2. click `Add Odoo meeting` to set discuss videocall location 3. save to create new calendar.event record 4. wait for synch to be done 5. recheck the field `videocall_location` to find its value False ### After this PR The discuss videocall location is no longer overriden with False --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157939
## Before this commit: Modifying a location from/to a scrap location should be restricted when there are move lines with reservation. However, starting from Odoo 17, the quantity field indicates the reserved quantity only when the move line's state is different from done. ## After this commit: Only check if there are reservation lines (move lines not in done) in the location when changing from/to a scrap location to match the behaviour before Odoo 17. opw-3815275 Forward-Port-Of: o
Original PR description
## Before this commit: Modifying a location from/to a scrap location should be restricted when there are move lines with reservation. However, starting from Odoo 17, the quantity field indicates the reserved quantity only when the move line's state is different from done. ## After this commit: Only check if there are reservation lines (move lines not in done) in the location when changing from/to a scrap location to match the behaviour before Odoo 17. opw-3815275 Forward-Port-Of: odoo/odoo#159376
The numpad in the PoS was sometimes handling events when it was not supposed to, leading to unexpected behavior. This was due to the fact we did not check if there was a buffer holder for the numpad before triggering the event handler. The check is now done by adding a check in the _onKeyboardInput method. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159619
Original PR description
The numpad in the PoS was sometimes handling events when it was not supposed to, leading to unexpected behavior. This was due to the fact we did not check if there was a buffer holder for the numpad before triggering the event handler. The check is now done by adding a check in the _onKeyboardInput method. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159619
When using the `/image` command in the composer, or otherwise uploading a file the editor should add the attachment to the composer if it is the current model During a change in js relational models [1] the code was not adapted properly. This lead to a traceback when using the command inside the composer. [1]: 218ad8456a06503dd508e7216edcffdc90b35cac task-3741858 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#1557
Original PR description
When using the `/image` command in the composer, or otherwise uploading a file the editor should add the attachment to the composer if it is the current model During a change in js relational models [1] the code was not adapted properly. This lead to a traceback when using the command inside the composer. [1]: 218ad8456a06503dd508e7216edcffdc90b35cac task-3741858 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155704
Before this commit, the ticket field is displayed in the sublist view of timesheet when the user is in ticket form view with timesheets feature enabled. This commit hides the ticket field as it was the case base. issue found during the testing of task-2276015 Forward-Port-Of: odoo/enterprise#59891
Original PR description
Before this commit, the ticket field is displayed in the sublist view of timesheet when the user is in ticket form view with timesheets feature enabled. This commit hides the ticket field as it was the case base. issue found during the testing of task-2276015 Forward-Port-Of: odoo/enterprise#59891
# Description When opening the balance sheet in the cash basis method, the queries, generated by `_compute_formula_batch_with_engine_domain`, for the report can be slow. The issue is that they filter by date, which can be slower the more data the `temp_account_move_line` table contains. # Fix To speed up these queries, I added a composite index on the date and a few other fields. Since the index is added to a temporary table, it will be removed when the table is dropped. # Benchmark
Original PR description
# Description When opening the balance sheet in the cash basis method, the queries, generated by `_compute_formula_batch_with_engine_domain`, for the report can be slow. The issue is that they filter by date, which can be slower the more data the `temp_account_move_line` table contains. # Fix To speed up these queries, I added a composite index on the date and a few other fields. Since the index is added to a temporary table, it will be removed when the table is dropped. # Benchmark (in 17.0) | Cash Basis | Before | After | |------------|-------:|------:| | 1K | 250ms | 200ms | | 80K | 22s | 4s | | 180K | 30s | 4s | | 280K | 54s | 4s | (In this case, the 4 seconds come mainly from the SELECT for payment_table). # Reference opw-3782652 Forward-Port-Of: odoo/enterprise#59376 Forward-Port-Of: odoo/enterprise#59005
**Step to reproduce:** - Install `Knowledge` and `Documents` modules (for test purpose) - Go to Documents app - Click on Action button -> Knowledge -> Insert view in article - Select any article **Issue:** View is not loaded correctly in the article. Error message: Something went wrong! The view does not exist or you are not allowed to access to it. **Cause:** In the imported view, we try to retrieve the selected Folders, but this last one need the search model
Original PR description
**Step to reproduce:** - Install `Knowledge` and `Documents` modules (for test purpose) - Go to Documents app - Click on Action button -> Knowledge -> Insert view in article - Select any article…
**Step to reproduce:**
- Install `Knowledge` and `Documents` modules (for test purpose)
- Go to Documents app
- Click on Action button -> Knowledge -> Insert view in article
- Select any article
**Issue:**
View is not loaded correctly in the article.
Error message: Something went wrong! The view does not exist or you
are not allowed to access to it.
**Cause:**
In the imported view, we try to retrieve the selected Folders, but this last one need the search model to retrieve the data.
https://github.com/odoo/enterprise/blob/11daa694d4ca51939c2b458bced8ab9d48030ef8/documents/static/src/views/documents_controller_mixin.xml#L5
The method called to retrieve the folders (`getSelectedFolder`) is set on the documents search model (`DocumentsSearchModel`), however, the search model set in the embedded_view is the knowledge search model (`KnowledgeSearchModel`).
**Solution:**
Change the `KnowledgeSearchModel` class into a mixin so it can extend the (potentially) custom search model defined for any embedded view during the mounting process (default to the generic search model), instead of overwriting it.
opw-3752927
Forward-Port-Of: odoo/enterprise#59758[This first commit] fixed an issue with the website menu cache. The menu is not cached anymore if there is a record like URL in the it. When `website_helpdesk` module is installed, since `saas-16.3`, the menu contains a record like URL which disable the menu cache and increase the number of queries. The solution is to increase the max number of queries even if a better solution would be to remove the `Help` link from the menu but we can't do that because `appointment_hr` doesn't depend on `websi
Original PR description
[This first commit] fixed an issue with the website menu cache. The menu is not cached anymore if there is a record like URL in the it. When `website_helpdesk` module is installed, since `saas-16.3`, the menu contains a record like URL which disable the menu cache and increase the number of queries. The solution is to increase the max number of queries even if a better solution would be to remove the `Help` link from the menu but we can't do that because `appointment_hr` doesn't depend on `website`. [This first commit]: https://github.com/odoo/odoo/commit/43576cd424b6d0fc7da01142b5e6550e371ad1ff runbot-60956 runbot-59981 Forward-Port-Of: odoo/enterprise#59682 Forward-Port-Of: odoo/enterprise#59618
Open customer form view Issue : Name for the field 'l10n_mx_edi_operator_licence' is not visible This occurs because the xpath position the field after the vat which is inside a div made to show the Tax information opw-3819273 Forward-Port-Of: odoo/enterprise#59807
Original PR description
Open customer form view Issue : Name for the field 'l10n_mx_edi_operator_licence' is not visible This occurs because the xpath position the field after the vat which is inside a div made to show the Tax information opw-3819273 Forward-Port-Of: odoo/enterprise#59807
Expect value for test without demo data wasn't changed in this PR :odoo/enterprise#50794 Fixed with this commit. task: 3837296 Forward-Port-Of: odoo/enterprise#59659
Original PR description
Expect value for test without demo data wasn't changed in this PR :odoo/enterprise#50794 Fixed with this commit. task: 3837296 Forward-Port-Of: odoo/enterprise#59659
This commit's purpose is to improve the error message when a user is adding new company to a template that had none set before. Steps to reproduce: - open fsm app - open configuration menu, worksheet template - select the 'Device installation and maintenance' worksheet (it is the one with tasks linked to it) - add a new company 'my company (chicago)' and save. A validation error message pops up. That is fine and the expected behavior, since the new companies of the template are not c
Original PR description
This commit's purpose is to improve the error message when a user is adding new company to a template that had none set before. Steps to reproduce: - open fsm app - open configuration menu, worksheet template - select the 'Device installation and maintenance' worksheet (it is the one with tasks linked to it) - add a new company 'my company (chicago)' and save. A validation error message pops up. That is fine and the expected behavior, since the new companies of the template are not consistent with the task already linked to it. Source: the generic message is using the old values of the companies of the worksheet, but since there were none, no names are displayed and the error message is confusing. Solution: check if the worksheet used to have companies set before the user changes. If not, display a relevant error message task - 3749225 Forward-Port-Of: odoo/enterprise#57335
When trying to import a bill that sometimes did not had TasaOCuota attribute. This resulted in a crash of a failed float parse Now when this happens, a message in the chatter is created and the tax_id is ignored task:3777664 Forward-Port-Of: odoo/enterprise#59572 Forward-Port-Of: odoo/enterprise#58812
Original PR description
When trying to import a bill that sometimes did not had TasaOCuota attribute. This resulted in a crash of a failed float parse Now when this happens, a message in the chatter is created and the tax_id is ignored task:3777664 Forward-Port-Of: odoo/enterprise#59572 Forward-Port-Of: odoo/enterprise#58812
Account 1611 Crediti per ritenute subite (appoggio) which is created by the l10n_it_edi_withholding module was not referenced in the Balance Sheet. We fix this now. taskid: 3060790 Forward-Port-Of: odoo/enterprise#59148
Original PR description
Account 1611 Crediti per ritenute subite (appoggio) which is created by the l10n_it_edi_withholding module was not referenced in the Balance Sheet. We fix this now. taskid: 3060790 Forward-Port-Of: odoo/enterprise#59148
With an Ecuador company setup Create a bill adding: - Ecuador partner - Bill Date - Document Number (ex. 001-001-123456789) - Payment Method - a bill line with tax "12% 510 01" Post the bill Hit 'Add witholding' In the witholding widget: - Add a line with tax "10% WH" - Add a second line with tax "10% WH" Issue: second line base amount will be same as first, while it should use the remaining withholding base amount opw-3763838 Forward-Port-Of: odoo/enterprise#57605
Original PR description
With an Ecuador company setup Create a bill adding: - Ecuador partner - Bill Date - Document Number (ex. 001-001-123456789) - Payment Method - a bill line with tax "12% 510 01" Post the bill Hit 'Add witholding' In the witholding widget: - Add a line with tax "10% WH" - Add a second line with tax "10% WH" Issue: second line base amount will be same as first, while it should use the remaining withholding base amount opw-3763838 Forward-Port-Of: odoo/enterprise#57605
Previously, splitting an order did not cancel the split order line in the preparation display. This commit ensures that the preparation display is updated correctly when an order is split. opw-3809693 Forward-Port-Of: odoo/enterprise#59554
Original PR description
Previously, splitting an order did not cancel the split order line in the preparation display. This commit ensures that the preparation display is updated correctly when an order is split. opw-3809693 Forward-Port-Of: odoo/enterprise#59554
- saas-16.3 ### Steps to reproduce: -install the project and timesheet app. -open the project app, create a project, and add a task to it. -add a timesheet a week before from current date in the created task. -now open the timesheet app in grid view. -the created project and task are in italic font. -the last letter of the project and task is slightly cut. ### Issue: The last letter of the string is slightly cut in grid view. ### Cause: The dedicated space allowed for normal t
Original PR description
- saas-16.3 ### Steps to reproduce: -install the project and timesheet app. -open the project app, create a project, and add a task to it. -add a timesheet a week before from current date in the created task. -now open the timesheet app in grid view. -the created project and task are in italic font. -the last letter of the project and task is slightly cut. ### Issue: The last letter of the string is slightly cut in grid view. ### Cause: The dedicated space allowed for normal text is not sufficient for the Italic so the last letter was slightly cut. ### Solution: Provide enough space for italic string. Task-3749072 Forward-Port-Of: odoo/enterprise#59802 Forward-Port-Of: odoo/enterprise#57000
Versions -------- - 16.0+ Steps ----- 1. Create a subscription SO; 2. confirm, invoice, and upsell; 3. on upsell, add a non-subscription item; 4. create invoice. Issue ----- On the invoice, the non-subscription item gets labeled with a duration, as if it's supposed to be returned afterwards. Cause ----- When preparing invoice lines, the conditional checks whether the line has a subscription item, or the order is an upsell. The latter part was added in c8b79afe1bf2971a7ac7709e
Original PR description
Versions -------- - 16.0+ Steps ----- 1. Create a subscription SO; 2. confirm, invoice, and upsell; 3. on upsell, add a non-subscription item; 4. create invoice. Issue ----- On the invoice, the non-subscription item gets labeled with a duration, as if it's supposed to be returned afterwards. Cause ----- When preparing invoice lines, the conditional checks whether the line has a subscription item, or the order is an upsell. The latter part was added in c8b79afe1bf2971a7ac7709e7165b863969d6a3d to store subscription id, start_date and end_date on upsell invoice lines. Solution -------- Add an additional conditional to format the description, only displaying duration for items that are subscription-based. opw-3687626 Forward-Port-Of: odoo/enterprise#59814 Forward-Port-Of: odoo/enterprise#58303