Tuesday, April 23, 2024
21 changes
3 changes
Miscellaneous changes
Steps to reproduce the bug: - In Website edit mode. - Drag & drop a "inner content" search snippet into the footer. - Save the page. - Enter the letter "h" in the input. - Bug: The dropdown doesn't adapt properly and increases the height of the page. This commit fixes this issue by detecting if the searchbar menu overflows at the bottom of the page when it's open. If it does, we reduce its height, and if it still overflows despite the reduced height, then we move it above the searc
Original PR description
Steps to reproduce the bug: - In Website edit mode. - Drag & drop a "inner content" search snippet into the footer. - Save the page. - Enter the letter "h" in the input. - Bug: The dropdown doesn't adapt properly and increases the height of the page. This commit fixes this issue by detecting if the searchbar menu overflows at the bottom of the page when it's open. If it does, we reduce its height, and if it still overflows despite the reduced height, then we move it above the search bar instead of below. task-3751401 Forward-Port-Of: odoo/odoo#156480
Before this commit, several qunit load state tests sometimes failed. They all follow the same pattern: - trigger an "hashchange" event to simulate an update of the url - wait twice for nextTick - check the DOM reflects the url change However, waiting for 2 ticks isn't enough. Indeed, when the url hash is set, our mock location object dispatches a "real" hashchange event on window, but it does it after a setTimeout [1]. Then, the webclient is notified (via the router service) of the u
Original PR description
Before this commit, several qunit load state tests sometimes failed. They all follow the same pattern: - trigger an "hashchange" event to simulate an update of the url - wait twice for nextTick -…
Before this commit, several qunit load state tests sometimes failed. They all follow the same pattern: - trigger an "hashchange" event to simulate an update of the url - wait twice for nextTick - check the DOM reflects the url change However, waiting for 2 ticks isn't enough. Indeed, when the url hash is set, our mock location object dispatches a "real" hashchange event on window, but it does it after a setTimeout [1]. Then, the webclient is notified (via the router service) of the url change, and reacts by loading the appropriate action. This then requires 2 ticks, because we first clear the DOM with the BlankComponent, and then we mount the requested action/view. This commit makes those tests more robust by waiting for a setTimeout before the 2 nextTicks. [1] https://github.com/odoo/odoo/blob/1882d8f89f760bd1ff8a2bf0ae798939402647a3/addons/web/static/tests/setup.js#L52 Runbot issue~37030 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#162939
Steps to reproduce: - Confirm an SO with a storable product - in barcode app open the created picking - Scan a different product confirm the picking and create a backorder Bug: the new product is not added to the SO and the original picking isn't linked the SO anymore Fix: when new moves are created in the inventory app default_picking_id is set in the context and is used in _default_group_id to set the group set the context key during the write to ensure moves are created with the
Original PR description
Steps to reproduce: - Confirm an SO with a storable product - in barcode app open the created picking - Scan a different product confirm the picking and create a backorder Bug: the new product is not added to the SO and the original picking isn't linked the SO anymore Fix: when new moves are created in the inventory app default_picking_id is set in the context and is used in _default_group_id to set the group set the context key during the write to ensure moves are created with the correct group test: https://github.com/odoo/enterprise/pull/57408 opw-3644773 Forward-Port-Of: odoo/odoo#160812 Forward-Port-Of: odoo/odoo#157255
13 changes
Enhancements to existing features
This update tightens internal checks for how field options are registered, helping prevent invalid configuration values from entering the system. It mainly improves reliability for developers and maintainers, with related adjustments in accounting assets, Sign, and Studio tests to align with the stricter validation.
Original PR description
Linked to the community PR that adds validation for registry
5 changes
Resolved issues and error corrections
This fix removes an unnecessary restriction that prevented some employees from seeing the Documents button in their profile. Now all internal employees can access the Documents application from their profile to view their important documents like contracts and payslips, regardless of their specific user permissions.
Original PR description
HOW TO REPRODUCE ================ Log in as an internal user who is not a member of the `documents_user` group. Go to your profile. You should see the "Documents" smart button. However, the button has a `groups` attribute to restrict its visibility to the members of the `documents_user` group. HOW TO FIX ========== This issue is already known and a tolerated side-effect (see this [commit](https://github.com/odoo/odoo/pull/29659/commits/3651a3721865a465f5457b67436939a91f904bd1)) Moreover, it makes sense for any internal user to be able to access the Documents application, whether they have rights on it or not. As an employee, they may have documents they need to access (e.g.: contract, payslip...) The solution would be to remove the `groups` attribute from the smart button to reduce confusion among developers. And also, clarify that, indeed, any internal users can see the "Documents" smart button in their profile. task-3688377
The French payroll and payroll accounting modules now show a warning that they will no longer be supported. This helps businesses understand the future support status before relying on these modules.
Original PR description
This commit adds a warning message to the description of the modules l10n_fr_hr_payroll and l10n_fr_hr_payroll_account to inform the user that these modules we won't support these modules anymore. task-3699189
This update adds automated checks for creating worksheets directly from Field Service project forms and for sending reports in batches. It helps reduce the risk of regressions in Field Service reporting workflows without changing end-user functionality.
Original PR description
Added test cases regrading on the fly creation of worksheet from Field Service Project Form and sending reports in batches. task-3861764
Resolved issues and error corrections
Corrects subscription-related list settings so new entries are added in the expected place when lists span multiple pages. This reduces confusion and prevents records from appearing on the wrong page during editing.
Original PR description
The "editable" attribute in list views can be set to either "top" or "bottom". List views are rng validated, and no other value can be used. However, x2many list inside form views aren't validated, and a few of them have editable="1". This seems to work, but only partially: the list is editable indeed, but if the list is multi page, there'll be issues when adding records (they'll be added in the last page, not the current one). This commit thus fixes the few views with incorrect editable attribute. opw~3860903
Miscellaneous changes
The chatter in documents was not flex, which made it take a lot of space without any wrapping. As a result, usually chatter took all the screen and content was massively overflowing, resulting in poor UX. This was caused by a specific stylerule in documents with chatter that made sense in a earlier version of chatter CSS, but this is no longer needed. Also we actually want to reuse most style of chatter in form view. This commit adds `o-mail-ChatterContainer` classname on same HTML node
Original PR description
The chatter in documents was not flex, which made it take a lot of space without any wrapping. As a result, usually chatter took all the screen and content was massively overflowing, resulting in poor UX. This was caused by a specific stylerule in documents with chatter that made sense in a earlier version of chatter CSS, but this is no longer needed. Also we actually want to reuse most style of chatter in form view. This commit adds `o-mail-ChatterContainer` classname on same HTML node as `o-mail-Form-Chatter` and adapts style, so that Document can set this classname to reuse style. opw-3681435 https://github.com/odoo/odoo/pull/161940 Before  After  Forward-Port-Of: odoo/enterprise#61259 Forward-Port-Of: odoo/enterprise#60772
With FR localization installed and FR company setup Create an invoice to an EU partner Check the intrastat report Issue: "Codes" filter is visible but it is only supported in some localizations. Currently: - Selecting 'Goods' will toggle on/off all lines as all taxes are grouped under that section - 'Triangular' and 'Services' are no use This occurs because we always show the 'Codes' filter while we should display it only when relevant opw-3777753 Forward-Port-Of: odoo/enterp
Original PR description
With FR localization installed and FR company setup Create an invoice to an EU partner Check the intrastat report Issue: "Codes" filter is visible but it is only supported in some localizations. Currently: - Selecting 'Goods' will toggle on/off all lines as all taxes are grouped under that section - 'Triangular' and 'Services' are no use This occurs because we always show the 'Codes' filter while we should display it only when relevant opw-3777753 Forward-Port-Of: odoo/enterprise#60749 Forward-Port-Of: odoo/enterprise#60416
In this [commit](https://github.com/odoo/enterprise/pull/60205/commits/c903c38952fdbc12af611b0f95c037b411291363), we introduced a small typo when processing the partner's address, resulting in a traceback. opw-3883752 Forward-Port-Of: odoo/enterprise#61215
Original PR description
In this [commit](https://github.com/odoo/enterprise/pull/60205/commits/c903c38952fdbc12af611b0f95c037b411291363), we introduced a small typo when processing the partner's address, resulting in a traceback. opw-3883752 Forward-Port-Of: odoo/enterprise#61215
The quantity_decreasable_sum of a service product no longer takes into account the delivered quantities This is done so we can decrease service product quantity in the product catalog even tho those product are considered delivered by default https://github.com/odoo/odoo/pull/155157 Task-3689939 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#60672 Forward-Port-Of: odoo/enterprise#55455
Original PR description
The quantity_decreasable_sum of a service product no longer takes into account the delivered quantities This is done so we can decrease service product quantity in the product catalog even tho those product are considered delivered by default https://github.com/odoo/odoo/pull/155157 Task-3689939 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#60672 Forward-Port-Of: odoo/enterprise#55455
As resources are bound to companies, we need to filter out the events we display so that only events with resources from valid companies are displayed in gantt. task-3565337 Forward-Port-Of: odoo/enterprise#61198 Forward-Port-Of: odoo/enterprise#52771
Original PR description
As resources are bound to companies, we need to filter out the events we display so that only events with resources from valid companies are displayed in gantt. task-3565337 Forward-Port-Of: odoo/enterprise#61198 Forward-Port-Of: odoo/enterprise#52771
Purpose ======= Currently, if someone sends a sticker in a Facebook comment, a blank bubble is displayed in the feed view. Instead we want to display the sticker. Task-3595484 Forward-Port-Of: odoo/enterprise#61169 Forward-Port-Of: odoo/enterprise#54188
Original PR description
Purpose ======= Currently, if someone sends a sticker in a Facebook comment, a blank bubble is displayed in the feed view. Instead we want to display the sticker. Task-3595484 Forward-Port-Of: odoo/enterprise#61169 Forward-Port-Of: odoo/enterprise#54188
Steps to reproduce 1. Select a PDF 2. From the Inspector click on the split button 3. Press Control+k (opens command palette) 4. Type s or press the space/backspace key 5. It closes the dialog Issue: Special hotkeys like "Backspace," "Space", and "S". Instead of being counted as regular characters during searches, they're being used for other functions, which is the default behavior of the useCommand. Fix: To fix this, we need to give these hotkeys more meaningful names than no dia
Original PR description
Steps to reproduce 1. Select a PDF 2. From the Inspector click on the split button 3. Press Control+k (opens command palette) 4. Type s or press the space/backspace key 5. It closes the dialog Issue: Special hotkeys like "Backspace," "Space", and "S". Instead of being counted as regular characters during searches, they're being used for other functions, which is the default behavior of the useCommand. Fix: To fix this, we need to give these hotkeys more meaningful names than no dialog will close while searching. Task:3725189 Forward-Port-Of: odoo/enterprise#60143
How to reproduce: - Go to documents - Click on a workspace with documents - Click on a document to preview it - Click on another workspace/select a tags/select a tag group, change the filter/domain The preview is still displayed but shouldn't as we can't see the content of the newly selected/filtered. This fix ensures that the preview is closed in such circumstances. Technical note: the event was already trigerred but on the wrong bus. This fix triggers it on the right one. Solving th
Original PR description
How to reproduce: - Go to documents - Click on a workspace with documents - Click on a document to preview it - Click on another workspace/select a tags/select a tag group, change the filter/domain The preview is still displayed but shouldn't as we can't see the content of the newly selected/filtered. This fix ensures that the preview is closed in such circumstances. Technical note: the event was already trigerred but on the wrong bus. This fix triggers it on the right one. Solving this problem introduces a new bug because when the new filter excludes the document selected, the first selection is unselect while there are no selection anymore. in that case, we just skip that operation. Task-3624235 Forward-Port-Of: odoo/enterprise#60959 Forward-Port-Of: odoo/enterprise#57237
Fixes divide by zero introduced by https://github.com/odoo/enterprise/commit/3d6576d opw-3761952 Forward-Port-Of: odoo/enterprise#61207
Original PR description
Fixes divide by zero introduced by https://github.com/odoo/enterprise/commit/3d6576d opw-3761952 Forward-Port-Of: odoo/enterprise#61207
A recent update to the website module contained a typo in a template where "full string" was incorrectly used instead of "full screen". This fix corrects that typo to ensure the website displays the proper text to users.
Original PR description
Recent commit [1] made a typo when converting templates [1]: https://github.com/odoo/odoo/commit/02461534d2b74410bcdfb5cccaac8157fe806127
This update fixes tests in the web interface that were randomly failing due to timing issues. The tests now wait the correct amount of time for the system to process URL changes and update the display, making the tests more reliable and reducing false failures.
Original PR description
Before this commit, several qunit load state tests sometimes failed. They all follow the same pattern: - trigger an "hashchange" event to simulate an update of the url - wait twice for nextTick -…
Before this commit, several qunit load state tests sometimes failed. They all follow the same pattern: - trigger an "hashchange" event to simulate an update of the url - wait twice for nextTick - check the DOM reflects the url change However, waiting for 2 ticks isn't enough. Indeed, when the url hash is set, our mock location object dispatches a "real" hashchange event on window, but it does it after a setTimeout [1]. Then, the webclient is notified (via the router service) of the url change, and reacts by loading the appropriate action. This then requires 2 ticks, because we first clear the DOM with the BlankComponent, and then we mount the requested action/view. This commit makes those tests more robust by waiting for a setTimeout before the 2 nextTicks. [1] https://github.com/odoo/odoo/blob/1882d8f89f760bd1ff8a2bf0ae798939402647a3/addons/web/static/tests/setup.js#L52 Runbot issue~37030 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 incorrect demo data in the survey module where a sample user response was marked as correct when it should have been incorrect. The answer "Pinaceae" was being treated as correct for the question about Dogwood's tree family, when the correct answer is actually "Cornaceae". This correction ensures the demo data accurately reflects the proper quiz answers.
Original PR description
Fix the demo user input lines which were considering "Pinaceae" as a correct answer to the question "Dogwood is from which family of trees ?" even though the suggested answer was declared as incorrect for the question. Dogwood is indeed from the "Cornaceae" family of trees, not the "Pinaceae". Fixing the issue by updating the user input lines to be incorrect. related: odoo/odoo#72298 Task-3856668 Forward-Port-Of: odoo/odoo#162392 Forward-Port-Of: odoo/odoo#160911
A test in the profiling system was failing randomly due to unexpected data in the test assertions. The fix removes the unreliable final checks from the test, focusing only on the data that matters for validation. This makes the test more stable and prevents false failures.
Original PR description
This test can sometimes fail randomly
```
FAIL: TestProfiling.test_sync_recorder
Traceback (most recent call last):
File "/data/build/odoo/odoo/addons/base/tests/test_profiler.py", line 440, in test_sync_recorder
self.assertEqual(stacks_methods, [
AssertionError: Lists differ: [['a'[114 chars]], ['__exit__', '_remove'], ['__exit__'], ['__exit__', 'stop']] != [['a'[114 chars]], ['__exit__', 'stop']]
First differing element 11:
['__exit__', '_remove']
['__exit__', 'stop']
First list contains 2 additional elements.
First extra element 12:
['__exit__']
[['a'],
['a', 'b'],
['a'],
['a', 'c'],
['a', 'c', 'd'],
['a', 'c'],
['a', 'c', 'd'],
['a', 'c'],
['a'],
[],
['__exit__'],
- ['__exit__', '_remove'],
- ['__exit__'],
['__exit__', 'stop']]
```
Since we don't care about the last lines, just remove them from the assertion.