Friday, September 27, 2024
39 changes · master
Enhancements to existing features
Demo payroll data now includes two local banks with appropriate names and BIC codes for multiple country payroll localizations. This makes sample payroll setups feel more realistic and easier to evaluate in demonstrations or testing.
Original PR description
* = au, bd, eg, hk, jo, ke, lt, lu, ma, mx, nl, pl, ro, sk, and us. This PR improves the demo data for multiple l10n payroll modules by adding two banks (`res.bank`) with local bank names and BIC codes to each localization.
Resolved issues and error corrections
The work center form no longer shows two chatter panels when opened or when creating a new work center. This removes visual clutter and helps users interact with messages and activity tracking in the expected place.
Original PR description
Issue Before This Commit: =========================== When creating a new work center in mrp, forms contain 2 chatters in view. Steps to Produce: =================== 1. open mrp work center form 2. 2 chatters are visible With this commit: ==================== Removed the extra chatter that came in form view of the work center and the functionality now works as intended without any errors.
Code cleanup and technical improvements
This update modernizes internal code patterns across several service-related areas without changing business features or workflows. It helps keep the software easier to maintain and reduces future technical overhead.
Original PR description
Miscellaneous changes
Currently, the product image is displayed in a large size, and the empty image is not shown. Both issues have been fixed in this commit. task-4188603 Forward-Port-Of: odoo/enterprise#70161
Original PR description
Currently, the product image is displayed in a large size, and the empty image is not shown. Both issues have been fixed in this commit. task-4188603 Forward-Port-Of: odoo/enterprise#70161
This draft work updates HR contract reporting and related dashboard data. It appears to address an issue found during automated validation, helping keep employee contract report information reliable for business review.
This fixes a validation issue in SEPA Direct Debit batch payments that could cause an error when several batches using different payment methods were checked together. It helps keep payment processing workflows stable and avoids unnecessary interruptions for accounting teams.
Original PR description
This constraint crashed when called on a recordset of multiple batch payments with different payment methods.
task-4213820
Currently bookkeepers do not have the rights to use the Secure Entries wizard. This is fixed in this commit. Forward-Port-Of: odoo/enterprise#70806
Original PR description
Currently bookkeepers do not have the rights to use the Secure Entries wizard. This is fixed in this commit. Forward-Port-Of: odoo/enterprise#70806
The Accounting and Benchmark dashboards were designed with a global filter working with months. But when filtering by quarter, everything breaks because formulas do not expect an input such as "Q4/2020". This commit disable the possibility to select quarters. Task: 4184088 Forward-Port-Of: odoo/enterprise#70836 Forward-Port-Of: odoo/enterprise#69991
Original PR description
The Accounting and Benchmark dashboards were designed with a global filter working with months. But when filtering by quarter, everything breaks because formulas do not expect an input such as "Q4/2020". This commit disable the possibility to select quarters. Task: 4184088 Forward-Port-Of: odoo/enterprise#70836 Forward-Port-Of: odoo/enterprise#69991
Steps: - create a bom for product A with 1 operation - add 2 steps to that operation with the same title, the same test_type_id and the same component(s) - create a 2 MOs for that bom - in the shopfloor, go on the workcenter for the operation - do: Update Instructions > Improvement Suggestion > Add a Step > validate - do the same for the other MO Issue 1: you get a traceback 'Expected singleton' because it cannot differentiate between the 2 pre-existing steps (same title, same test_t
Original PR description
Steps: - create a bom for product A with 1 operation - add 2 steps to that operation with the same title, the same test_type_id and the same component(s) - create a 2 MOs for that bom - in the…
Steps: - create a bom for product A with 1 operation - add 2 steps to that operation with the same title, the same test_type_id and the same component(s) - create a 2 MOs for that bom - in the shopfloor, go on the workcenter for the operation - do: Update Instructions > Improvement Suggestion > Add a Step > validate - do the same for the other MO Issue 1: you get a traceback 'Expected singleton' because it cannot differentiate between the 2 pre-existing steps (same title, same test_type_id, same component(s)) Issue 2: you get a traceback 'Expected singleton' because with at least 2 open MOs, it will select all checks without `previous_check_id` across all MOs of the same bom Fix: 1) if more than 1 step can be selected, take the first and remove it from the `points` list all the points in that list will be processed only once so it's ok to remove them after using them. 2) make sure that the selected check corresponds to the MO on which we are adding a step. Forward-Port-Of: odoo/enterprise#70753
Steps to reproduce: - enable debug mode - go to Documents - select My Drive - click on New > Spreadsheet => boom `OwlError: Invalid props for component 'TemplateDialog': 'folderId' is not a number` The props can also be a string like `"MY"`, `"COMPANY"` or `"TRASH"` Forward-Port-Of: odoo/enterprise#70842
Original PR description
Steps to reproduce: - enable debug mode - go to Documents - select My Drive - click on New > Spreadsheet => boom `OwlError: Invalid props for component 'TemplateDialog': 'folderId' is not a number` The props can also be a string like `"MY"`, `"COMPANY"` or `"TRASH"` Forward-Port-Of: odoo/enterprise#70842
### Steps to reproduce * install `l10n_th_reports` * create a Thai company and its branch * using the company selector, ensure the current company is the branch company, while selecting both parent and branch company * open the Thai Tax Report * attempt to export the "Sales Tax Report (xlsx)" You should be met with a traceback about a tax group External ID not being found ### Cause The system looks for an XML ID which is only present in the parent company, while using the branch
Original PR description
### Steps to reproduce * install `l10n_th_reports` * create a Thai company and its branch * using the company selector, ensure the current company is the branch company, while selecting both parent and branch company * open the Thai Tax Report * attempt to export the "Sales Tax Report (xlsx)" You should be met with a traceback about a tax group External ID not being found ### Cause The system looks for an XML ID which is only present in the parent company, while using the branch company opw-4181071 Forward-Port-Of: odoo/enterprise#70467
Steps to reproduce: - Employees > Configuration > Working schedules - Set your working schedule to have non round numbers (Not mandatory but makes the issue much easier to reproduce) - Timesheets > Edit to have the required hour total - Sometimes rounding errors will cause the formatting to change (Overtime of +0:00, display in red...) This issue is not deterministic but we currently use exact comparisons between floats to determine the formatting so it could happen anytime. The error mar
Original PR description
Steps to reproduce: - Employees > Configuration > Working schedules - Set your working schedule to have non round numbers (Not mandatory but makes the issue much easier to reproduce) - Timesheets > Edit to have the required hour total - Sometimes rounding errors will cause the formatting to change (Overtime of +0:00, display in red...) This issue is not deterministic but we currently use exact comparisons between floats to determine the formatting so it could happen anytime. The error margin was chosen to be much lower than what a difference of 1min could cause (Since the rounding errors are in the vicinity of 1e-16). opw-4123649 Forward-Port-Of: odoo/enterprise#69845
Since https://github.com/odoo/odoo/pull/181529, we cannot search on display name for some models that define themselves the field without specifying the search method. The `display_name` field is defined (including its compute method) only when the model does not define it yet. Existing declarations were missing a `search` declaration. odoo/odoo#181563 Forward-Port-Of: odoo/enterprise#70746
Original PR description
Since https://github.com/odoo/odoo/pull/181529, we cannot search on display name for some models that define themselves the field without specifying the search method. The `display_name` field is defined (including its compute method) only when the model does not define it yet. Existing declarations were missing a `search` declaration. odoo/odoo#181563 Forward-Port-Of: odoo/enterprise#70746
https://github.com/odoo/odoo/pull/174366 task-4027103 Forward-Port-Of: odoo/enterprise#69287
Original PR description
https://github.com/odoo/odoo/pull/174366 task-4027103 Forward-Port-Of: odoo/enterprise#69287
When a quality check of type 'spreadsheet' fails, we want to show the failure message and stay on the spreadsheet view. That way the user has the time to see what failed. They can still use the 'Shop Floor' link to return to the shopfloor view. Forward-Port-Of: odoo/enterprise#70799
Original PR description
When a quality check of type 'spreadsheet' fails, we want to show the failure message and stay on the spreadsheet view. That way the user has the time to see what failed. They can still use the 'Shop Floor' link to return to the shopfloor view. Forward-Port-Of: odoo/enterprise#70799
Internal transfers are no longer supported as per b4da30bfa8a82959f91f606cb94c0704d4afccb8. This commit adjusts payment initiations' payloads to reflect this change. Forward-Port-Of: odoo/enterprise#70750
Original PR description
Internal transfers are no longer supported as per b4da30bfa8a82959f91f606cb94c0704d4afccb8. This commit adjusts payment initiations' payloads to reflect this change. Forward-Port-Of: odoo/enterprise#70750
RATIONALE When invoked through cron, event schedulers currently run on all available registrations. This can lead to Memory or Time errors when dealing with big events. We should instead move towards an interactive sending, committing after each batch, to gradually send communications without errors and without sending multiple times mails, sms, whatsapp messages, ... SPECIFICATIONS Global approach for this PR * rewrite schedulers execution code, notably to have more control on
Original PR description
RATIONALE When invoked through cron, event schedulers currently run on all available registrations. This can lead to Memory or Time errors when dealing with big events. We should instead move towards…
RATIONALE
When invoked through cron, event schedulers currently run on all available
registrations. This can lead to Memory or Time errors when dealing with
big events. We should instead move towards an interactive sending, committing
after each batch, to gradually send communications without errors and without
sending multiple times mails, sms, whatsapp messages, ...
SPECIFICATIONS
Global approach for this PR
* rewrite schedulers execution code, notably to have more control on
input / output of each type: event-based or attendee-based schedulers,
give registrations to contact as input, ... ;
* introduce more performance oriented code: avoid filters on all attendees,
search for batches instead; find once attendees to contact then;
delegate the sending only to sub modules;
* make communications iterative
* event-based: use recently introduced "last_registration_id" field to know
at which point process was stopped, and resume communication sending;
* attendee-based: contact by batches;
* make code more defensive against ill defined templates and issues during
communication sending;
* add / improve tests;
See sub commits and linked community PR for more details.
Task-3814592: Event: Limit scheduler in cron mode
Task-3084943: Event: Improve communication scheduler scalability
Forward-Port-Of: odoo/enterprise#68658This commit enables the display of the home section in the documents search panel for portal users. This allows portal users, for example, to return to a view encompassing all folders and documents after inspecting the contents of a folder. task-3373836 Forward-Port-Of: odoo/enterprise#70794
Original PR description
This commit enables the display of the home section in the documents search panel for portal users. This allows portal users, for example, to return to a view encompassing all folders and documents after inspecting the contents of a folder. task-3373836 Forward-Port-Of: odoo/enterprise#70794
This commit fix the 'undefined' message when trying to drag and drop a single document in the kanban and list view. It also fix the owner avatar and activity icon to always stick to the bottom of the kanban card. Forward-Port-Of: odoo/enterprise#70772
Original PR description
This commit fix the 'undefined' message when trying to drag and drop a single document in the kanban and list view. It also fix the owner avatar and activity icon to always stick to the bottom of the kanban card. Forward-Port-Of: odoo/enterprise#70772
When portal users try to switch to the list view, they get a client error. The error is solved by keeping the studio service accessible to the ListRenderer. task-3373836 Forward-Port-Of: odoo/enterprise#70775
Original PR description
When portal users try to switch to the list view, they get a client error. The error is solved by keeping the studio service accessible to the ListRenderer. task-3373836 Forward-Port-Of: odoo/enterprise#70775
This commit makes it not possible to close the barcode video scanner during its initialization. It prevents a lot of issue. Community PR: odoo/odoo#181294 Forward-Port-Of: odoo/enterprise#70607
Original PR description
This commit makes it not possible to close the barcode video scanner during its initialization. It prevents a lot of issue. Community PR: odoo/odoo#181294 Forward-Port-Of: odoo/enterprise#70607
The meaning of inter-company transaction options (i.e. generate Purchase Order / Sale Order) changed in #55350, as they now indicate the opposite of what they used to (as they now take the PoV of the current company). But the conditions of warehouse/receipt type options weren't adapted to the new meaning: - `intercompany_receipt_type_id` is used to generate the purchase order triggered through `intercompany_generate_purchase_orders`. - `intercompany_warehouse_id` is used to know from which
Original PR description
The meaning of inter-company transaction options (i.e. generate Purchase Order / Sale Order) changed in #55350, as they now indicate the opposite of what they used to (as they now take the PoV of the current company). But the conditions of warehouse/receipt type options weren't adapted to the new meaning: - `intercompany_receipt_type_id` is used to generate the purchase order triggered through `intercompany_generate_purchase_orders`. - `intercompany_warehouse_id` is used to know from which warehouse to generate the sale order triggered trhough `intercompany_generate_sale_orders`. Task-4206898 Forward-Port-Of: odoo/enterprise#70660
### Steps to reproduce: - In the setting: enable Rental transfers - Create and confirm a rental order for 1 unit of a product. ##### > 2 transfers are created: one delivery and one receipt - Validate the delivery and then the receipt for your product. - Go back to the setting: disable Rental transfers #### Expected behavior: You are expected to be able to change this setting. In addition, you have already ended each of your flows that was sensitive to this settings so that nothing s
Original PR description
### Steps to reproduce: - In the setting: enable Rental transfers - Create and confirm a rental order for 1 unit of a product. ##### > 2 transfers are created: one delivery and one receipt - Validate…
### Steps to reproduce: - In the setting: enable Rental transfers - Create and confirm a rental order for 1 unit of a product. ##### > 2 transfers are created: one delivery and one receipt - Validate the delivery and then the receipt for your product. - Go back to the setting: disable Rental transfers #### Expected behavior: You are expected to be able to change this setting. In addition, you have already ended each of your flows that was sensitive to this settings so that nothing should be blocking. #### Current behavior: Error: caused by a foreign key violation: "stock_move_rule_id_fkey" on the table "stock_move". ### Cause of the issue: Push and pull Rules were refactored in saas-17.2 see commit a2ea658 along with this refactoring a method was added to delete the rules of the rental route in oreder to update them if the route is disabled: https://github.com/odoo/enterprise/blob/4647c62c3bd05b7346033cfa851770dfc399837e/sale_stock_renting/models/stock_warehouse.py#L15-L20 However, if the rule was already used on a stock move (just like in our flow) these rules will still be referenced by a move and you will not be allowed to delete the rules form the "stock_rule" table without violating the foreign key violation "stock_move_rule_id_fkey" on the "stock_move" table. ### opw-4131426 Forward-Port-Of: odoo/enterprise#70199
Fix staff user cards alignment when there is only 1 user and the appointment is unpublished. The card must be aligned with the "Unpublished" text. Task-4196414 Forward-Port-Of: odoo/enterprise#70492 Forward-Port-Of: odoo/enterprise#70309
Original PR description
Fix staff user cards alignment when there is only 1 user and the appointment is unpublished. The card must be aligned with the "Unpublished" text. Task-4196414 Forward-Port-Of: odoo/enterprise#70492 Forward-Port-Of: odoo/enterprise#70309
In the Native Mobile Apps when we use a Native method that requires a permission the promise is rejected on the first call. This commit avoids to generate `unhandledrejection` in this case. Forward-Port-Of: odoo/enterprise#70776
Original PR description
In the Native Mobile Apps when we use a Native method that requires a permission the promise is rejected on the first call. This commit avoids to generate `unhandledrejection` in this case. Forward-Port-Of: odoo/enterprise#70776