Wednesday, November 13, 2024
13 changes · 18.0
Resolved issues and error corrections
This fix addresses a traceback in the Manufacturing app that could interrupt users during production-related workflows. It improves reliability by preventing an unexpected error from blocking normal operations.
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
Code cleanup and technical improvements
The HTML editor’s internal plugin architecture was reorganized to make commands, dependencies, and extension points more consistent. This should make future editor changes easier to build and maintain, with little direct impact on everyday users.
Original PR description
### API Changes 1. **Dependencies** - Replaced `shared.method_name` with `dependencies.pluginName.methodName` - Plugin `name` property renamed `id` to avoid clashing with the global `name` property…
### API Changes
1. **Dependencies**
- Replaced `shared.method_name` with `dependencies.pluginName.methodName`
- Plugin `name` property renamed `id` to avoid clashing with the global `name` property on classes. Values changed to camelCase.
2. **Commands**
- Introduced "user commands" as a unified interface for commands that can be triggered by users (e.g. from the toolbar, powerbox and powerbuttons)
- Standardized api for toolbar items, powerbox items, shortcuts, and power buttons
- Removed `Plugin.dispatch` and `Plugin.handleCommand` methods
- Introduced `dispatchTo` for event handling and `delegateTo` for overrides
3. **Resource Categorization**
- handlers: functions that are called in response to an event (e.g. selectionchange_handlers)
- overrides: functions that replace a default behavior (e.g. paste_text_overrides)
- predicates: functions that test a condition, returning boolean (e.g. unremovable_node_predicates)
- providers: functions that supply data on demand (e.g. collaboration_peer_metadata_providers)
- processors: composable functions that transform data (e.g. history_step_processors)
- data (no suffix): not functions (e.g. system_classes)
task-4266746
Enterprise: https://github.com/odoo/enterprise/pull/73500Miscellaneous changes
When gift card is the only program activated, if you buy a gift card in the PoS and invoice the order. The gift would not be created and not printed Steps to reproduce: ------------------- * Disable all loyalty programs but gift card program * Open PoS and add a gift card to your order * Validate the order and invoice it > Observation: No gift card is printed, if you check in the backend it is not even created Why the fix: ------------ When invoicing the order is synced with the ba
Original PR description
When gift card is the only program activated, if you buy a gift card in the PoS and invoice the order. The gift would not be created and not printed Steps to reproduce: ------------------- * Disable all loyalty programs but gift card program * Open PoS and add a gift card to your order * Validate the order and invoice it > Observation: No gift card is printed, if you check in the backend it is not even created Why the fix: ------------ When invoicing the order is synced with the backend before handling the loyalty programs. After synchronising the orders all the local fields are lost. In our case `_e_wallet_program_id` is necessary to create the gift cards. So we try to retrieve it based on the product of the line. opw-4222936 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185678
This refactor updates the internal editor plugin system used by Knowledge, Appointments, and Studio so shared tools follow a clearer and more consistent API. It should make future editor improvements easier to build and maintain, with limited direct impact for end users.
Original PR description
### API Changes 1. **Dependencies** - Replaced `shared.method_name` with `dependencies.pluginName.methodName` - Plugin `name` property renamed `id` to avoid clashing with the global `name` property…
### API Changes
1. **Dependencies**
- Replaced `shared.method_name` with `dependencies.pluginName.methodName`
- Plugin `name` property renamed `id` to avoid clashing with the global `name` property on classes. Values changed to camelCase.
2. **Commands**
- Introduced "user commands" as a unified interface for commands that can be triggered by users (e.g. from the toolbar, powerbox and powerbuttons)
- Standardized api for toolbar items, powerbox items, shortcuts, and power buttons
- Removed `Plugin.dispatch` and `Plugin.handleCommand` methods
- Introduced `dispatchTo` for event handling and `delegateTo` for overrides
3. **Resource Categorization**
- handlers: functions that are called in response to an event (e.g. selectionchange_handlers)
- overrides: functions that replace a default behavior (e.g. paste_text_overrides)
- predicates: functions that test a condition, returning boolean (e.g. unremovable_node_predicates)
- providers: functions that supply data on demand (e.g. collaboration_peer_metadata_providers)
- processors: composable functions that transform data (e.g. history_step_processors)
- data (no suffix): not functions (e.g. system_classes)
task-4266746
Community: https://github.com/odoo/odoo/pull/186637At the moment cancelling assets is impossible when audit trail is enabled because it tries to unlink the move. It should be possible, in which case the move should be reversed instead. By adding a check in _can_be_unlinked to return False in such case, the _unlink_or_reverse method will then properly reverse asset moves as expected. Back port of https://github.com/odoo/odoo/pull/181193 task-4251586 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit
Original PR description
At the moment cancelling assets is impossible when audit trail is enabled because it tries to unlink the move. It should be possible, in which case the move should be reversed instead. By adding a check in _can_be_unlinked to return False in such case, the _unlink_or_reverse method will then properly reverse asset moves as expected. Back port of https://github.com/odoo/odoo/pull/181193 task-4251586 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186974 Forward-Port-Of: odoo/odoo#184535
This improves the wording for the "missing journal" error, matching #185054 Because the original PR needs to be stopped at 16.0, this part will be able to be forward-ported --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186669 Forward-Port-Of: odoo/odoo#186138
Original PR description
This improves the wording for the "missing journal" error, matching #185054 Because the original PR needs to be stopped at 16.0, this part will be able to be forward-ported --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186669 Forward-Port-Of: odoo/odoo#186138
This PR removes the tags added to the TDS sales taxes. Due to tags on sales taxes, all the TDS entries from customer invoices are reported in TDS reports which does not need to be reported. task-4314045 Forward-Port-Of: odoo/odoo#186835 Forward-Port-Of: odoo/odoo#186746
Original PR description
This PR removes the tags added to the TDS sales taxes. Due to tags on sales taxes, all the TDS entries from customer invoices are reported in TDS reports which does not need to be reported. task-4314045 Forward-Port-Of: odoo/odoo#186835 Forward-Port-Of: odoo/odoo#186746
Add a check on adyen callback when paying. Verify if the pending payment line exist before processing the callback. opw-4242322 Forward-Port-Of: odoo/odoo#186842 Forward-Port-Of: odoo/odoo#186580
Original PR description
Add a check on adyen callback when paying. Verify if the pending payment line exist before processing the callback. opw-4242322 Forward-Port-Of: odoo/odoo#186842 Forward-Port-Of: odoo/odoo#186580
Debugging websocket can be tough as we don't know when a session is downgraded. Some messages can be received, giving the impression that everything is working fine while the socket is actually linked to a public user. This PR introduces some logs to help debugging this scenario. opw-4218953 Forward-Port-Of: odoo/odoo#186911
Original PR description
Debugging websocket can be tough as we don't know when a session is downgraded. Some messages can be received, giving the impression that everything is working fine while the socket is actually linked to a public user. This PR introduces some logs to help debugging this scenario. opw-4218953 Forward-Port-Of: odoo/odoo#186911
Steps to reproduce ================== - Use a mobile device - Enable analytic accounting - Go to Expenses - Open a record - Click on the analytic field - Search more on the project - Click on the search input => The popup closes Cause of the issue ================== There is a resize handler that closes the popup. When the keyboard appears, the window is resized to reserve space for it Solution ======== Dont close the popup when we are using a mobile OS opw-4174514
Original PR description
Steps to reproduce ================== - Use a mobile device - Enable analytic accounting - Go to Expenses - Open a record - Click on the analytic field - Search more on the project - Click on the search input => The popup closes Cause of the issue ================== There is a resize handler that closes the popup. When the keyboard appears, the window is resized to reserve space for it Solution ======== Dont close the popup when we are using a mobile OS opw-4174514 Forward-Port-Of: odoo/odoo#186606
TO REPRODUCE =========== 1. Create an appointment with users A and B 2. ...using 'no picture' and 'user then time' 3. go to front end 4. pick a date D both users have slots in 5. go to next month 6. change user in the dropdown (or change TZ) 7. slots appear for day D in previous month ISSUE ===== When selecting an other resource or user in the dropdown in resource_time mode, even if the selected one has no available slot for the current month, slots will appear in the slot list, c
Original PR description
TO REPRODUCE =========== 1. Create an appointment with users A and B 2. ...using 'no picture' and 'user then time' 3. go to front end 4. pick a date D both users have slots in 5. go to next month 6.…
TO REPRODUCE =========== 1. Create an appointment with users A and B 2. ...using 'no picture' and 'user then time' 3. go to front end 4. pick a date D both users have slots in 5. go to next month 6. change user in the dropdown (or change TZ) 7. slots appear for day D in previous month ISSUE ===== When selecting an other resource or user in the dropdown in resource_time mode, even if the selected one has no available slot for the current month, slots will appear in the slot list, corresponding to the first availability overall. This leads to a very strange mismatch between the calendar dates and the slots. The user may select a slot and book for a month they do not currently see on the calendar. SOLUTION ======== Now, we will select the previously selected date if it is in the current month and has slots. Otherwise we select the first day with slots in the currently displayed month (NOT overall). This way, the day is selected and displayed as so in the calendar. The slots match that day. If no availability exist for the current month, we do not click on any day, and show no slots. Task-4169513 Forward-Port-Of: odoo/enterprise#73609 Forward-Port-Of: odoo/enterprise#71460
This commit makes cancelled depreciation entries appear in grey in the depreciation board. It also turns the the depreciation entry's name into a link towards the move's form view. Forward-Port-Of: odoo/enterprise#73684 Forward-Port-Of: odoo/enterprise#72819
Original PR description
This commit makes cancelled depreciation entries appear in grey in the depreciation board. It also turns the the depreciation entry's name into a link towards the move's form view. Forward-Port-Of: odoo/enterprise#73684 Forward-Port-Of: odoo/enterprise#72819
The test was using a common class from website while not depending on the module and turns out the class was not necessary. Runbot Error 69687 Forward-Port-Of: odoo/enterprise#73377
Original PR description
The test was using a common class from website while not depending on the module and turns out the class was not necessary. Runbot Error 69687 Forward-Port-Of: odoo/enterprise#73377