Thursday, November 28, 2024
25 changes
1 change
Resolved issues and error corrections
A test in the Sales Project area was corrected so it checks the intended result instead of passing accidentally. This improves confidence that future changes to project milestone forms are validated properly before release.
Original PR description
Currently, the assert function returns undefined, which is why this test case is passing. However, assert always returns undefined, regardless of whether the value satisfies the condition or not. task-4354290
1 change
Resolved issues and error corrections
This fixes an issue where customers could run into problems when making an early payment on a subscription with a zero amount. It helps ensure the subscription payment flow works correctly even when no money is due.
18 changes
Resolved issues and error corrections
This fix prevents upgrade failures caused by duplicate tracking records when industry modules include files excluded from code line counts. It ensures only new entries are created and makes those entries easier to distinguish across modules.
Original PR description
When upgrading an industry, the records originating from a file listed in `cloc_exclude` entry of the manifest generate an entry in `ir_model_data` with the module `__cloc_exclude__`. When upgrading the module, it tries to create a second time the same entries, raising the unicity constrain. This commit fixes the issue by creating only new `ir_model_data` entries. It also changes the name to better distinguish different modules, who can share same id. opw-4339886 opw-4274755
5 changes
Resolved issues and error corrections
This update fixes a test failure related to how products are assigned to helpdesk tickets. The previous test was overly strict about the order of products, which could cause it to fail. The change simplifies the test by verifying the correct products are present, regardless of their order, ensuring consistent functionality.
Original PR description
Before this commit, the `/helpdesk_stock:TestHelpdeskStock.test_helpdesk_ticket_product_from_parent_company` test could fail if the records contained in `suitable_product_ids` of a ticket created, inside the test, are not in the same order than the list of ids expected. This commit replaces the following assert: `self.assertEqual(ticket.suitable_product_ids.ids, [company_product.id, employee_product.id], 'Employee should see SOs of parent company')` by ```py self.assertEqual(len(ticket.suitable_product_ids), 2, '2 products should be visible') self.assertIn(company_product, ticket.suitable_product_ids, 'Employee should see SOs of parent company') self.assertIn(employee_product, ticket.suitable_product_ids, 'Employee should see SOs of parent company') ``` by doing that the order will no longer fail the test since finally the order is not really important in that test case. runbot-106821 Forward-Port-Of: odoo/enterprise#74806
Odoo no longer creates extra calendar settings records for portal and public users when they do not need them. This reduces unnecessary data creation while keeping calendar privacy behavior consistent by falling back to public privacy when no settings record exists.
Original PR description
Before this commit, res.users.settings entries were being created for portal and public users in the inverse method of the 'calendar_default_privacy' computed field. From now on, we will not create these entries for these type of users anymore since we don't make use of the fields inside it when the user is not internal. After this commit, we no longer create res.users.settings entries for portal and public users since this creation is skipped using the '_is_internal()' check during the inverse method execution. Additionally, we added the 'public' value fallback for the calendar_default_privacy' field when the 'res_users_settings_id' field is not created. task-4260834
Users without inventory permissions no longer see the serial number shortcut on maintenance equipment records. This prevents confusing access errors and keeps the equipment screen usable for those users.
Original PR description
To reproduce the issue: (Need stock. Enable demo data) 1. In Settings, edit user "Marc Demo": - Inventory: Nothing 2. Log in as Marc Demo 3. Maintenance > Equipment, click on an equipment Error: an…
To reproduce the issue: (Need stock. Enable demo data) 1. In Settings, edit user "Marc Demo": - Inventory: Nothing 2. Log in as Marc Demo 3. Maintenance > Equipment, click on an equipment Error: an Access Error is displayed because a forbidden read operation on `stock.lot` Because of a condition on a smart button of the form view https://github.com/odoo/odoo/blob/f1e217c5cb4934de4cb52d46136d89500d84d904/addons/maintenance/views/maintenance_views.xml#L373-L378 We execute the compute method of `match_serial`, which leads to https://github.com/odoo/odoo/blob/61e586556028aff2f989f5bb90a94afffbd1ac96/addons/maintenance/models/maintenance.py#L166-L170 But the user does not have any access to `stock.lot` (cf step 1). The current diff is not the most elegant one, but: - Adding a `sudo` in the compute method would let the smart button displayed, which would result in a bad UX (when clicking on the button, the user would have another access error) - Adding a `groups` attribute on the button would require a bridge module and would not affect any existing database The above ideas will be applied on master Indirectly related to sentry-5964505411 (cf discussion on PR of https://github.com/odoo-dev/odoo/commit/f1e217c5cb4934de4cb52d46136d89500d84d904)
The payment registration wizard now fills the memo with only the invoice or journal entry reference, instead of combining multiple references in some cases. This prevents confusing payment descriptions and helps keep payment records clearer for reconciliation and communication.
Original PR description
With those commits: https://github.com/odoo/odoo/commit/a6cbb7c2d3538d57dc8498f0dacf4566ea1492e7 https://github.com/odoo/odoo/commit/67e2270d56a81d385db3ca27d29fa3945501fca8 The communication field in the payment register wizard has been changed, when there was only one line we took the line.name. But the line name was in some condition the payment ref and move ref separated with a "-". The communication should only be the move reference or the name of the move. task: 4366478 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The embedded live chat unread message banner now uses the correct text size after a recent chat window redesign made it appear too small. This improves readability for website visitors and keeps chat styling more consistent across Odoo and embedded chat windows.
Original PR description
Since the redesign of chat windows, the "smaller" class is used for the unread message banner. In the embed live chat, rem were converted to em to avoid being impacted by the host font size. However, maintaining consistent styles between odoo and the embed live chat is more complicated because of this. This PR removes this convertion and fixes the text size. before/after 
Batch transfer shipping weight estimates now include the weight of the package itself, not just the products inside. This makes shipping weight calculations more accurate for warehouse teams and can help avoid underestimating delivery weights.
Original PR description
The `estimated_sipping_weight` value of stock picking batch did not take the package itself into account. Only the weight of the product inside. opw: 4311447 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes how project side panel statistic buttons store and use their context information. This reduces the risk of button actions breaking due to hard-to-read or incorrectly formatted data, improving reliability for project users.
Original PR description
The stringified context is hardly readable and error-prone. After this commit, we keep it like it is given, as a regular JSON object. version-18.0 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update stabilizes an automated website navigation menu test by ensuring pending background actions finish before the browser closes. It helps reduce false test failures and improves confidence in website quality checks, without changing the user-facing website experience.
Original PR description
In this commit, we fix the Uncaught (in promise)Event error in this tour by adding few additionnal steps to ensure every Promise is resumed before to close browser. runbot_error_id~70404 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
Pressing Enter in certain protected report sections no longer causes an error. This makes editing Studio reports more reliable and prevents users from being interrupted by a traceback.
Original PR description
Steps to Reproduce: 1. Navigate to Project. 2. Open Studio and go to Reports -> Timesheets Report. 3. Place the cursor before the text "Expression" and press Enter. 4. Next, place the cursor before the text "Name" and press Enter. 5. A traceback occurs. Description of the issue/feature this PR addresses: When pressing Enter with the cursor inside an unsplittable block, instead of creating a new tag, the `insertLineBreakElement`is called which adds a `<br>` and returns `undefined`. Consequently, in `handleSplitBlockHeading`, `newElement` is `undefined`, leading to a traceback when attempting to access its `tagName`. Desired behavior after PR is merged: The traceback no longer occurs when pressing Enter in an unsplittable block. task-4334925
Double-clicking an image in the HTML editor now opens the image preview instead of the editing toolbar. This makes viewing images faster and aligns the interaction with user expectations.
Original PR description
**Current behavior before PR:** - Double clicking on an image opens the image toolbar. **Desired behavior after PR is merged:** - Now, double clicking on an image opens the image preview instead of toolbar. task:4350231
The loan computation flow now handles cases where the Start Date is removed instead of showing an error. This helps accounting users continue setting up loans smoothly and avoids interruptions during loan entry.
Original PR description
This error occurs when we remove the Start Date while computing a new loan. Steps to reproduce: - Install ``accountant`` module - Create a new loan in ``Loans``(eg: Test) > Click ``Compute`` button - Add any loan amount and remove ``Start Date`` Traceback: ``TypeError: unsupported operand type(s) for +: 'bool' and 'relativedelta'`` [1]- https://github.com/odoo/enterprise/blob/42b7b322d6c720de45661e3370397adaf74fe1f4/account_loans/wizard/account_loan_compute_wizard.py#L79 sentry-6093500366
This fix ensures the Indian balance sheet report runs the standard report setup logic as intended. It helps prevent missing or incorrect report options after the introduction of a custom handler.
Original PR description
Since https://github.com/odoo/enterprise/commit/e598fcb48b5e4f0126406a4008f175a88528ba85 the balance sheet report has a custom handler. Make indian balance sheet handler execute super method in it's _custom_options_initializer() do execute parent logic.
This fix ensures the Belgian reports setup only creates an accounting journal when one does not already exist. It helps avoid duplicate records during setup or upgrades, reducing cleanup work and improving data consistency.
Original PR description
create account journal only if it doesn't exist related: https://github.com/odoo/upgrade/pull/6714
The work order list now uses compact icon buttons for common actions like start, pause, and done, reducing wasted space and improving readability. Blocking controls are also clearer, with the unblock action moved into a menu and blocked items more visibly highlighted.
Original PR description
This is only a cosmetic change from a text button to an icon button. The main changes of the PR are done in https://github.com/odoo/odoo/pull/184308/. ----------------------- Community pr description: - changed the "start", "pause" and "done" button text to icons to be able to set the button column size at a fixed value - moved the unblock button in the dropdown - made the previous block button toggle between block and unblock - change the dropdown bullet to red when blocked This commit also modifies the width of the json_popover as it was using the base column width which was too big for the icon. It also modifies the width of the mo_list_dropdown column to limit the empty space. This implies changes in the web module: in `column_width_hook.js`, the width of a widget is equal to it's `listViewWidth`, like the fields. However, unlike the fields, the widget class is missing a validation for that props. task-id: 4279789
The Belgian payroll holiday attest now uses the year when an employee's notice period starts, rather than the year it ends. This avoids incorrect attest information when notice periods cross into a new year and also prevents an error when a contract has no end date.
Original PR description
The year considered in the holiday attest should be the same as the start of the notice period, not the end which could be in the following year. Task: 4274127
This update prevents subscription-related errors when a sales subscription line is not linked to an invoice. It helps keep subscription processing stable in edge cases where invoice references are missing.
This update fixes minor display issues in the Documents app when using dark mode. Colors and borders now adapt correctly to the selected theme, improving readability and visual consistency for users.
Original PR description
This PR fixes some minor color scheme issue within Documents. Prior to this PR, some elements where using raw values instead of BS one, which led to some dark mode issues (e.g hardcoding the…
This PR fixes some minor color scheme issue within Documents. Prior to this PR, some elements where using raw values instead of BS one, which led to some dark mode issues (e.g hardcoding the border-color hex will not adapt it if we are in dark mode). Same thing goes for some color mix that were using `$o-white` thus pure black in dark mode, while it should have used `$o-view-background-color` which is already dark mode proof. Since we were tweaking some values here and there, this commit adapts some part of the code by rationalizing the value, either by using BS variables, CSS one to ease the maintainability of the code as well as avoiding `!important` statements. | 18.0 | This PR | |--------|--------| | <img width="310" alt="image" src="https://github.com/user-attachments/assets/16bcf240-84aa-4788-8527-7103a80deb40"> | <img width="308" alt="image" src="https://github.com/user-attachments/assets/476b6fd3-ab4d-4b1e-bf51-1ef50151f333"> | |  |  | task-4357165
A document folder used in an automated deletion test is now given the right internal access so the test administrator can see and edit it. This prevents a test failure caused by recent permission changes and helps keep document deletion behavior reliably validated.
Original PR description
Following odoo/enterprise#73372 where we create a new group, so that the admin users don't see all the documents by default, the admin user used in this tour is not able to see anymore the "Folder1" created in the test as it is owned by odooBot with no additional rights. To solve the problem, we set access_internal="edit" on the "Folder1". Task-4361749
This update resolves a visual issue where the search bar dropdown menu in the Shop Floor view would extend beyond the screen's edge on smaller devices. The fix ensures the dropdown remains within the designated viewport, improving usability across different screen sizes. This enhancement maintains a consistent and professional user experience.
Original PR description
Steps to reproduce ================== - Use a small viewport - Open the Shop Floor - Click on the dropdown toggle next to the search bar => The dropdown goes outside the viewport Cause of the issue ================== In the shopfloor, the search view has a max width of 65%. Solution ======== We can set the max-width of the search bar menu as the minimum between the initial value and 65% opw-4232114
This update corrects a bug in the Romanian financial reports that was displaying incorrect date ranges for the start of year column. Specifically, it resolved an issue where the start date was calculated incorrectly, leading to inaccurate comparisons. This ensures the reports accurately reflect financial data.
Original PR description
- When doing comparisons on the report the start of year column header would display an impossible date range ex. 'Jan 2024 - Dec 2023'. - When the date range would start at exactly 1 Jan YEAR, the date would be calculated incorrectly to 1 Jan YEAR-1.
This update corrects a validation issue in the l10n_mx_edi module, ensuring the CFDI origin field is correctly populated. This prevents errors related to incorrect origin codes and guarantees accurate CFDI data validation, improving compliance and data integrity.
Original PR description
Fix validation to ensure the CFDI origin field is assigned properly. Prevents cases like `04|`, ensuring the UUID is correctly validated.
Before:
`{'tipo_relacion': '04', 'cfdi_relationado_list': ['']}`
After:
`{'tipo_relacion': '04', 'cfdi_relationado_list': []}`This update corrects a technical issue that prevented users from properly extending a key method within the fleet expense tracking module. Previously, attempts to modify this method resulted in missing data. This fix ensures that users can now correctly customize and extend this functionality, improving flexibility and adaptability.
Original PR description
When trying to extend `_get_deferred_lines_values` method, you don't received argument "line"