Thursday, May 4, 2023
39 changes · master
Enhancements to existing features
Customers now see a clear explanation when they try to pay a sales order that is still in draft status. This avoids confusion from the previous generic message that no payment option was available, making the online order confirmation process easier to understand.
Original PR description
For orders that require "Online Signature" for confirmation, it'll be clearly shown in the signature wizard (after trying to submit the signature) that the order is not in a state requiring customer signature. But for orders requiring "Online Payment" for confirmation, all the customer will see is "No suitable payment option could be found.". This is confusing for the customer, and is mostly due to the fact that payment providers & logic is only loaded when the order is in the right state. With this commit, the user will see a clear message explaining that the order cannot be paid in its current state (draft). Fixes #120197 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users who cannot access the chatter on a private calendar event now see a clear warning explaining why it is unavailable. This reduces confusion for excluded participants and improves the experience around private event visibility.
Original PR description
…tter Purpose ======= Currently the chatter of a private event is unavailable to excluded users but a end user might be confused as no explanation message is currently displayed on the chatter.
Resolved issues and error corrections
Posting a message in Discuss channels no longer automatically opens an extra chat window for the same channel. This reduces unnecessary pop-ups and keeps the messaging experience less disruptive for users.
Original PR description
Before this commit, when posting a new message in a channel in the discuss app, a chat window of this channel was automatically open. This happens because new message from self where considered new messages in a channel, and all new messages in a channel were automatically opening a chat window. This commit fixes the issue by not making self-authored messages automatically open the chat window.
Miscellaneous changes
When a big number is entered in the quantity of a MO, the quantity done and quantity to do will overlap. The problem here was that `.o_row > div` was setting the width to 0 and was set to important, overriding our classes. task id : 3204391 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#11
Original PR description
When a big number is entered in the quantity of a MO, the quantity done and quantity to do will overlap. The problem here was that `.o_row > div` was setting the width to 0 and was set to important, overriding our classes. task id : 3204391 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#114820
Clicking messages written by the current user no longer opens a chat or record form by mistake. This prevents confusing navigation and keeps message interactions consistent with expected behavior.
Original PR description
Before this commit, when clicking on self-authored messages, it was opening the form view. It should neither open chat nor open form view for self-authored messages.
The help link in the Purchase settings tooltip now points to the latest documentation. This makes it easier for users to find the correct guidance and avoids confusion from outdated documentation links.
Original PR description
This commit updates the documentation link in the settings tooltip, as introduced by the documentation PR https://github.com/odoo/documentation/pull/3762/ A redirection rule is added in that doc PR to act as a fallback.
This fix adjusts the mail chatter test setup so edited messages keep the expected layout when their styling changes. It helps ensure message lists continue to scroll correctly, reducing the risk of frustrating navigation issues in customer communications.
Original PR description
Lack of "p" tag in the message body in chatter test changes the size of message and its position relative to the view. Task-2664848 Related to this [PR](https://github.com/odoo/odoo/pull/117896)
### Steps to reproduce * create two 17% sales taxes. We'll call those taxes `17a` and `17b`. * set rounding method to global * create a SO with the following 2 lines: * Price = `50.4`, Taxes = `17a` * Price = `47.21`, Taxes = `17b` * note that the total tax amount on the SO is `16.59` * confirm and invoice the SO. You should see that the total tax amount on the invoice is `16.60`. The invoice and SO should have the same tax amount. opw-3179228 opw-3232469 Forward-Port-Of: od
Original PR description
### Steps to reproduce * create two 17% sales taxes. We'll call those taxes `17a` and `17b`. * set rounding method to global * create a SO with the following 2 lines: * Price = `50.4`, Taxes = `17a` * Price = `47.21`, Taxes = `17b` * note that the total tax amount on the SO is `16.59` * confirm and invoice the SO. You should see that the total tax amount on the invoice is `16.60`. The invoice and SO should have the same tax amount. opw-3179228 opw-3232469 Forward-Port-Of: odoo/odoo#119922 Forward-Port-Of: odoo/odoo#117616
Steps to reproduce: - Install `E-learning` module - Create a user X with only "Officer" as rights for `E-learning` - Login with user X - Go to `E-learning` and open any course - Ensure that the user X is not the responsible and that the course enroll policy is set to "On invitation" - Invite any user not already a member Issue: No user was invited (not added as member) and no warning message raised. Cause: Due to the ir.rule "Channel: officer: create/write own only"
Original PR description
Steps to reproduce: - Install `E-learning` module - Create a user X with only "Officer" as rights for `E-learning` - Login with user X - Go to `E-learning` and open any course - Ensure that the user X is not the responsible and that the course enroll policy is set to "On invitation" - Invite any user not already a member Issue: No user was invited (not added as member) and no warning message raised. Cause: Due to the ir.rule "Channel: officer: create/write own only", the `Officer` user can only edit (and therefore invite members) on courses where he is responsible. Solution: Add a context key to the 'Invite' buttons in the `Form` and `Kanban` views of `slide.channel` model so that we can raise an error only in these flows if the user does not have the rights to invite members. opw-3133733 Forward-Port-Of: odoo/odoo#119724 Forward-Port-Of: odoo/odoo#111642
Remove lunch hours from work intervals so that overtime is not calculated when it's not due tests adapted to take into account lunch period task 3217799 Forward-Port-Of: odoo/odoo#119165
Original PR description
Remove lunch hours from work intervals so that overtime is not calculated when it's not due tests adapted to take into account lunch period task 3217799 Forward-Port-Of: odoo/odoo#119165
Current behavior: An accrual uses all planned leaves to calculate how many days it can give, even if the leaves are planned in the future and could be cancelled. Desired behavior: An accrual should only take into account leaves that have already been taken or already started, and ignore future leaves. After this commit: New context key 'ignore_future' for method _get_employees_days_per_allocation decides if future leaves should be taken into account or not. Some use cases need to
Original PR description
Current behavior: An accrual uses all planned leaves to calculate how many days it can give, even if the leaves are planned in the future and could be cancelled. Desired behavior: An accrual should only take into account leaves that have already been taken or already started, and ignore future leaves. After this commit: New context key 'ignore_future' for method _get_employees_days_per_allocation decides if future leaves should be taken into account or not. Some use cases need to take into account future leaves, others don't. task 3207843 Forward-Port-Of: odoo/odoo#117936
Description of the issue/feature this PR addresses: Multi-language support Current behavior before PR:        Desired behavior after PR is merged: https://user-images.githubusercontent.com/26604325/233535703-083e3981-b76f-46f6-8ab6-b6765009e96f.mp4 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#119916 Forward-Port-Of: odoo/odoo#119291
In the website menu editor and in the studio menu editor, the user can drag & drop the elements that constitute the menu of his website/app. Users can also put a menu into another menu to create a sub-menu. For the website, we allow two levels of menu but not more. For studio we allow 5 levels of menu. When the user starts to drag an item, dropzones can be drawn on the prohibited level (3 in website, 6 in studio) while he can't create this level of menu. This commit adds a css rule to hide
Original PR description
In the website menu editor and in the studio menu editor, the user can drag & drop the elements that constitute the menu of his website/app. Users can also put a menu into another menu to create a sub-menu. For the website, we allow two levels of menu but not more. For studio we allow 5 levels of menu. When the user starts to drag an item, dropzones can be drawn on the prohibited level (3 in website, 6 in studio) while he can't create this level of menu. This commit adds a css rule to hide those forbidden dropzones. task-3251032 Forward-Port-Of: odoo/odoo#117300
Steps to reproduce: - install website_sale and website_sale_loyalty; - activate Payment Providers Demo and Wire Transfer; - put them in 'test mode'; - go to ecommerce; - add a gift card; - process the checkout. Issue: Depending on the configuration of the payment acquirer used, sometimes the amount displayed is doubled (in the display of the gift card amount after the payment process in brackets). - Demo in test mode: amount will be doubled - Wire Transfer in test mode: amount w
Original PR description
Steps to reproduce: - install website_sale and website_sale_loyalty; - activate Payment Providers Demo and Wire Transfer; - put them in 'test mode'; - go to ecommerce; - add a gift card; - process…
Steps to reproduce: - install website_sale and website_sale_loyalty; - activate Payment Providers Demo and Wire Transfer; - put them in 'test mode'; - go to ecommerce; - add a gift card; - process the checkout. Issue: Depending on the configuration of the payment acquirer used, sometimes the amount displayed is doubled (in the display of the gift card amount after the payment process in brackets). - Demo in test mode: amount will be doubled - Wire Transfer in test mode: amount will not be doubled Remark: The amounts are correct in the backend. Cause: Sometimes the `action_confirm` function is used and sometimes it is not. When you enter it, the points of the coupon are already set. Therefore, we add the amount again in the `_get_real_points_for_coupon`. Solution: Display the information of the gift card only when the sale order is validated. Therefore, there is no need to bypass (with `post_confirm`) to add the points that will be valid when the sale order is confirmed. Because with the display correction, we won't see the points. opw-3166164 Forward-Port-Of: odoo/odoo#113246
The edi attachment (for every format in `account_edi_ubl_cii`) contains a tag indicating whether the invoice is fully/partially paid. Before this fix, when this tag was filled, a down payment section was created on the invoice. For a fully paid invoice, the resulting amount was then 0, so the invoice was marked as "Paid". This was wrong. The correct amounts need to be kept on the invoices. This fix no longer creates a down payment, instead a message is logged in the chatter. task-326484
Original PR description
The edi attachment (for every format in `account_edi_ubl_cii`) contains a tag indicating whether the invoice is fully/partially paid. Before this fix, when this tag was filled, a down payment section was created on the invoice. For a fully paid invoice, the resulting amount was then 0, so the invoice was marked as "Paid". This was wrong. The correct amounts need to be kept on the invoices. This fix no longer creates a down payment, instead a message is logged in the chatter. task-3264843 opw-3248200 Forward-Port-Of: odoo/odoo#120353 Forward-Port-Of: odoo/odoo#118610
What are the steps to reproduce your issue? - Create a product with more than one attribute. - Let say color White, black and purple - Create a 'draft' invoice for the purple product variant - Remove the 'purple' attribute value from the product - It will archive that variant (because the account.move linked to it) - Try to delete the attribute value from menu Sales > Cofinfiguration > Attribute What is the current behavior that you observe? - technical error message What would b
Original PR description
What are the steps to reproduce your issue? - Create a product with more than one attribute. - Let say color White, black and purple - Create a 'draft' invoice for the purple product variant - Remove the 'purple' attribute value from the product - It will archive that variant (because the account.move linked to it) - Try to delete the attribute value from menu Sales > Cofinfiguration > Attribute What is the current behavior that you observe? - technical error message What would be your expected behavior in this case? - non-technical message for end-users Solution : - Change both message to tell user he cannot delete the value if the value has been referenced somewhere else. opw-2623583 missing forward-port of db1e52f0234f73e1bda22a411baba7b1f0994d5a Forward-Port-Of: odoo/odoo#120463 Forward-Port-Of: odoo/odoo#119989
"ValueError: External ID not found in the system: payment.payment_acquirer_ stripe" is generated because the user deleted the Stripe payment acquirer record and its corresponding model tried to access the record of it. Traceback on sentry - https://user-images.githubusercontent.com/98319223/233275435-58c210e8-b55e-4fa5-884b-c3733f8cd37c.png Steps to produce the error: (in >=15.0) 1. Install e-commerce 2. Install install 'Stripe Payment Acquirer ' module 2. delete the Stripe from pay
Original PR description
"ValueError: External ID not found in the system: payment.payment_acquirer_ stripe" is generated because the user deleted the Stripe payment acquirer record and its corresponding model tried to access the record of it. Traceback on sentry - https://user-images.githubusercontent.com/98319223/233275435-58c210e8-b55e-4fa5-884b-c3733f8cd37c.png Steps to produce the error: (in >=15.0) 1. Install e-commerce 2. Install install 'Stripe Payment Acquirer ' module 2. delete the Stripe from payment acquirer 3. Go to the e-commerce dashoboard 4. Click Set Payment 5. select Credit card (via Stripe) 6. enter any secret and Publishable key 7. click apply This commit solves the above issue by preventing the deletion of the payment acquirer if it has a corresponding module. sentry-4041178833 Forward-Port-Of: odoo/odoo#120460 Forward-Port-Of: odoo/odoo#119140
Before this commit, the mobile search view was sent to the end of the dom (t-portal) and so was on top of everything even the dialog that was opened after it. Now, the mobile search view is open in a dialog and the depth level between it and other dialogs is fixed. task id: 3273035 Forward-Port-Of: odoo/odoo#120125 Forward-Port-Of: odoo/odoo#119595
Original PR description
Before this commit, the mobile search view was sent to the end of the dom (t-portal) and so was on top of everything even the dialog that was opened after it. Now, the mobile search view is open in a dialog and the depth level between it and other dialogs is fixed. task id: 3273035 Forward-Port-Of: odoo/odoo#120125 Forward-Port-Of: odoo/odoo#119595
This PR creates a new util which clicks on edit and waits for the edit mode to be started. This way, we make sure that the edit mode is enabled before testing the next step of the test. This avoids race conditions during tests. Note that we leave the old clickOnEdit util as it could be used in custom codes and we don't want to break them. task-3203820 Forward-Port-Of: odoo/odoo#120335 Forward-Port-Of: odoo/odoo#116490
Original PR description
This PR creates a new util which clicks on edit and waits for the edit mode to be started. This way, we make sure that the edit mode is enabled before testing the next step of the test. This avoids race conditions during tests. Note that we leave the old clickOnEdit util as it could be used in custom codes and we don't want to break them. task-3203820 Forward-Port-Of: odoo/odoo#120335 Forward-Port-Of: odoo/odoo#116490
This commit avoid to invalidate the cache on creation of 301/302 that have no impact on the routing_map. Forward-Port-Of: odoo/odoo#117064
Original PR description
This commit avoid to invalidate the cache on creation of 301/302 that have no impact on the routing_map. Forward-Port-Of: odoo/odoo#117064
## Current behaviour If a project has more than 80 tasks, there is pagination activated in the project portal view. But when clicking on the second page, we are greeted with a 404. ## Expected behaviour You should be able to scroll through the pages of tasks related to the shared project without hitting a 404. ## Steps to reproduce - Install Project - Create 100+ tasks in 1 project - Copy the share link of that project. - Log out, open the shared link. - Go to page 2 of the tasks ->
Original PR description
## Current behaviour If a project has more than 80 tasks, there is pagination activated in the project portal view. But when clicking on the second page, we are greeted with a 404. ## Expected…
## Current behaviour If a project has more than 80 tasks, there is pagination activated in the project portal view. But when clicking on the second page, we are greeted with a 404. ## Expected behaviour You should be able to scroll through the pages of tasks related to the shared project without hitting a 404. ## Steps to reproduce - Install Project - Create 100+ tasks in 1 project - Copy the share link of that project. - Log out, open the shared link. - Go to page 2 of the tasks -> 404. ## Reason for the problem Missing route `/my/project/<int:project_id>/page/<int:page>`. ## Fix Add the missing route. Essentially a backport of 336befc0fbdf8f24cedcb37ef7d4684aea50885c ## Affected versions - 15.0 - saas-15.2 - 16.0 <-- issue is different for this version and newers - saas-16.1 - saas-16.2 - master --- opw-3220659 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#119941 Forward-Port-Of: odoo/odoo#119905
The file uploader uses a context key `default_journal_id` to identify the journal to upload to. With commit https://github.com/odoo/enterprise/commit/0d7d1a2994f14b80cd8f3644871f87a472821741, we attempt to reconcile imported transactions immediately. When reconciling, if there is a partner and an account number, the res.partner.bank is created. Problem: When creating a partner bank account, the default_journal_id is in the context, and is interpreted as a default value, which causes a stack
Original PR description
The file uploader uses a context key `default_journal_id` to identify the journal to upload to. With commit https://github.com/odoo/enterprise/commit/0d7d1a2994f14b80cd8f3644871f87a472821741, we attempt to reconcile imported transactions immediately. When reconciling, if there is a partner and an account number, the res.partner.bank is created. Problem: When creating a partner bank account, the default_journal_id is in the context, and is interpreted as a default value, which causes a stack trace. Solution: Explicitly specifiy the journal_id when the partner bank account is created, so there is no invalid value when obtaining defaults. task-3299109 opw-3291805 opw-3291064 opw-3291024 Forward-Port-Of: odoo/odoo#120509
Steps: - Go to website/shop ( with price range widget enabled) - Change the language to Arabic Issue: the numbers on the price range widget are overflowing Cause: The element leftCounter's right style property is always set to 0px. So when changing the direction it's always on the right as his position is absolute. Solution: Built-in handle by Bootstrap with end-0 Refer to https://github.com/odoo/odoo/issues/108557 opw-3221051 Forward-Port-Of: odoo/odoo#117144
Original PR description
Steps: - Go to website/shop ( with price range widget enabled) - Change the language to Arabic Issue: the numbers on the price range widget are overflowing Cause: The element leftCounter's right style property is always set to 0px. So when changing the direction it's always on the right as his position is absolute. Solution: Built-in handle by Bootstrap with end-0 Refer to https://github.com/odoo/odoo/issues/108557 opw-3221051 Forward-Port-Of: odoo/odoo#117144
This test will help making stats on routing_map generation performances This will help to mesure the time for the main `None` routing map as well as for website1, the idea being that it would be possible to mutualize a part of this computation between routing maps. This will be useful for #120366 Forward-Port-Of: odoo/odoo#120544
Original PR description
This test will help making stats on routing_map generation performances This will help to mesure the time for the main `None` routing map as well as for website1, the idea being that it would be possible to mutualize a part of this computation between routing maps. This will be useful for #120366 Forward-Port-Of: odoo/odoo#120544
This PR resolves an issue where it was impossible to save a bank account for a newly created partner (customer/vendor) without saving the partner details first. The solution implemented is to automatically save the partner when the user clicks on "add a bank account", thus ensuring a smoother user experience. Problem Description: When creating a new customer or vendor, users encountered difficulty when trying to add a bank account without saving the partner details first. The account holder
Original PR description
This PR resolves an issue where it was impossible to save a bank account for a newly created partner (customer/vendor) without saving the partner details first. The solution implemented is to…
This PR resolves an issue where it was impossible to save a bank account for a newly created partner (customer/vendor) without saving the partner details first. The solution implemented is to automatically save the partner when the user clicks on "add a bank account", thus ensuring a smoother user experience. Problem Description: When creating a new customer or vendor, users encountered difficulty when trying to add a bank account without saving the partner details first. The account holder field was required to save a bank account, but it didn't exist yet, creating a frustrating experience for users. Solution Implemented: We have implemented an auto-save feature for the partner when the user clicks on "add a bank account". This will force the save of the partner details before proceeding with the bank account addition, ensuring the account holder field exists and can be filled in. Task-Id: 3266820 --- I confirm I have signed the CLA and read the PR guidelines at [www.odoo.com/submit-pr](http://www.odoo.com/submit-pr) Forward-Port-Of: odoo/odoo#119358
Description of the issue/feature this PR addresses: In project module, when sub-tasks is created then recurrence boolean field should not be visible in that task. It only visible in parent tasks. Current behavior before PR: recurrence field is visible in sub-tasks. Desired behavior after PR is merged: recurrence field is not visible in sub-tasks. task-3252521 Forward-Port-Of: odoo/odoo#120383
Original PR description
Description of the issue/feature this PR addresses: In project module, when sub-tasks is created then recurrence boolean field should not be visible in that task. It only visible in parent tasks. Current behavior before PR: recurrence field is visible in sub-tasks. Desired behavior after PR is merged: recurrence field is not visible in sub-tasks. task-3252521 Forward-Port-Of: odoo/odoo#120383
If applied, this commit will solve the issue of the deleted expense product while creating the sample receipt. The database should be without demo data or shouldn't have any record of expenses. Steps to produce: - Delete the 'Expenses' product from Configuration > Expense Products. - Go to the 'All My Expenses' menu. - Click on the 'Try Sample Receipt' button and click on any receipt. - Error will be generated. sentry - 4115280369 see - https://tinyurl.com/2cq3fcug Forward-Port-Of: o
Original PR description
If applied, this commit will solve the issue of the deleted expense product while creating the sample receipt. The database should be without demo data or shouldn't have any record of expenses. Steps to produce: - Delete the 'Expenses' product from Configuration > Expense Products. - Go to the 'All My Expenses' menu. - Click on the 'Try Sample Receipt' button and click on any receipt. - Error will be generated. sentry - 4115280369 see - https://tinyurl.com/2cq3fcug Forward-Port-Of: odoo/enterprise#40556 Forward-Port-Of: odoo/enterprise#40174
- Create an asset with duration 0 years - Confirm it - Dispose it => Traceback because we're dividing by the lifetime (so 0) opw-3288323 Forward-Port-Of: odoo/enterprise#40649
Original PR description
- Create an asset with duration 0 years - Confirm it - Dispose it => Traceback because we're dividing by the lifetime (so 0) opw-3288323 Forward-Port-Of: odoo/enterprise#40649
The `_get_unit_label` is called on self, instead of every `record`. And this method requires a singleton, so it raises an error with two temporal lines. Forward-Port-Of: odoo/enterprise#40628
Original PR description
The `_get_unit_label` is called on self, instead of every `record`. And this method requires a singleton, so it raises an error with two temporal lines. Forward-Port-Of: odoo/enterprise#40628
Reaching the last step of the onboarding screen would cycle back to the first step instead of going to the next screen. task-3299576 Forward-Port-Of: odoo/enterprise#40665
Original PR description
Reaching the last step of the onboarding screen would cycle back to the first step instead of going to the next screen. task-3299576 Forward-Port-Of: odoo/enterprise#40665
There was a mistake in the creation of the validation dictionary that lead to incomplete data being sent for validation. The parameters of the validation request will now be checked in the tests to avoid similar issues in the future. Forward-Port-Of: odoo/enterprise#40651 Forward-Port-Of: odoo/enterprise#40617
Original PR description
There was a mistake in the creation of the validation dictionary that lead to incomplete data being sent for validation. The parameters of the validation request will now be checked in the tests to avoid similar issues in the future. Forward-Port-Of: odoo/enterprise#40651 Forward-Port-Of: odoo/enterprise#40617
Before this commit, the mobile search view was sent to the end of the dom (t-portal) and so was on top of everything even the dialog that was opened after it. Now, the mobile search view is open in a dialog and the depth level between it and other dialogs is fixed. task id: 3273035 Forward-Port-Of: odoo/enterprise#40538 Forward-Port-Of: odoo/enterprise#40255
Original PR description
Before this commit, the mobile search view was sent to the end of the dom (t-portal) and so was on top of everything even the dialog that was opened after it. Now, the mobile search view is open in a dialog and the depth level between it and other dialogs is fixed. task id: 3273035 Forward-Port-Of: odoo/enterprise#40538 Forward-Port-Of: odoo/enterprise#40255
Steps to reproduce ------------------ 1. Install Project and Documents 2. Create a Project with the "Internal" visibility 3. Create a task in this project, and make an internal user that does not have Project > Administrator access rights follower of this task 4. Log in as that user, and access the task using the link 5. Click on the "Documents" stat button This will generate an access rights error. This PR fixes the error by adding a sudo when trying to access the project of the tas
Original PR description
Steps to reproduce ------------------ 1. Install Project and Documents 2. Create a Project with the "Internal" visibility 3. Create a task in this project, and make an internal user that does not have Project > Administrator access rights follower of this task 4. Log in as that user, and access the task using the link 5. Click on the "Documents" stat button This will generate an access rights error. This PR fixes the error by adding a sudo when trying to access the project of the task. --- Task-3244381 Forward-Port-Of: odoo/enterprise#38555
Forward-Port-Of: odoo/enterprise#40650
Original PR description
Forward-Port-Of: odoo/enterprise#40650
Forward-Port-Of: odoo/enterprise#39768
Original PR description
Forward-Port-Of: odoo/enterprise#39768
This trace back raises when required fields are not as a column in the imported journal file. Steps to Produce : * Install accounting module * open res_config_settings/import/import journal items * upload a .xlsx extension file and test the file * If 'journal_id' is in the file,then trace back raises By applying these changes will resolve this issue. See:-  Sentry:- 4062496694 Forward-Port-Of: odoo/enterprise#40297 Forward-Port-Of: odoo/enterprise#39633
- Add HSBC Autopay APC file exporting feature by the following documentation - https://www.business.hsbc.com.hk/-/media/library/business-hk/pdfs/en/autopay-new-hkmri-file-specifications.pdf task-3195612 Forward-Port-Of: odoo/enterprise#40438 Forward-Port-Of: odoo/enterprise#39177
Original PR description
- Add HSBC Autopay APC file exporting feature by the following documentation - https://www.business.hsbc.com.hk/-/media/library/business-hk/pdfs/en/autopay-new-hkmri-file-specifications.pdf task-3195612 Forward-Port-Of: odoo/enterprise#40438 Forward-Port-Of: odoo/enterprise#39177
see odoo/odoo#117936 Forward-Port-Of: odoo/enterprise#40424
Original PR description
see odoo/odoo#117936 Forward-Port-Of: odoo/enterprise#40424
Remove lunch hours from work intervals so that overtime is not calculated when it's not due tests adapted to take into account lunch period task 3217799 see odoo/odoo#119165 Forward-Port-Of: odoo/enterprise#40647
Original PR description
Remove lunch hours from work intervals so that overtime is not calculated when it's not due tests adapted to take into account lunch period task 3217799 see odoo/odoo#119165 Forward-Port-Of: odoo/enterprise#40647