Friday, September 27, 2024
41 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.
When appraisal automation is enabled, changing the company appraisal plan now recalculates the next appraisal date for employees. The settings warning is also shown only when this recalculation will actually happen, reducing confusion for HR users.
Original PR description
There is an *Appraisal Plan* section in the setting that allows setting the global plan for the company. If *Appraisal Automation* is enabled and the plan is changed, we want to recompute the next appraisal date based on it for all the company employees. we also display the warning that this update will be triggered only if it actually will be -- i.e. if *Aprraisal Automation* is enabled and one of the plan durations were changed. (previously the warning would always be displayed, but the update would not happen) task-4167727
The referral dashboard now opens referral-related views without triggering an error. This restores normal navigation for users checking referral, ongoing, or successful applicant lists.
Original PR description
Steps: - Install hr_referral - click on referrals on dashboard Description of the issue/feature this PR addresses: In the referral module, clicking on any options like referrals, ongoing, or successful results in a traceback. Cause The issue arises due to the name field, which was removed from the hr_applicant model (as per https://github.com/odoo/odoo/pull/173288). The system still attempts to retrieve this field, causing the error. Fix: This PR resolves the issue by removing the unnecessary name field from the kanban template task-4159856
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
Previously, the _cron_try_auto_reconcile_statement_lines method was called directly from _fill_document_with_results, which could cause significant delays when triggered from the UI, resulting in long loading times for users. This commit resolves the issue by scheduling the reconciliation process as a background cron job, improving the responsiveness of the _fill_document_with_results function. Original task-4061457 Forward-Port-Of: odoo/enterprise#70762
Original PR description
Previously, the _cron_try_auto_reconcile_statement_lines method was called directly from _fill_document_with_results, which could cause significant delays when triggered from the UI, resulting in long loading times for users. This commit resolves the issue by scheduling the reconciliation process as a background cron job, improving the responsiveness of the _fill_document_with_results function. Original task-4061457 Forward-Port-Of: odoo/enterprise#70762
Before this commit, the 3c7775f4c7a3efaa891bc31072c41abff24edfad commit adds some style to correctly display the noContent helper inside the grid view. The problem is the selector used to apply that styling is too generic and not specific to the grid view which can alter the position of the no content helper in other views. This commit makes sure the style added for the grid view is only applied inside the grid view and not somewhere else. task-4207210 Forward-Port-Of: odoo/enterprise#705
Original PR description
Before this commit, the 3c7775f4c7a3efaa891bc31072c41abff24edfad commit adds some style to correctly display the noContent helper inside the grid view. The problem is the selector used to apply that styling is too generic and not specific to the grid view which can alter the position of the no content helper in other views. This commit makes sure the style added for the grid view is only applied inside the grid view and not somewhere else. task-4207210 Forward-Port-Of: odoo/enterprise#70580
Before this commit quarter strings on reports were not always explicit. If the fiscal year was not aligned to the calendar year, people would get confused by thinking the quarter was aligned on the fiscal year Now to avoid that we show the start and the end of the quarter. task-4200096 Forward-Port-Of: odoo/enterprise#70647
Original PR description
Before this commit quarter strings on reports were not always explicit. If the fiscal year was not aligned to the calendar year, people would get confused by thinking the quarter was aligned on the fiscal year Now to avoid that we show the start and the end of the quarter. task-4200096 Forward-Port-Of: odoo/enterprise#70647
Before when creating two appointment one by one, an error was raised for the second appointment. This was due to the fact that the calendar view was refreshed with a wrong active id. This commit remove the view refresh since the view itself make a RPC to get the new data. Forward-Port-Of: odoo/enterprise#70652
Original PR description
Before when creating two appointment one by one, an error was raised for the second appointment. This was due to the fact that the calendar view was refreshed with a wrong active id. This commit remove the view refresh since the view itself make a RPC to get the new data. Forward-Port-Of: odoo/enterprise#70652
This commit globally improves the bookings that need manual confirmation: - Adapt the mailing templates to take into account 'request' bookings ; - Send a confirmation email when the appointment status changes to 'booked' ; - Slightly tune the manual confirmation conditions. Task-3918889 Forward-Port-Of: odoo/enterprise#70759
Original PR description
This commit globally improves the bookings that need manual confirmation: - Adapt the mailing templates to take into account 'request' bookings ; - Send a confirmation email when the appointment status changes to 'booked' ; - Slightly tune the manual confirmation conditions. Task-3918889 Forward-Port-Of: odoo/enterprise#70759
Currently, an error occurs when the system tries to access the attribute name 'account_fiscal_id' through 'company_id' [1] but it is not available in 'res_company' model. Step to produce: - Install the 'l10n_ke_edi_oscu_stock' module. - Create a product, Set a company as Kenya, Change a 'Product Type' storable to service or consumable. - Again change a 'Product Type' to a storable product. ```AttributeError: 'res.company' object has no attribute 'account_fiscal_id'``` Link [1]: ht
Original PR description
Currently, an error occurs when the system tries to access the attribute name 'account_fiscal_id' through 'company_id' [1] but it is not available in 'res_company' model. Step to produce: - Install the 'l10n_ke_edi_oscu_stock' module. - Create a product, Set a company as Kenya, Change a 'Product Type' storable to service or consumable. - Again change a 'Product Type' to a storable product. ```AttributeError: 'res.company' object has no attribute 'account_fiscal_id'``` Link [1]: https://github.com/odoo/enterprise/blob/3f0113b0d95200466f51b9c1f75b58a3534fb34c/l10n_ke_edi_oscu_stock/models/product.py#L21-L22 To resolve this issue, Get a product country code from 'account_fiscal_country_id' instead of 'account_fiscal_id' Sentry-5862212825 Forward-Port-Of: odoo/enterprise#70244 Forward-Port-Of: odoo/enterprise#70148
Versions: ------------ saas-17.4 Steps to Reproduce: --------------------------- 1. Go to the All Documents menu. 2. Click on "Details" from the kanban dropdown. 3. Select "Request Signature" from the cog menu. Issue: --------- A `ValueError` occurs: `Wrong value for sign.request.reference_doc: 'sign.request,1'`. Cause: --------- The `reference_doc` field restricts the `sign.request` model in the `selection_target_model`. Solution: ----------- Hide the "Request Signature
Original PR description
Versions: ------------ saas-17.4 Steps to Reproduce: --------------------------- 1. Go to the All Documents menu. 2. Click on "Details" from the kanban dropdown. 3. Select "Request Signature" from the cog menu. Issue: --------- A `ValueError` occurs: `Wrong value for sign.request.reference_doc: 'sign.request,1'`. Cause: --------- The `reference_doc` field restricts the `sign.request` model in the `selection_target_model`. Solution: ----------- Hide the "Request Signature" option in the cog menu. task: 4175789 Forward-Port-Of: odoo/enterprise#69928
before this commit there is no space between 'sms' and 'chat' buttons. after this commit added a space between both buttons. Forward-Port-Of: odoo/enterprise#70742
Original PR description
before this commit there is no space between 'sms' and 'chat' buttons. after this commit added a space between both buttons. Forward-Port-Of: odoo/enterprise#70742
Before this commit, toggling the bold attribute on a field in a (new API) kanban view didn't work. This was because the feature wasn't fully implemented (in web) for new API kanban. Indeed, the class "o_text_bold" was correctly set, but the associated css rule was scoped for legacy kanban records. Instead of fixing it in web, we rather want to promote the use of bootstrap utility class. So instead of setting the `bold` attribute, we toggle the `fw-bold` classname. Forward-Port-Of: odoo/enter
Original PR description
Before this commit, toggling the bold attribute on a field in a (new API) kanban view didn't work. This was because the feature wasn't fully implemented (in web) for new API kanban. Indeed, the class "o_text_bold" was correctly set, but the associated css rule was scoped for legacy kanban records. Instead of fixing it in web, we rather want to promote the use of bootstrap utility class. So instead of setting the `bold` attribute, we toggle the `fw-bold` classname. Forward-Port-Of: odoo/enterprise#70669
**Before this commit** Tests on test_23_export_hardcoded_models_and_fields function break on single app tests because we are trying to find models from PRESET_MODELS_DEFAULTS in runbot that do not actually exist in self.env if we do not install extra modules like hr, crm, etc. **After this commit** This test checks beforehand if some needed modules are all installed. Forward-Port-Of: odoo/enterprise#70731
Original PR description
**Before this commit** Tests on test_23_export_hardcoded_models_and_fields function break on single app tests because we are trying to find models from PRESET_MODELS_DEFAULTS in runbot that do not actually exist in self.env if we do not install extra modules like hr, crm, etc. **After this commit** This test checks beforehand if some needed modules are all installed. Forward-Port-Of: odoo/enterprise#70731
Make ShopFloor use IoT task: 4017327 Forward-Port-Of: odoo/enterprise#70733 Forward-Port-Of: odoo/enterprise#68706
Original PR description
Make ShopFloor use IoT task: 4017327 Forward-Port-Of: odoo/enterprise#70733 Forward-Port-Of: odoo/enterprise#68706
Forward-Port-Of: odoo/enterprise#70567
Original PR description
Forward-Port-Of: odoo/enterprise#70567
This commit implements the feature of removing every entries related to a recordset. This is useful in following use case: - Have approvals on Sale Order - The sale order's life goes on and with it the approval flow - The sale order has a major problem business-wise down the line - It is rollbacked to the "draft" status => In that case we want all approval entries to be deleted, since the approval lifecycle must start from scratch when the sale order is resetted to draft. This commit i
Original PR description
This commit implements the feature of removing every entries related to a recordset. This is useful in following use case: - Have approvals on Sale Order - The sale order's life goes on and with it the approval flow - The sale order has a major problem business-wise down the line - It is rollbacked to the "draft" status => In that case we want all approval entries to be deleted, since the approval lifecycle must start from scratch when the sale order is resetted to draft. This commit implements this feature via the creation of Base Automations and Server Actions task-4123521 Forward-Port-Of: odoo/enterprise#70661
Starting d1a94147060083da54f9423f8c379676fbb7db66, when making ingenico payment, the pos app sends an `NaN` as `TransactionID`. As a result, users are unable to receive payments from Ingenico terminal. This change proposes to take the last 13 characters of the payment's uuid (after removing the `-` separators) and convert it as integer which will serve as the `TransactionID`. We're only taking the 13 characters because it's the number of characters that can be converted to JS int without exponen
Original PR description
Starting d1a94147060083da54f9423f8c379676fbb7db66, when making ingenico payment, the pos app sends an `NaN` as `TransactionID`. As a result, users are unable to receive payments from Ingenico terminal. This change proposes to take the last 13 characters of the payment's uuid (after removing the `-` separators) and convert it as integer which will serve as the `TransactionID`. We're only taking the 13 characters because it's the number of characters that can be converted to JS int without exponent. Forward-Port-Of: odoo/enterprise#70672