Tuesday, September 17, 2024
19 changes · 17.0
Enhancements to existing features
The Spanish localization now sets deferred account defaults in its accounting template. This helps Spanish companies apply the correct accounting setup more consistently and reduces manual configuration during setup.
Original PR description
This commit will set the deferred accounts for spain template. task: 4181499 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Stock move line selection can now respect extra selection rules configured on the field. This lets businesses tailor which lots or move lines users can choose without requiring a custom JavaScript workaround.
Original PR description
The custom stock.move.line's x2many field computes a domain automatically for the SML that can be selected from the stock.move records (e.g. when trying to find a specific lot, etc. to fulfill a demand).
This commit makes it possible to include the domain defined on the field in the final constructed domain, making it possible to somewhat customize this behaviour without the need for a js override.
Task-4116000
-----------
Example of customization made possible with this:
Have a computed field `x_allowed_lot_ids` on the stock.move and restrict the selection of the lots to this domain by modifying the view `stock.view_stock_move_operations`:
```xml
<field name="move_line_ids" domain="[('lot_id', 'in', x_allowed_lot_ids)]" [...] widget="sml_x2_many"/>
```
without this commit, the `domain` attribute set on the field is simply ignored and it would require a more complex js custo (we could live with it)Resolved issues and error corrections
This fixes a visual issue in Odoo Mail where long messages could make the chat window flicker while users typed. The chat input now measures its height correctly, creating a smoother and less distracting messaging experience.
Original PR description
When the message in the chatwindow is too long, the textarea in the chatwindow is constantly showing the scorllbar. This causes the chatwindow to flicker when the user is typing a message. This commit fixes the issue by setting excatly the right class for the fake textarea in the chatwindow so that it can get the real height of the textarea. 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
Features or functions removed from Odoo
An obsolete internal accounting function was removed because it was no longer used and depended on another function that had already been removed. This reduces maintenance risk without changing day-to-day accounting workflows.
Original PR description
This function is no longer used anywhere. Additionally, it calls the _prepare_reconciliation_partials function which no longer exists either. #178081
Miscellaneous changes
When uploading a bill via xml, if the file does not contain the node 'Name` in accounting parties informations, we don't set the partner at all on the bill. With this commit, if the node `Name` is missing, we fallback to the node `RegistrationName`. opw-4154071 Forward-Port-Of: odoo/odoo#180056
Original PR description
When uploading a bill via xml, if the file does not contain the node 'Name` in accounting parties informations, we don't set the partner at all on the bill. With this commit, if the node `Name` is missing, we fallback to the node `RegistrationName`. opw-4154071 Forward-Port-Of: odoo/odoo#180056
French chart of accounts entries numbered 14 to 19 are now classified as non-current liabilities instead of current liabilities. This improves the accuracy of financial reporting for companies using the French localization.
Original PR description
On accounts from 14... to 19..., there are current liabilities while they should be non-current libialities. Manual forward-port of #178373 opw-4134510
The website editor now uses a newer, supported way to measure icon text when generating images. This prevents log errors with recent Pillow versions and helps keep website editing features reliable after dependency updates.
Original PR description
Before this PR: We used the .textsize method, which returned the height and width of the icon. However, in the latest version of Pillow, this method was deprecated, resulting in errors in the log. After this PR: We have transitioned to using the textbbox method, which returns the coordinates of the top, left, bottom, and right of the text's bounding box. From these coordinates, we calculate the height and width of the text. task-3502373
This fix prevents an error that could occur when users grouped projects without an active filter. It improves reliability in project views by safely handling empty filter conditions instead of showing a traceback.
Original PR description
Currently a traceback may arises when there is no `filter_domain`, while the user tries to group projects. Error:- ``` AttributeError: 'bool' object has no attribute '_name' File "odoo/models.py",…
Currently a traceback may arises when there is no `filter_domain`,
while the user tries to group projects.
Error:-
```
AttributeError: 'bool' object has no attribute '_name'
File "odoo/models.py", line 6643, in __and__
if self._name != other._name:
TypeError: unsupported operand types in: project.project(2,) & False
File "odoo/http.py", line 2383, in __call__
response = request._serve_db()
File "odoo/http.py", line 1913, in _serve_db
return self._transactioning(
File "odoo/http.py", line 1976, 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 1943, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2187, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 227, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 757, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 35, in call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 459, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "addons/web/models/models.py", line 242, in web_read_group
groups = self._web_read_group(domain, fields, groupby, limit, offset, orderby, lazy)
File "addons/web/models/models.py", line 268, in _web_read_group
groups = self.read_group(domain, fields, groupby, offset=offset, limit=limit,
File "addons/project/models/project_task.py", line 1982, in read_group
return super().read_group(domain, fields, groupby, offset, limit, orderby, lazy)
File "odoo/models.py", line 2800, in read_group
rows_dict = self._read_group_fill_results(
File "odoo/models.py", line 2247, in _read_group_fill_results
values = group_expand(self, groups, domain).sudo()
File "home/odoo/src/enterprise/saas-17.4/industry_fsm/models/project_task.py", line 194, in _group_expand_project_ids
res &= search_on_comodel
File "odoo/models.py", line 6648, in __and__
raise TypeError(f"unsupported operand types in: {self} & {other!r}")
```
This is because of the recent changes from the below commit
Commit:- https://github.com/odoo/odoo/pull/172973/commits/600b379c91059bfce5ebf6c53a9d282a07e5c640
When the `_search_on_comodel` method returns `False` if there is no `filter_domain`,
it leads to a traceback because `&` is used between an empty recordset and a False.
https://github.com/odoo/enterprise/blob/ce508a604bf70af06347e43000f25426473fb867/industry_fsm/models/project_task.py#L149-L151
We can resolve this issue by returning an empty record, Instead of returning False.
sentry-5836960027This fixes an issue where Save and Discard buttons stayed visible after changes were saved or discarded in the Views editor. Users now get clearer feedback that there are no pending changes, reducing confusion during configuration work.
Original PR description
**Steps to reproduce this issue:** - Go to views (Settings -> Technical -> User Interface -> Views). - Edit something and click the Save/Discard button. - Notice that the Save and Discard buttons remain visible. **Current behavior before PR:** The state `fieldIsDirty` remains true after clicking the Save/Discard button because the `FIELD_IS_DIRTY` event defined in the `useBus` hook is not triggered in `commitChanges`. **Desired behavior after PR is merged:** The Save and Discard buttons hide successfully when not needed. task-3948043
This fix restores the ability to reorder projects from the project configuration list view. It removes an incorrect sorting behavior so users can manage project display order as expected.
Original PR description
* STEP TO REPRODUCE: go to configuration -> project -> switch to list view -> can't change sequence of project * REASON: in project.view_project_config we use invisible instead of column_invisible and the default_order in tree are "is_favorite desc, sequence, name, id" not like in v16 are "sequence, name, id" * SOLUTION: Change invisible -> column_invisible and change default_order of project config view to "sequence, name, id" Close https://github.com/odoo/odoo/issues/176961 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
This update resolves an issue where timer tests were failing during single app installation builds because they incorrectly required the timesheet_grid module to be installed. The fix reorganizes tests by moving timesheet-related timer tests to the timesheet_grid module while keeping core timer tests in the timer module, ensuring each module can be tested independently.
Original PR description
Backport of parts of https://github.com/odoo/enterprise/pull/60147/commits/976158bca652bc21765306ff5366a73e8982853b commit. When running Timer tests for single app install nightly builds, we were getting error, as timer tests needed timesheet_greed to be installed.  This pr is solving this issue by moving the test in timesheet_grid, and creating additional tests in timer module.
Fixed an issue in the Planning module where clicking on shift option labels (like "This and Following Shifts") did not properly select the corresponding radio button. This improves the user experience when managing recurring shifts by ensuring labels are properly linked to their radio buttons.
Original PR description
Reproduce Steps: ---------- 1. Install the Planning module. 2. Navigate to My Planning. 3. Open the Repeat Shift section. 4. Click the Delete button. 5. Click on a radio button label, such as 'This and Following Shifts'. Fixed an issue where clicking the shift option labels did not select the corresponding value. The problem was addressed by setting the `id` attribute on the input element and properly associating it with the label. task-3978567
This fix removes an unintended module dependency that was added to the US Payroll module. While the dependency made functional sense, it violated Odoo's stable release policy and needed to be reverted. Users can still optionally install the related address extension module if they need that functionality.
Original PR description
A new dependency has been introduced by mistake. Even if it still makes sense from a functional point of view, this modification wasn't respecting our stable policy and thus should be reverted. Error introduced at https://github.com/odoo/enterprise/pull/63481
The non-working “Closed On” filter has been removed from Project and To-Do task views. This prevents users from seeing a filter option that could not produce reliable results in this version.
Original PR description
The "Closed On" filter in project and project_todo relies on using a date filter in conjunction with a domain, which is not possible before https://github.com/odoo/odoo/pull/156746. This PR removes those filters, as they don't work before the above PR. Task-3973609
With this commit we extend the account_tax model to add tax category code and tax exemption reason, that will be used when generating peppol xml. Without that we can only do some incomplete computation leading to missing informations in peppol xml. opw-4061329 Forward-Port-Of: odoo/odoo#176221
Original PR description
With this commit we extend the account_tax model to add tax category code and tax exemption reason, that will be used when generating peppol xml. Without that we can only do some incomplete computation leading to missing informations in peppol xml. opw-4061329 Forward-Port-Of: odoo/odoo#176221
This pull request updates the app information file for the Base Automation module. The change appears administrative and should not affect day-to-day business workflows.
Original PR description
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
This pull request updates the application information for the Base Automation module. It appears to be a small administrative metadata change with no expected impact on day-to-day business workflows.
Original PR description
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
In this Pr: https://github.com/odoo/odoo/pull/176313, we did a fix for the order of the lines in the report but included only the invoices in the t-set. task: 4179612 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179935
Original PR description
In this Pr: https://github.com/odoo/odoo/pull/176313, we did a fix for the order of the lines in the report but included only the invoices in the t-set. task: 4179612 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179935
Instead of taking the extension, we took the name, which doubles it. Also fixed the fact that the separation of zip means that the GUID should always be generated in the csv. Backported the test to be able to see these issues. Forward-Port-Of: odoo/enterprise#68916
Original PR description
Instead of taking the extension, we took the name, which doubles it. Also fixed the fact that the separation of zip means that the GUID should always be generated in the csv. Backported the test to be able to see these issues. Forward-Port-Of: odoo/enterprise#68916