Daily updates from Odoo
Monday, April 28, 2025
14 changes
6 changes
Resolved issues and error corrections
This change updates internal Spanish reporting tests so they no longer rely on demo data, which is not allowed in this context. It helps keep automated checks compliant and reliable without changing day-to-day user functionality.
Original PR description
This is illegal. https://runbot.odoo.com/odoo/error/161658
This change makes the Indian payroll test setup create its own department data instead of depending on optional sample records. It helps keep automated checks reliable in standard test configurations without changing payroll features for users.
Original PR description
`hr.dep_rd` is demo data, it's not available anymore during tests in the default configuration. So replace it by creating a department on the fly. And remove the resolution of `employee_al` which is also demo data *and* seems unused. While at it, nuke a bunch of instance variables which don't seem used outside of `setUp`. https://runbot.odoo.com/odoo/error/161648
This update fixes an internal test setup so Amazon marketplace-related tests run with the required sales administrator access. It helps keep automated validation reliable for Amazon sales integrations without changing day-to-day user behavior.
Original PR description
Interaction with the amazon marketplace models requires sales admin access. Furthermore, these accesses are also necessary during the `l10n_es_sale_amazon` tests (which use this setup), so adding then removing the group for the setup or locally using `sudo` doesn't seem like a great option. https://runbot.odoo.com/odoo/error/163666
The VAT return draft-check now focuses only on customer invoices and vendor bills. This prevents unrelated miscellaneous journal entries from blocking VAT return preparation, reducing false warnings for accounting teams.
Original PR description
In the VAT report return, we check that there are no draft moves in the period. However, we only want customer invoices and bills, MISC entries should not be included in the check. task-4627315
Spreadsheet pivot tables now generate DATE formulas without extra spaces before the day and month values. This prevents formatting issues and makes generated spreadsheet formulas cleaner and more reliable for users.
Original PR description
Removed extra spaces in front of the day and month in DATE function. Task: 4725023
Appointment pages with no available staff or resources now show the unavailable-slot message only once. This avoids a confusing duplicate message for visitors trying to book an appointment.
Original PR description
Reproduce: Check the front page of an appointment type with no resources or staff users. This commit avoids duplicating the ‘No slot’ message on the front page of appointment types for which there is no slot available. Task-4750234
1 change
Resolved issues and error corrections
A missing controller connection was added to the Project kanban view so that previously prepared behavior now works as intended. This helps ensure users see the correct project task interactions in the kanban interface.
Original PR description
The controller extended in the PR https://github.com/odoo/odoo/pull/194090 is not added in to the view. Adding into project kanban view.
3 changes
Resolved issues and error corrections
The update removes an unrelated point of sale manager permission from shared accounting test setup so permission checks better reflect real usage. Point of sale tests now receive that access only where needed, and product users gain read-only access to Urban Piper status data.
Original PR description
The `group_pos_manager` was previously reintroduced in `AccountTestInvoicingCommon` due to demo data changes. However, this group is unrelated to the `account` module and may mask real permission issues in tests. This commit removes the group from the common test setup and adds it explicitly in the relevant PoS test cases where needed. Grants read-only access to `product.urban.piper.status` for product users. task-id: 4678172 community PR: https://github.com/odoo/odoo/pull/205318
A subscription project helper was renamed to stay aligned with the related sales project update. This prevents a mismatch that could affect revenue item retrieval for subscription projects, with no expected change to day-to-day workflows.
Original PR description
Match the method name from `sale_project` changed in community side PR. opw-4652472
Pivot tables in spreadsheets now generate DATE formulas without unwanted spaces before the day and month values. This prevents formatting issues and makes generated spreadsheet formulas cleaner and more reliable for users.
Original PR description
Removed extra spaces in front of the day and month in DATE function. Task: 4725023
4 changes
Resolved issues and error corrections
Automated browser tests now avoid depending on outside websites and services during execution. This makes test results more consistent, reduces random failures caused by network issues, and can slightly speed up runs by avoiding repeated external downloads.
Original PR description
Accessing external resources in chrome can increase randomness in execution for multiple reasons: - the external resource may temporary not be available - the external resource may be faster-slower…
Accessing external resources in chrome can increase randomness in execution for multiple reasons: - the external resource may temporary not be available - the external resource may be faster-slower to load - the external server could block some requests because of rate limiting - the network may be unreachable. Moreover, downloading fonts at every execution also slows down the tests A possibility to solve the issue was to block the network on runbot, in the dockers. The main problem with this solution is that it wouldn't be the same behavior locally. It is also hard to adapt all versions at the same time. This commit introduced another solution, using Fetch.enable in the chrome developers tools. This will allow to have a callback on every external request, allowing to enable/disable/give an alternate answer to the request. All local request are allowed, all external request should be either blocked or an alternative answer given. This could be costly but at first glance it looks like it had no visible negative impact on performances. The first version was blocking all external requests, leading to a lot of failing tests, most of them already seen in nighties. It is hard to say since depending on when it happens it could create different error message, at least a few dozens of error related to this where found, maybe a few hundreds looking at the kind of patterns it can cause. Following this attempts a fix was to vendor all needed sources leading to ~130 cached url, with more than 100 fonts. This list was furthered reduced to have default fonts that would be returned reducing the load. A test was made to return a 404 instead and it was actually enough, and it is the same for most requests (stripe, ayden, ...). Only a few of them needs a answer close to reality. - The gooleapis css can be emty but not a 404 because it may make some of the css computation fail (website.backend_assets_all_wysiwyg.min.css) One of the failling test is TestCustomSnippet.test_01_run_tour This final version returns a 404 for most resources. A version returning 500 also works fine. This pr could impact other cis (odoosh, other runbot) but the impact is expected to be slow wince only two tests needed to be adapted outside tests/common.py. It would be still possible to make Fetch.enable optional using an environment variable. Targeting 18.0 looks reasonable for a start, could be backported to 16.0 later Note that this pr may make some random error more frequent, #207469 was needed to make this pr green. The assumption is that the speedup of the loading of some resources (or possible slowdown of local request) may change the timing of the execution revealing making some error more frequent.
This fix prevents company setup from failing when a user's language is not available during automated test preparation. It uses the company language, or English as a safe default, so setup processes can complete reliably.
Original PR description
user_lang was missing as it was not set in the test setup, which caused an error in the setup because when creating a company it needed a user_lang to be set in this function `_create_dashboard_notes` build_error-161173
This fix prevents an error that could occur when product pricing information is displayed in the Point of Sale pricer feature. It helps keep pricing screens stable by safely handling a missing internal calculation method.
Original PR description
The compute method was removed in this commit, but is declared in the field. Traceback: --- AttributeError: 'product.product' object has no attribute '_compute_pricer_display_price' This commit resolves the above error by skipping the compute method when it is called. commit : https://github.com/odoo/enterprise/commit/70d96c44bb834ecbe89b5720ae18a93038301796#diff-2f3d348951d6293f7e805819d7053ac4ec65994bbacc829dac5dc68b00c932c> sentry-6547636163
Printed payslips now respect the payslip structure setting for worked days. If worked day lines are disabled on the form, the printed report will no longer show the worked days table, reducing confusion for payroll users.
Original PR description
- If the payslip sturct has `use_worked_day_lines = False` the printed payslip shoud not have worked_days_table Task: 4720429