Monday, November 23, 2020
36 changes · master
Enhancements to existing features
This update moves the former Ogone/Ingenico payment integration onto Odoo's newer payment framework. It helps keep online payment handling aligned with the current platform architecture, improving maintainability and consistency across payment flows.
Original PR description
Before this commit, payment_ingenico was called payment_ogone and used the old payment API. Taskid: 2333029 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update significantly reworks Odoo's payment handling across invoices, sales, and portal pages to make payment flows more consistent, secure, and reliable. Customers should see fewer payment form issues, better access checks, clearer warnings, and improved support for payment providers such as Adyen.
Original PR description
taskid: 2333042 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The mail module now supports marking certain data fields as read-only, helping prevent unintended changes to values that should stay fixed. This improves reliability in messaging features by making field behavior clearer and more controlled behind the scenes.
Original PR description
Fields can now be marqued as read only.
```
stringifiedDomain: attr({
default: '[]',
readonly: true,
}),
```The contact display no longer includes leftover fax-related content, matching the current contact fields available in Odoo. This keeps the interface cleaner and avoids showing or maintaining an outdated communication option.
Original PR description
Fax field was removed somewhere between Odoo10 and 11. However there is still some leftover about fax in contact widget. As there is no fax field anymore and as it is easy to add it through inheritance let us remove it. Closes #62105
Spreadsheet users can now see all pivots in one place from the side panel or top menu, instead of needing to click individual pivot cells. They can also refresh pivot measures globally, making spreadsheets with multiple pivots easier and faster to manage.
Original PR description
The current behaviour only allows a user to access the pivot properties when selecting a pivot cell. This proves to be limitating as: - there is no clear overview of every pivot included in the spreadsheet - requesting a global data refresh needs to be done by selecting a cell from each existing pivot in the spreadsheet which is painful These can become confusing and tiresome as the number of pivots grows, especially when working with several pivots on the same model. This commit addresses the issue by - adding an overview of all pivots accessible from both the side panel and the top bar menu, - adding the possibility to request a global measure refresh accessible from a pivot property and the top bar menu. task #2296980
Resolved issues and error corrections
Automated menu tests now skip the Add Bank Account option because it connects to an external service. This helps prevent unnecessary outside calls during testing and keeps test runs more reliable without changing normal user behavior.
Original PR description
Since odoo/enterprise@93ac6e5116 a the `Add Bank Account` menu is using an new proxy server. As it's an external service, it's not desirable to click on this menu during the test.
Miscellaneous changes
Set a arbitrary 10000 limit instead of 40 for the configurator product_no_variant_attribute_value_ids (product attribute that do not create a variant) field. With a limit of 40, when we edited a variant (eg. on sale order) with more than 40 nocreate attribute, we would only be shown 40 attributes in the wizard and get an error message: "The combination does not exists." which would prevent edition of the variant. opw-2333091 Forward-Port-Of: odoo/odoo#58493
Original PR description
Set a arbitrary 10000 limit instead of 40 for the configurator product_no_variant_attribute_value_ids (product attribute that do not create a variant) field. With a limit of 40, when we edited a variant (eg. on sale order) with more than 40 nocreate attribute, we would only be shown 40 attributes in the wizard and get an error message: "The combination does not exists." which would prevent edition of the variant. opw-2333091 Forward-Port-Of: odoo/odoo#58493
Replacing an image in the web editor now updates the image type correctly, so users see the right editing options for the new file. This prevents irrelevant JPEG settings from appearing when an image is replaced with an SVG, reducing confusion while editing website content.
Original PR description
Prior to this fix, replacing a jpeg image with an svg illustration didn't properly update its mimetype in its dataset. As an effect, the jpeg image options still appeared, that were irrelevant for an svg. This was caused by a premature update of the image in Jabberwock's vdom, before the mimetype was updated, and by the fact that the current image was not being passed to the constructor of the media dialog, causing it to create the image from scratch on save instead of replacing the src attribute of the current image like it did before introducing Jabberwock. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The table options button in the website editor now appears inside the editing toolbar where users expect it. This makes table editing clearer and avoids confusion when managing content layouts.
This fixes an issue where selected filters in dynamic website and shop snippets were lost after saving a page. Website editors can now rely on product snippets keeping their chosen filtering setup, preventing unexpected content changes on published pages.
Original PR description
This addresses the following bug: > Seems that the dynamic snippet data-filter-id attribute is no more saved in master (OK in 14.0). Steps to reproduce: Edit website and drop website_sale dynamic product snippet. After having saved, the data-filter-id attribute has disappeared. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a website editor issue where an empty color value could be lost when editing another setting, which could break the countdown snippet. The change helps keep page editing stable and prevents unexpected errors for users customizing website content.
Original PR description
bug report :
4. [QSM] I have a forward-port reaching master that I r+ despite the fact it is buggy in master: https://github.com/odoo/odoo/pull/61682 what happens is that a call to editorHelpers.setAttribute with an empty string as value works as expected (setting an empty value)... but then if you try to edit another attribute of the same node, the first edited attribute disappears. I made a video showing a bug that could happen because of it: https://drive.google.com/file/d/19R3TVgA_t7R8kVtLsoJLVadv6Kj56s5z/view?usp=sharing
╰─[AGE] note to self regarding the traceback: ColorpickerWidget.convertCSSColorToRgba -> cssColor is undefine
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prPayslip PDFs printed from the menu now use the employee’s preferred language, matching the behavior of the form view print button. This ensures employees receive payroll documents in the expected language regardless of the logged-in user’s language settings.
Original PR description
Steps to reproduce the bug: - Let's consider an employee E with lang's home adress (address_home_id.lang) in French - Let's consider the current logged user U in English - Go to a payslip P of E and print it from button 'Print' in the form view header - A PDF report in french is printed - Print P from the context menu print/payslip Bug: The report is in English Inspired from https://github.com/odoo/odoo/blob/14.0/addons/sale/report/sale_report_templates.xml#L5 https://github.com/odoo/odoo/commit/222fcb137bc9c25d15ee0ad851078caa99e16bdf opw:2380631
- Create product FP product to manufacture - Create BoM: - 10 units of FP - Product CP (component) - two operations. - Create MO for FP and plan. - Complete operation 1 for the 10 units - Complete operation 2 for 4 units only - Mark MO as done for 4 units - Click Create Backorder - Check backorder MO Operation 1 is present, marked todo for 6 units, but it was completed for all 10 units. With this commit the quantity todo for the corresponding operation in the backorder is
Original PR description
- Create product FP product to manufacture - Create BoM: - 10 units of FP - Product CP (component) - two operations. - Create MO for FP and plan. - Complete operation 1 for the 10 units - Complete operation 2 for 4 units only - Mark MO as done for 4 units - Click Create Backorder - Check backorder MO Operation 1 is present, marked todo for 6 units, but it was completed for all 10 units. With this commit the quantity todo for the corresponding operation in the backorder is updated to match the qty already produced opw-2374640 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 Forward-Port-Of: odoo/odoo#61603
Configure a reorder rule and a restock route for a product A Go to Inventory / Operations / Replenishment Remove all filters, find product A and under column 'To Order' input a quantity, then hit the button 'Order Once' The user quantity will be overwritten by the '_compute_qty_to_order'. This is a fine tuning of f505444655544379f94a9c8c6a47f358b4880b94 opw-2375317 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merg
Original PR description
Configure a reorder rule and a restock route for a product A Go to Inventory / Operations / Replenishment Remove all filters, find product A and under column 'To Order' input a quantity, then hit the button 'Order Once' The user quantity will be overwritten by the '_compute_qty_to_order'. This is a fine tuning of f505444655544379f94a9c8c6a47f358b4880b94 opw-2375317 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 Forward-Port-Of: odoo/odoo#61884
Website event track module is an advanced event module that is required notably in some sub modules: live, quizzes, exhibitors. When unchecking Schedule & Tracks in event settings, submodules checkboxes are hidden. It means that currently you may uncheck module_website_event_track while still keeping sub modules (_track_live, _track_quiz, _track_exhibitor) checked. When saving, modules are uninstalled, then installed again if one of sub module is still checked. In this commit we add a
Original PR description
Website event track module is an advanced event module that is required notably in some sub modules: live, quizzes, exhibitors. When unchecking Schedule & Tracks in event settings, submodules checkboxes are hidden. It means that currently you may uncheck module_website_event_track while still keeping sub modules (_track_live, _track_quiz, _track_exhibitor) checked. When saving, modules are uninstalled, then installed again if one of sub module is still checked. In this commit we add an onchange so that unchecking track also unchecks all its sub modules to effectively remove them all. Task ID-2389569 Forward-Port-Of: odoo/odoo#61995
Before this fix, trying to authenticate via xml-rpc call from PHP following the documentation at https://www.odoo.com/documentation/14.0/webservices/odoo.html#logging-in raised an error: $uid = $common->authenticate($db, $username, $password, array()); TypeError: 'list' object is not a mapping opw-2388141 Forward-Port-Of: odoo/odoo#62077
Original PR description
Before this fix, trying to authenticate via xml-rpc call from PHP following the documentation at https://www.odoo.com/documentation/14.0/webservices/odoo.html#logging-in raised an error: $uid = $common->authenticate($db, $username, $password, array()); TypeError: 'list' object is not a mapping opw-2388141 Forward-Port-Of: odoo/odoo#62077
[FIX] mrp_subcontracting: fix flow with only tracked finished product Step to reproduce: - Create a subcontracting BoM by partner A, for a tracked product B (by serial or lots) - Create a incoming transfer coming from A and mark as todo. - Fill the move with move lines with lot + quantity. - It is impossible to validate the transfer, "You need to supply lot..." Also at the creation of the picking a warning popover indicate that the previous operation (the hidden MO) is set after the
Original PR description
[FIX] mrp_subcontracting: fix flow with only tracked finished product Step to reproduce: - Create a subcontracting BoM by partner A, for a tracked product B (by serial or lots) - Create a incoming…
[FIX] mrp_subcontracting: fix flow with only tracked finished product Step to reproduce: - Create a subcontracting BoM by partner A, for a tracked product B (by serial or lots) - Create a incoming transfer coming from A and mark as todo. - Fill the move with move lines with lot + quantity. - It is impossible to validate the transfer, "You need to supply lot..." Also at the creation of the picking a warning popover indicate that the previous operation (the hidden MO) is set after the transfer. These issues comes from the refactor of mrp for v14 and the part of subcontracting wasn't complete obviously. Fixes done: - Rewrite the code of the `_action_done` for subcontracting. It is for the case of tracked finished product without any tracked component, there wasn't any code to manage that. Now manage it by backorder MO feature. Fix the main bug - Set finished_date_planned before the transfer to avoid the alert popover. - Avoid to write activity in channel about the hidden MO in case of cancelling. - Fix `action_record_components` to manage multiple subcontracting products with tracked component. - Remove the `priority` field from the wizard MO (in case of tracked product. Also the wizard is not really a wizard, just a weird hybrid MO form) PR: #61606 task-2357115 Forward-Port-Of: odoo/odoo#61606
STEPS: 1/ Fresh copy of base runbot 14.0 2/ Change country on the company to 'Mexico' 3/ Install apps Sales and Contacts 4/ Login as 'Demo' and try to access Contacts BEFORE: Access Error AFTER: No errors WHY: * since Odoo 14 only admin can read ir.ui.view: https://github.com/odoo/odoo/commit/ccc98e01691b88c2da9c484c0e6de235b9d18548 * https://github.com/odoo/odoo/pull/60329 --- opw-2378336 Description of the issue/feature this PR addresses: Current behavior before PR
Original PR description
STEPS: 1/ Fresh copy of base runbot 14.0 2/ Change country on the company to 'Mexico' 3/ Install apps Sales and Contacts 4/ Login as 'Demo' and try to access Contacts BEFORE: Access Error AFTER: No errors WHY: * since Odoo 14 only admin can read ir.ui.view: https://github.com/odoo/odoo/commit/ccc98e01691b88c2da9c484c0e6de235b9d18548 * https://github.com/odoo/odoo/pull/60329 --- opw-2378336 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 Forward-Port-Of: odoo/odoo#62103
In _tag_root, for any error, a ParseError is raised. Before this commit, the only info given was where it happened. Now, it shows also the real reason of the error. Helps to investigate issues without the need to put a debugger to see the real error. opw-2381776 Before:  After:  After:  Forward-Port-Of: odoo/odoo#61914
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 Forward-Port-Of: odoo/odoo#62104
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 Forward-Port-Of: odoo/odoo#62104
When searching for a channel in Discuss, the search results include all matching channels even those user is already member of task-2347837 Forward-Port-Of: odoo/odoo#60063
Original PR description
When searching for a channel in Discuss, the search results include all matching channels even those user is already member of task-2347837 Forward-Port-Of: odoo/odoo#60063
`MessageSeenIndicator` sub-component should not be rendered if the thread does not support seen indicators. The issue is manifesting because the otherwise empty indicator has a margin, which is adding more space than expected before the following element. Forward-Port-Of: odoo/odoo#62030
Original PR description
`MessageSeenIndicator` sub-component should not be rendered if the thread does not support seen indicators. The issue is manifesting because the otherwise empty indicator has a margin, which is adding more space than expected before the following element. Forward-Port-Of: odoo/odoo#62030
The test highlighting the current issue has been posted in PR https://github.com/odoo/odoo/pull/62076 But it is not included as part of the current PR because it is too slow to execute, while it is unlikely we will break this fix as it is not influenced by anything else in the code. The reason why we need this change is because on some database, including ours, we have users who have more than 1000 failures still unresolved and they are all returned at init. --- ```javascript Q
Original PR description
The test highlighting the current issue has been posted in PR https://github.com/odoo/odoo/pull/62076 But it is not included as part of the current PR because it is too slow to execute, while it is…
The test highlighting the current issue has been posted in PR
https://github.com/odoo/odoo/pull/62076
But it is not included as part of the current PR because it is too slow to
execute, while it is unlikely we will break this fix as it is not influenced by
anything else in the code.
The reason why we need this change is because on some database, including ours,
we have users who have more than 1000 failures still unresolved and they are
all returned at init.
---
```javascript
QUnit.test('[perf] messaging creation survives lots of items', async function (assert) {
assert.expect(1);
for (let i = 0; i < 1500; i++) {
this.data['res.partner'].records.push({
id: 10000 + i,
name: "Partner " + (i + 1),
});
this.data['mail.notification'].records.push({
id: 20000 + i,
notification_status: "bounce",
res_partner_id: 10000 + i,
mail_message_id: 30000 + i,
});
this.data['mail.message'].records.push({
id: 30000 + i,
res_id: 40000 + i,
model: "hr.applicant",
message_type: "notification",
author_id: this.data.currentPartnerId,
notification_ids: [[6, 0, [20000 + i]]]
});
}
const messagingBeforeCreationDeferred = makeTestPromise();
await this.start({
messagingBeforeCreationDeferred,
waitUntilMessagingCondition: 'none',
});
// simulate messaging becoming created
messagingBeforeCreationDeferred.resolve();
await nextAnimationFrame();
assert.containsOnce(
document.body,
'.o_MessagingMenu',
"should still contain messaging menu after messaging has been created"
);
});
```
Forward-Port-Of: odoo/odoo#62090If the website header template uses the user's photo, and if this one does not exist, a 500-error is returned. To reproduce the error: (Need website) 1. Go to the website 2. Edit 3. Change the header template - Select one that uses the user's photo 4. Save 5. Go to Settings > Users & Companies > Users 6. Select your account 7. Edit 8. Remove your photo, Save 9. Go back to the website => 500 error When the user doesn't have any photo, the template uses the placeholder image.
Original PR description
If the website header template uses the user's photo, and if this one does not exist, a 500-error is returned. To reproduce the error: (Need website) 1. Go to the website 2. Edit 3. Change the header template - Select one that uses the user's photo 4. Save 5. Go to Settings > Users & Companies > Users 6. Select your account 7. Edit 8. Remove your photo, Save 9. Go back to the website => 500 error When the user doesn't have any photo, the template uses the placeholder image. OPW-2378269 Forward-Port-Of: odoo/odoo#62143
…licked Currently, when the user is using the quick create card of the kanban view, the card will automatically close itself if the user clicks on a tooltip element from a tour. This can lead to bad user experience since the tour tip can be visually *within* the quick create card, and the user will not understand why the card is closing. More importantly, the tooltip element "zone" is bigger that what it visually looks like and you may click on an element (a field, ...) that seems
Original PR description
…licked Currently, when the user is using the quick create card of the kanban view, the card will automatically close itself if the user clicks on a tooltip element from a tour. This can lead to bad…
…licked Currently, when the user is using the quick create card of the kanban view, the card will automatically close itself if the user clicks on a tooltip element from a tour. This can lead to bad user experience since the tour tip can be visually *within* the quick create card, and the user will not understand why the card is closing. More importantly, the tooltip element "zone" is bigger that what it visually looks like and you may click on an element (a field, ...) that seems to be perfectly within the quick create card but is in fact part of the tooltip. This commit fixes that behavior by preventing the click event propagation in the tip widget handler. The fix is made in version 14.0 because this is especially problematic for the tour of the "CRM" app, that heavily uses the quick create card in combination with tour tips. Task 2388450 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 Forward-Port-Of: odoo/odoo#62154
The rating emails were still sent even if the rating feature was disabled on the specific project. This commit ensures the emails are only sent to project with the feature enabled. TaskID: 2390802 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 Forward-Port-Of: odoo/odoo#62145
Original PR description
The rating emails were still sent even if the rating feature was disabled on the specific project. This commit ensures the emails are only sent to project with the feature enabled. TaskID: 2390802 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 Forward-Port-Of: odoo/odoo#62145
- Install eCommerce - Enable debug mode - Go to Website > Configuration > Websites - Configure Website by adding a Selection field in "Product Page Extra Fields" (i.e. Product Type) - Go to Website and from Shop, open a Product - In Customize menu, enable "Show Extra Fields" options A KeyError is raised with "selection" key. By using "selection" widget, the value is processed by SelectionConverter, which tries to retrieve the text linked to the value by accessing missing "selection" di
Original PR description
- Install eCommerce - Enable debug mode - Go to Website > Configuration > Websites - Configure Website by adding a Selection field in "Product Page Extra Fields" (i.e. Product Type) - Go to Website and from Shop, open a Product - In Customize menu, enable "Show Extra Fields" options A KeyError is raised with "selection" key. By using "selection" widget, the value is processed by SelectionConverter, which tries to retrieve the text linked to the value by accessing missing "selection" dict in options. As the feature was originally designed to support "char" and "binary" types, the selection of extra fields displayable on eCommerce Product page will be restricted to these 2 types. opw-2378753 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 Forward-Port-Of: odoo/odoo#61918
PURPOSE When sending a message by clicking on the "send" button manually, the focus should stay on the text input (and the mobile keyboard should stay open), so that it is possible to quickly send another message afterward without having to re-click manually on the text input SPECIFICATION the focus should be set to composer automatically after sending a message LINKS Task - 2372546 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr For
Original PR description
PURPOSE When sending a message by clicking on the "send" button manually, the focus should stay on the text input (and the mobile keyboard should stay open), so that it is possible to quickly send another message afterward without having to re-click manually on the text input SPECIFICATION the focus should be set to composer automatically after sending a message LINKS Task - 2372546 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#61226
Added test for no suggested recipient in log note Task - 2371744 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#61388
Original PR description
Added test for no suggested recipient in log note Task - 2371744 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#61388
…sign /lead command UPDATE ME Task ID-2389564 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 Forward-Port-Of: odoo/odoo#62006
Original PR description
…sign /lead command UPDATE ME Task ID-2389564 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 Forward-Port-Of: odoo/odoo#62006
WHY: this is needed for project_timesheet_forecast_sale, which adds employees from planning.slot records --- opw-2378102 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 Forward-Port-Of: odoo/odoo#62093
Original PR description
WHY: this is needed for project_timesheet_forecast_sale, which adds employees from planning.slot records --- opw-2378102 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 Forward-Port-Of: odoo/odoo#62093
The German date format is the following: DD.MM.YYYY but when importing such value, it is wrongly considered as a float value due to the '.' being confused with the thousands separator in the regexp of method _remove_currency_symbol. We should check first the date and time format, so it will correctly be identified as the German date format. Description of the issue/feature this PR addresses: opw-2379646 Current behavior before PR: Desired behavior after PR is merged: --
Original PR description
The German date format is the following: DD.MM.YYYY but when importing such value, it is wrongly considered as a float value due to the '.' being confused with the thousands separator in the regexp of method _remove_currency_symbol. We should check first the date and time format, so it will correctly be identified as the German date format. Description of the issue/feature this PR addresses: opw-2379646 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 Forward-Port-Of: odoo/odoo#62094
STEPS: * install project_timesheet_forecast_sale * create or open a new project with `[x] Planning` and `[x] Billable` activated * via Forecast smart button publish a slot with employee, who hasn't assigned tasks nor hours recorded BEFORE: new planned hours are not presented in Planning table AFTER: all planned hours are presented in Planning table --- opw-2378102 Forward-Port-Of: odoo/enterprise#14894
Original PR description
STEPS: * install project_timesheet_forecast_sale * create or open a new project with `[x] Planning` and `[x] Billable` activated * via Forecast smart button publish a slot with employee, who hasn't assigned tasks nor hours recorded BEFORE: new planned hours are not presented in Planning table AFTER: all planned hours are presented in Planning table --- opw-2378102 Forward-Port-Of: odoo/enterprise#14894
Forms have big limitations in the way they call onchange: - the order in which they are called is not guaranteed - the onchange functions are called only when exiting the with => Because of that, tax_ids.clear() wasn't working in case a default tax was set on the expense account assigned to the invoice line (as the onchanged triggered by new() was triggered after clearing the taxes, setting the default value). Even worse, if the tax detected by OCR was price-included, the total of the li
Original PR description
Forms have big limitations in the way they call onchange: - the order in which they are called is not guaranteed - the onchange functions are called only when exiting the with => Because of that, tax_ids.clear() wasn't working in case a default tax was set on the expense account assigned to the invoice line (as the onchanged triggered by new() was triggered after clearing the taxes, setting the default value). Even worse, if the tax detected by OCR was price-included, the total of the line was changed, but the tax assigned to it stayed the default one. So, both the amount and the tax were wrong. OPW 2377699 Forward-Port-Of: odoo/enterprise#14900 Forward-Port-Of: odoo/enterprise#14865
When an employee is no longer working on the company, the employee get inactivate, archiving the employee record. Sometimes the company must pay one or more payslips to that employee, for example for the time worked on the current payslip period, or for other concepts. This case of use is very common, for example the profit sharing. Maybe those employees or no longer working in the company. When it is necessary to add an archived employee in a batch, it is posible to add it, howeve
Original PR description
When an employee is no longer working on the company, the employee get inactivate, archiving the employee record. Sometimes the company must pay one or more payslips to that employee, for example for the time worked on the current payslip period, or for other concepts. This case of use is very common, for example the profit sharing. Maybe those employees or no longer working in the company. When it is necessary to add an archived employee in a batch, it is posible to add it, however when confirmation button is clicked, the archived employee is deleted and the payslips is not created. Now it is possible to add archived employees to a batch and create their payslips. OPW#2380649 Forward-Port-Of: odoo/enterprise#14861
Since the refactor of payments workflow with commit b2dd65b9, the number of payments to send via SEPA Credit Transfer was not computed and displayed correctly. We need to use the is_move_sent field instead of 'sent' state which does not exist anymore. opw-2378876 Forward-Port-Of: odoo/enterprise#14906
Original PR description
Since the refactor of payments workflow with commit b2dd65b9, the number of payments to send via SEPA Credit Transfer was not computed and displayed correctly. We need to use the is_move_sent field instead of 'sent' state which does not exist anymore. opw-2378876 Forward-Port-Of: odoo/enterprise#14906