Tuesday, June 18, 2024
41 changes · saas-17.1
Resolved issues and error corrections
Opening an accrued revenue entry from a sales order with a percentage down payment no longer triggers an error. This prevents disruption for users managing sales invoices and accrued revenue workflows.
Original PR description
This error occurs when we create a new sales order, then proceed to create an invoice within that sales order, and finally attempt to open the ``Accrued Revenue Entry`` from the action button. Steps to reproduce: - Install the ``sale_management`` and ``account_accountant`` modules - Create new sales orders > ``Confirm`` > ``Create Invoice`` button > Down Payment in % > ``Confirm`` > ``Sale Order`` smart button - Go to action button > ``Accrued Revenue Entry`` Traceback : ``AssertionError precision_rounding must be positive, got 0.0`` At [1] within ``o.order_line``, we are encountering an issue where ``precision_rounding`` is being retrieved as zero. This is leading to an error. This commit will fix the above error by implementing a check for the ``is_downpayment`` in the order line. [1]: https://github.com/odoo/odoo/blob/34b651de35b986db404a3950866bed7bc7e1fae2/addons/account/wizard/accrued_orders.py#L174 sentry-4857910663
Miscellaneous changes
Credit notes shoudn't make the down payment reference disappear from the matching down payment SO line. opw-3904918 See #168418 for further details Forward-Port-Of: odoo/odoo#169779
Original PR description
Credit notes shoudn't make the down payment reference disappear from the matching down payment SO line. opw-3904918 See #168418 for further details Forward-Port-Of: odoo/odoo#169779
Steps to reproduce: - install point of sale and HR - create some data in the point of sale app - switch the user language to arabic - open the point of sale dashboard => some cells are in error, the date cannot be recognised. The reason is that `formatDateTime` returns the date with arabic numbers, which can't be parsed by the spreadsheet engine. The option `numberingSystem` is ignored by `formatDateTime`. With this commit, we change the date numbering system before. opw-3992621
Original PR description
Steps to reproduce: - install point of sale and HR - create some data in the point of sale app - switch the user language to arabic - open the point of sale dashboard => some cells are in error, the date cannot be recognised. The reason is that `formatDateTime` returns the date with arabic numbers, which can't be parsed by the spreadsheet engine. The option `numberingSystem` is ignored by `formatDateTime`. With this commit, we change the date numbering system before. opw-3992621 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169627
When demo data is loaded by user from UI, the same records are created as is done with loading demo data, ideally they should have same attributes but loading through python function doesn't result in same because noupdate flag is not set. And when ORM tries to remove these records it ends up causing an error. similar:https://github.com/odoo/odoo/pull/162080 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: ---
Original PR description
When demo data is loaded by user from UI, the same records are created as is done with loading demo data, ideally they should have same attributes but loading through python function doesn't result in same because noupdate flag is not set. And when ORM tries to remove these records it ends up causing an error. similar:https://github.com/odoo/odoo/pull/162080 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#168726
This is a follow-up of [1]. The ability to duplicate from the list view appeared with version 17.0 and was not taken into account during the forward-port. [1]: https://github.com/odoo/odoo/commit/1688a19266809d23f525563dbbb20175cbd8da83 Forward-Port-Of: odoo/odoo#167031
Original PR description
This is a follow-up of [1]. The ability to duplicate from the list view appeared with version 17.0 and was not taken into account during the forward-port. [1]: https://github.com/odoo/odoo/commit/1688a19266809d23f525563dbbb20175cbd8da83 Forward-Port-Of: odoo/odoo#167031
Issue ---- Phone number can span two lines with some fonts for reports that use the contact widget (e.g. Delivery Slip). Steps ----- - Use Raleway font. You can do this by going to Settings -> Configure Document Layout (under Companies) -> Choose Raleway. - Change the phone number of the current company to `+33 3 28 44 55 01`. - Create a delivery (without lines) and print a Delivery Slip without validating. - The phone number spans two lines. Cause ----- When the phone numbe
Original PR description
Issue ---- Phone number can span two lines with some fonts for reports that use the contact widget (e.g. Delivery Slip). Steps ----- - Use Raleway font. You can do this by going to Settings -> Configure Document Layout (under Companies) -> Choose Raleway. - Change the phone number of the current company to `+33 3 28 44 55 01`. - Create a delivery (without lines) and print a Delivery Slip without validating. - The phone number spans two lines. Cause ----- When the phone number is long and takes up space in some fonts, the phone number is line-wrapped, which is ok for other text but not for phone numbers. opw-3834061 Forward-Port-Of: odoo/odoo#166336
Versions -------- - 16.0+ Steps ----- 1. Enable lock SO on confirmation; 2. enable wire transfer as payment provider' 3. go to website; 4. buy a product using wire transfer; 5. confirm the generated SO in the back-end; 6. front-end says payment has been confirmed. Issue ----- The confirmation status of the SO doesn't reflect the confirmation status of the payment. Cause ----- The `action_lock` method looks at any relevant wire transfers that are pending, and confirms them.
Original PR description
Versions -------- - 16.0+ Steps ----- 1. Enable lock SO on confirmation; 2. enable wire transfer as payment provider' 3. go to website; 4. buy a product using wire transfer; 5. confirm the generated SO in the back-end; 6. front-end says payment has been confirmed. Issue ----- The confirmation status of the SO doesn't reflect the confirmation status of the payment. Cause ----- The `action_lock` method looks at any relevant wire transfers that are pending, and confirms them. Solution -------- Decouple wire transfer confirmation from the locking of sale orders. opw-3751481 Forward-Port-Of: odoo/odoo#169369 Forward-Port-Of: odoo/odoo#169135
This fixes a bug introduced in 96638eb, where lines with discount apply it twice. Backport of https://github.com/odoo/odoo/pull/168212 cc @robinengels --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168819
Original PR description
This fixes a bug introduced in 96638eb, where lines with discount apply it twice. Backport of https://github.com/odoo/odoo/pull/168212 cc @robinengels --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168819
Steps : * Create a loyalty program of any type * Create 2 or more rewards * Create a sale order and use the loyalty program and reward we just created * Go back to the loyalty program and try to delete that reward Issue : The record cannot be deleted as another model requires the record being deleted Fix : Changed the unlink method to delete the record if this record id is not required by another model and archive the record if it is required opw : 3879031 --- I confirm I hav
Original PR description
Steps : * Create a loyalty program of any type * Create 2 or more rewards * Create a sale order and use the loyalty program and reward we just created * Go back to the loyalty program and try to delete that reward Issue : The record cannot be deleted as another model requires the record being deleted Fix : Changed the unlink method to delete the record if this record id is not required by another model and archive the record if it is required opw : 3879031 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164293
Issue ---- When uploading a file, the chatter is unmounted from the right side of the screen then remounted to the bottom as soon as the file is uploaded to preview. For multiple files, the `onUploaded` hook is called before the re-mounted chatter root element becomes accessible to the component. This results in dereferencing `null` in `onUploaded`. Steps ----- - Create a new bill. - Upload multiple attachments. Make sure that: - There are no attachments when you upload. - The
Original PR description
Issue ---- When uploading a file, the chatter is unmounted from the right side of the screen then remounted to the bottom as soon as the file is uploaded to preview. For multiple files, the `onUploaded` hook is called before the re-mounted chatter root element becomes accessible to the component. This results in dereferencing `null` in `onUploaded`. Steps ----- - Create a new bill. - Upload multiple attachments. Make sure that: - There are no attachments when you upload. - The attachments are large enough so the second attachment is uploaded just after the first is previewed (and the chatter is unmounted from the right). opw-3985584 Forward-Port-Of: odoo/odoo#169095
Currently people wanting to use a bank journal for their credit card transactions have to use a hack to set the default account as a credit card account, since the domain does not allow this. To make the life of people easier, we now allow selecting a credit card account on bank journals. [task-3891250](https://www.odoo.com/web#id=3891250&model=project.task) Forward-Port-Of: odoo/odoo#167188 Forward-Port-Of: odoo/odoo#163947
Original PR description
Currently people wanting to use a bank journal for their credit card transactions have to use a hack to set the default account as a credit card account, since the domain does not allow this. To make the life of people easier, we now allow selecting a credit card account on bank journals. [task-3891250](https://www.odoo.com/web#id=3891250&model=project.task) Forward-Port-Of: odoo/odoo#167188 Forward-Port-Of: odoo/odoo#163947
When scanning a barcode, the search should return only one partner if the barcode is an exact match. This is the case for example when scanning a membership card. taskId: 3987605 Forward-Port-Of: odoo/odoo#169603
Original PR description
When scanning a barcode, the search should return only one partner if the barcode is an exact match. This is the case for example when scanning a membership card. taskId: 3987605 Forward-Port-Of: odoo/odoo#169603
When an image gallery is edited, the options of its selected image are displayed in the side panel. If the previous/next arrows are used to navigate between the images, the image options are not updated to match the newly selected image. This commit fixes this by explicitly selecting the reached image once the slide transition is completed. The completion detection is based on the equivalent code for the "Carousel" snippet. Steps to reproduce: - Drop an "Image Gallery" snippet into a page
Original PR description
When an image gallery is edited, the options of its selected image are displayed in the side panel. If the previous/next arrows are used to navigate between the images, the image options are not updated to match the newly selected image. This commit fixes this by explicitly selecting the reached image once the slide transition is completed. The completion detection is based on the equivalent code for the "Carousel" snippet. Steps to reproduce: - Drop an "Image Gallery" snippet into a page. - Select its first image. - Set an image option (e.g. Shape or Filter). - Click on the "Next" arrow beside the image. => The image options were not updated. task-3716863 Forward-Port-Of: odoo/odoo#168820 Forward-Port-Of: odoo/odoo#160942
When leaving the table mode, the filter should be removed to show all products again. taskId: 3989229 Forward-Port-Of: odoo/odoo#169416
Original PR description
When leaving the table mode, the filter should be removed to show all products again. taskId: 3989229 Forward-Port-Of: odoo/odoo#169416
When using the action_view_opportunity for assigned partners we should be able to see the lost leads when filtering by 'Lost', but if we don't set the active_test to False for the context we won't be able to see them in this view. So since we retrieve the leads with `self.env['crm.lead'].with_context(**action_context_origin)` we need to make sure the active_test is False to get all the leads related to the partner. ## Steps to reproduce: 1. Install website_crm_partner_assign. 2. Create at
Original PR description
When using the action_view_opportunity for assigned partners we should be able to see the lost leads when filtering by 'Lost', but if we don't set the active_test to False for the context we won't be able to see them in this view. So since we retrieve the leads with `self.env['crm.lead'].with_context(**action_context_origin)` we need to make sure the active_test is False to get all the leads related to the partner. ## Steps to reproduce: 1. Install website_crm_partner_assign. 2. Create at least 2 leads (one active and one lost) for a new partner. 3. Make sure we have set this partner as assigned partner. 4. Now on the partner form go to the leads action to see the leads related to the partner. opw-3903070 Forward-Port-Of: odoo/odoo#166832
Steps to reproduce: -create sales order for some product. -create invoice for down payment. -create regular invoice. Issue: -Description of down payment get modified after creating regular invoice. Cause: -Credit note is also taken in consideration in modifying name of invoices. Fix: -Applied filter to only take customer invoice opw-3904918 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168418
Original PR description
Steps to reproduce: -create sales order for some product. -create invoice for down payment. -create regular invoice. Issue: -Description of down payment get modified after creating regular invoice. Cause: -Credit note is also taken in consideration in modifying name of invoices. Fix: -Applied filter to only take customer invoice opw-3904918 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168418
**Steps to reproduce:** - Install sale_project, E-Commerce module - Create a service product and put its invoicing policy as 'Based on milestones' - Go to website as Public user and try to add the product you created to the cart **Current behavior before PR:** A traceback is happening when a public user try to add a product -that has Based on milestones as invoicing policy- to the cart. This is happening because we check if the user has 'group_project_milestone' https://github.com/odoo
Original PR description
**Steps to reproduce:** - Install sale_project, E-Commerce module - Create a service product and put its invoicing policy as 'Based on milestones' - Go to website as Public user and try to add the product you created to the cart **Current behavior before PR:** A traceback is happening when a public user try to add a product -that has Based on milestones as invoicing policy- to the cart. This is happening because we check if the user has 'group_project_milestone' https://github.com/odoo/odoo/blob/17.0/addons/sale_project/models/product.py#L18 and if the user is not signed in he won't have this group. **Desired behavior after PR is merged:** The public user should be able to add this products. As we are now checking if the user is a public one and if the SUPERUSER has the 'group_project_milestone'. opw-3956165 Forward-Port-Of: odoo/odoo#167810
**Steps to reproduce:** - Install Point of Sale module - Create an order through the PoS day and time X - Re-print the receipt/ticket another day **Current behavior before PR:** When reprint an order's receipt in a day different than the order creation date you will have the current date at the end of the receipt. This is happening because when exporting the data of the order to print the receipt we are setting the date to be printed equals to the receipt date which is the current time
Original PR description
**Steps to reproduce:** - Install Point of Sale module - Create an order through the PoS day and time X - Re-print the receipt/ticket another day **Current behavior before PR:** When reprint an order's receipt in a day different than the order creation date you will have the current date at the end of the receipt. This is happening because when exporting the data of the order to print the receipt we are setting the date to be printed equals to the receipt date which is the current time. https://github.com/odoo/odoo/blob/17.0/addons/point_of_sale/static/src/app/store/models.js#L1610 https://github.com/odoo/odoo/blob/17.0/addons/point_of_sale/static/src/app/store/models.js#L1625 **Desired behavior after PR is merged:** We are now passing the order date instead of the receipt date. opw-3979454 Forward-Port-Of: odoo/odoo#169265
Some part of the `action_send_chat_request` method has been wrongly indented in [1]. As a result, this block is executed as part of a loop while it should not. This PR put the block of code out of the loop. [1]: https://github.com/odoo/odoo/pull/129770 Forward-Port-Of: odoo/odoo#169379
Original PR description
Some part of the `action_send_chat_request` method has been wrongly indented in [1]. As a result, this block is executed as part of a loop while it should not. This PR put the block of code out of the loop. [1]: https://github.com/odoo/odoo/pull/129770 Forward-Port-Of: odoo/odoo#169379
The "Reload Chart Template" button currently doesn't work with the argentinian localization. It is due to some python constrains that don't allow to modify some fields if there are accounting entries. The issue is that the constrains will be raised, when any writing on those fields is done, even if the new value is the same as the old one. When reloading the chart template it is re-writing the values, but they are not different, so no exception should be raised. The fix here is
Original PR description
The "Reload Chart Template" button currently doesn't work with the argentinian localization. It is due to some python constrains that don't allow to modify some fields if there are accounting entries. The issue is that the constrains will be raised, when any writing on those fields is done, even if the new value is the same as the old one. When reloading the chart template it is re-writing the values, but they are not different, so no exception should be raised. The fix here is to move those constrains into the `def write` override, where there's more control (as we have the new values as argument). task-3878511 Forward-Port-Of: odoo/odoo#166537
Issue: ------ With many departments (for example 40), in the kiosk mode, when we identify ourselves manually, we are obliged to reduce the screen size in order to access the employees. Solution: --------- Force a max height for the section with the departments. This enables the `overflow-auto` class to take effect. It is now possible to scroll along the Y axis. opw-3956359 Forward-Port-Of: odoo/odoo#169616
Original PR description
Issue: ------ With many departments (for example 40), in the kiosk mode, when we identify ourselves manually, we are obliged to reduce the screen size in order to access the employees. Solution: --------- Force a max height for the section with the departments. This enables the `overflow-auto` class to take effect. It is now possible to scroll along the Y axis. opw-3956359 Forward-Port-Of: odoo/odoo#169616
For a logged user, when applying to a job position, the phone number is filled with phone but updates mobile on submission (instead of phone field) Steps to reproduce: 1.Navigate to jobs > /jobs in the url. 2.Log as an existing user > the phone number is pre filled in the job form based on the user's phone field (can be seen in the contact view). 3.Change the phone number in the job form. 4.Apply to the job position > click on the "i'm feeling lucky" button. 5.Navigate to contact > search
Original PR description
For a logged user, when applying to a job position, the phone number is filled with phone but updates mobile on submission (instead of phone field) Steps to reproduce: 1.Navigate to jobs > /jobs in the url. 2.Log as an existing user > the phone number is pre filled in the job form based on the user's phone field (can be seen in the contact view). 3.Change the phone number in the job form. 4.Apply to the job position > click on the "i'm feeling lucky" button. 5.Navigate to contact > search for the user 6.The given phone number will overwrite the mobile field of the user view Cause: partner_mobile field was been used. Solution: use partner_phone field from hr_applicant model opw-3964062 Forward-Port-Of: odoo/odoo#168745
__Explanation of the issue:__ Creating an allocation for multiple employees create children allocations for each individual employee concerned by that allocation. However, before this commit, refusing a parent allocation would refuse the children allocation, and validating it again would still create new children regardless. This behaviour is reminescent from the draft state which was the only way to modify an allocation __Reproduce the issue:__ - Create a multiple-employee allocation - Va
Original PR description
__Explanation of the issue:__ Creating an allocation for multiple employees create children allocations for each individual employee concerned by that allocation. However, before this commit,…
__Explanation of the issue:__ Creating an allocation for multiple employees create children allocations for each individual employee concerned by that allocation. However, before this commit, refusing a parent allocation would refuse the children allocation, and validating it again would still create new children regardless. This behaviour is reminescent from the draft state which was the only way to modify an allocation __Reproduce the issue:__ - Create a multiple-employee allocation - Validate it - Refuse it - Validate it again - Refuse it again - An error should appear, saying: "Allocation request must be confirmed or validated in order to refuse it." __How the issue was fixed:__ This commit synchronizes both parent and children allocations upon the write of the parent one, which will also update the children. Additionally, validating those parent allocations will now check if children allocations are present beforehand to avoid duplicating them. task-3935358 Forward-Port-Of: odoo/odoo#165990
Before this commit: - the tooltip is mismatched to the conditions of service_tracking_type. After this commit: - fixes the tooltip of the product in `task_in_project` and `project_only` fields. ref PR: https://github.com/odoo/odoo/pull/103974 task-3964655 Forward-Port-Of: odoo/odoo#167830
Original PR description
Before this commit: - the tooltip is mismatched to the conditions of service_tracking_type. After this commit: - fixes the tooltip of the product in `task_in_project` and `project_only` fields. ref PR: https://github.com/odoo/odoo/pull/103974 task-3964655 Forward-Port-Of: odoo/odoo#167830
Steps to reproduce: [phonenumbers] - Create a customer from Malaysia and add a phone number '123456789' -> it will be formatted '+60 12-345 6789' - Create an invoice - Confirm - Click on Process Now Issue: There will be a warning "The Buyer’s contact phone number (BT-57) shall start with “0“ or “+”, followed by a maximum of 15 number and minimum 4 character after the “+“ or “0“ , if exist." Solution: Only keep digits and the "+" symbol note: The test has changed in order to be m
Original PR description
Steps to reproduce: [phonenumbers] - Create a customer from Malaysia and add a phone number '123456789' -> it will be formatted '+60 12-345 6789' - Create an invoice - Confirm - Click on Process Now…
Steps to reproduce: [phonenumbers] - Create a customer from Malaysia and add a phone number '123456789' -> it will be formatted '+60 12-345 6789' - Create an invoice - Confirm - Click on Process Now Issue: There will be a warning "The Buyer’s contact phone number (BT-57) shall start with “0“ or “+”, followed by a maximum of 15 number and minimum 4 character after the “+“ or “0“ , if exist." Solution: Only keep digits and the "+" symbol note: The test has changed in order to be more realistic. That is, if I have a foreign contact I will: - or use/set the correct format manually (if not, it should raise an error from the third-party api) - or install `phonenumbers` to automatically format it (if not on a saas) `phone_validation` is in 'auto_intsall' whenever `base` and `mail` are installed (and if the library `phonenumbers` is installed) and works as followed: ``` >>> import phonenumbers >>> raw_phone = '(870)-931-0505' >>> parsed_number = phonenumbers.parse(raw_phone, "US") >>> phonenumbers.format_number(parsed_number, phonenumbers.PhoneNumberFormat.INTERNATIONAL) '+1 870-931-0505' ``` opw-3912128 Forward-Port-Of: odoo/odoo#164717
step: -install l10n_it and account_peppol without demo data -setup a peppol demo account -give your company a codigo fiscal -settings > Italian Electronic Invoicing > check "Allow Odoo to process invoices" -> constraint This happens because when creating demo edi, the id_client is set as "demo{company_id}", but the id_client must be unique so when registering two edi services for the same company, there is a collision. After this PR, we avoid the collision by adding the proxy_type to t
Original PR description
step:
-install l10n_it and account_peppol without demo data -setup a peppol demo account
-give your company a codigo fiscal
-settings > Italian Electronic Invoicing > check "Allow Odoo to process invoices"
-> constraint
This happens because when creating demo edi, the id_client is set as "demo{company_id}", but the id_client must be unique so when registering two edi services for the same company, there is a collision.
After this PR, we avoid the collision by adding the proxy_type to the demo id_client.
opw-3983974
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#169385In commit [1], a missing semicolon breaks the neutralization of a database. This commit fixes the issue. task-3895772 [1]: https://github.com/odoo/odoo/commit/44ecef1c6a22afba3e5151fa857fe550ed5d4f8c Forward-Port-Of: odoo/odoo#169598
Original PR description
In commit [1], a missing semicolon breaks the neutralization of a database. This commit fixes the issue. task-3895772 [1]: https://github.com/odoo/odoo/commit/44ecef1c6a22afba3e5151fa857fe550ed5d4f8c Forward-Port-Of: odoo/odoo#169598
Current behavior: --- When looking at an appointment availability, slots are missing (ie: 11pm-12am) Steps to reproduce: --- 1. Install website_appointment 2. Go to Appointment 3. Select/Create a resource appointment 4. Make sure resources use the default calendar 5. In schedule, change 'To' to midnight (00:00) 6. Click on 'Go to Website' 7. Select the next day 8. Should be available until midnight 9. => slots missing Cause of the issue: --- When computing unavailabilities wi
Original PR description
Current behavior: --- When looking at an appointment availability, slots are missing (ie: 11pm-12am) Steps to reproduce: --- 1. Install website_appointment 2. Go to Appointment 3. Select/Create a…
Current behavior: --- When looking at an appointment availability, slots are missing (ie: 11pm-12am) Steps to reproduce: --- 1. Install website_appointment 2. Go to Appointment 3. Select/Create a resource appointment 4. Make sure resources use the default calendar 5. In schedule, change 'To' to midnight (00:00) 6. Click on 'Go to Website' 7. Select the next day 8. Should be available until midnight 9. => slots missing Cause of the issue: --- When computing unavailabilities with _unavailable_intervals_batch, it takes all available slots: 12am-11:59am, 12pm-11:59pm then finds intervals between slots: 11:59am-12pm 11:59pm-12am These 1-minute intervals invalidate their respective slot => the slots 11am-12pm and 11pm-12am will show as unavailable Fix: --- Don't consider intervals that are one minute or less as unavailable Community PR: https://github.com/odoo/odoo/pull/163213 opw-3861561 Forward-Port-Of: odoo/enterprise#64718 Forward-Port-Of: odoo/enterprise#61403
Before this commit, the test fails when `hr_contract` module is not installed because the test tries to create a contract for an employee. This commit makes sure the test works without `hr_contract` by saying the employee is a freelancer to avoid using contract to get his working schedule to know if he did an overtime or not in Timesheets app. X-original-commit: 1e58628c63c4951dfb66ec1aa3a7eeae0a7b78d4 Forward-Port-Of: odoo/enterprise#64555
Original PR description
Before this commit, the test fails when `hr_contract` module is not installed because the test tries to create a contract for an employee. This commit makes sure the test works without `hr_contract` by saying the employee is a freelancer to avoid using contract to get his working schedule to know if he did an overtime or not in Timesheets app. X-original-commit: 1e58628c63c4951dfb66ec1aa3a7eeae0a7b78d4 Forward-Port-Of: odoo/enterprise#64555
On Windows OS if a ctypes method causes a segmentation fault, it leads to an OSError instead of a crash like it does on a raspberry pi. Related Python ctypes documentation link: https://docs.python.org/3/library/ctypes.html#calling-functions  This PR wraps every ctypes C/C++ method call with a try/except OSError to properly detect, log and display an error message to the user. task-3950
Original PR description
On Windows OS if a ctypes method causes a segmentation fault, it leads to an OSError instead of a crash like it does on a raspberry pi. Related Python ctypes documentation link: https://docs.python.org/3/library/ctypes.html#calling-functions  This PR wraps every ctypes C/C++ method call with a try/except OSError to properly detect, log and display an error message to the user. task-3950652 Forward-Port-Of: odoo/enterprise#64413 Forward-Port-Of: odoo/enterprise#64124
Suppose the SII workflow cron job runs, and there are no records with the `ask_for_status` or `accepted` l10n_cl_dte_status, but there are a lot with the `claimed` status. If the token on the certificate happens to be invalid, `_l10n_cl_ask_claim_status` will raise an InvalidToken exception and abort the cron job. This prevents the records from being processed. This fix clears an invalid token if it's detected, so that when the next record is processed a new one will be created. The record raisi
Original PR description
Suppose the SII workflow cron job runs, and there are no records with the `ask_for_status` or `accepted` l10n_cl_dte_status, but there are a lot with the `claimed` status. If the token on the certificate happens to be invalid, `_l10n_cl_ask_claim_status` will raise an InvalidToken exception and abort the cron job. This prevents the records from being processed. This fix clears an invalid token if it's detected, so that when the next record is processed a new one will be created. The record raising the exception should succeed the next time the cron job runs. opw-3920273 Forward-Port-Of: odoo/enterprise#63809
Forward-Port-Of: odoo/enterprise#62136
Original PR description
Forward-Port-Of: odoo/enterprise#62136
Currently, an error occurs when uploading an XML file to generate an invoice. Step to produce: - Install the 'l10n_mx_edi' module. - Go to Accounting / Configuration / Accounting / Taxes, And delete all 'Exento' taxes. - Go to Accounting / Configuration / Accounting / Tax Groups, And delete all 'Exento' Tax Group. - Navigate to Accounting / Customers / Invoices, And upload an XML file to generate an invoice, - Ensure that the XML file contains the "TipoFactor" with a value of "Exento"
Original PR description
Currently, an error occurs when uploading an XML file to generate an invoice. Step to produce: - Install the 'l10n_mx_edi' module. - Go to Accounting / Configuration / Accounting / Taxes, And delete…
Currently, an error occurs when uploading an XML file to generate an invoice. Step to produce: - Install the 'l10n_mx_edi' module. - Go to Accounting / Configuration / Accounting / Taxes, And delete all 'Exento' taxes. - Go to Accounting / Configuration / Accounting / Tax Groups, And delete all 'Exento' Tax Group. - Navigate to Accounting / Customers / Invoices, And upload an XML file to generate an invoice, - Ensure that the XML file contains the "TipoFactor" with a value of "Exento". (use this XML file [1]). AttributeError: 'NoneType' object has no attribute 'id' An error occurs when attempting to generate an invoice by uploading an XML file because system tries to retrieve an ID from the external_id of a tax group at [2] which is not available. link [1]: https://github.com/odoo/enterprise/blob/1e3dfa7c6a57c251d77801c316818b5a9fae6cc5/l10n_mx_edi/tests/test_files/test_bill_import_extento.xml#L1 link [2]: https://github.com/odoo/enterprise/blob/1e3dfa7c6a57c251d77801c316818b5a9fae6cc5/l10n_mx_edi/models/account_move.py#L2381 To resolve the issue, Add a condition to ensure that an external_id of a tax group is available. sentry-5312222893 Forward-Port-Of: odoo/enterprise#63874 Forward-Port-Of: odoo/enterprise#62257
In ubuntu noble, some timezone where removed, like US/Pacific. Translate it to the equivalent: "America/Los_Angeles" runbot-67857 Forward-Port-Of: odoo/enterprise#64774 Forward-Port-Of: odoo/enterprise#64369
Original PR description
In ubuntu noble, some timezone where removed, like US/Pacific. Translate it to the equivalent: "America/Los_Angeles" runbot-67857 Forward-Port-Of: odoo/enterprise#64774 Forward-Port-Of: odoo/enterprise#64369
Currently in the help center, knowledge articles without names are not sorted out, leading to empty divs being displayed. This PR will fix this by excluding articles without name in the _compute_latest_articles(). task-3940889 Forward-Port-Of: odoo/enterprise#62994
Original PR description
Currently in the help center, knowledge articles without names are not sorted out, leading to empty divs being displayed. This PR will fix this by excluding articles without name in the _compute_latest_articles(). task-3940889 Forward-Port-Of: odoo/enterprise#62994
*l10n_ro_saft According to the related community commit, we consider the account type `liability_credit_card` also as a liquidity account for bank journals. We adapt the reconciliation wizard and Romanian SAFT code to take this into account. task-3891250 Related to https://github.com/odoo/odoo/pull/166258 Forward-Port-Of: odoo/enterprise#63437 Forward-Port-Of: odoo/enterprise#63259
Original PR description
*l10n_ro_saft According to the related community commit, we consider the account type `liability_credit_card` also as a liquidity account for bank journals. We adapt the reconciliation wizard and Romanian SAFT code to take this into account. task-3891250 Related to https://github.com/odoo/odoo/pull/166258 Forward-Port-Of: odoo/enterprise#63437 Forward-Port-Of: odoo/enterprise#63259
[FIX] helpdesk: fix activity default filter Clicking on an Activity group used to set a default filter, in effect of which user will only see helpdesk tickets with HIS activites that are overdue/today. This behaviour got temporarily removed and than reintroduced with (ref.1) (ref.1) achieves that by adding default filters to the search views, it issue persisted in the helpdesk view becase filters wern't present. This commits adds filters to the helpdesk's search view so they can be u
Original PR description
[FIX] helpdesk: fix activity default filter Clicking on an Activity group used to set a default filter, in effect of which user will only see helpdesk tickets with HIS activites that are…
[FIX] helpdesk: fix activity default filter
Clicking on an Activity group used to set a default filter, in effect of which
user will only see helpdesk tickets with HIS activites that are overdue/today.
This behaviour got temporarily removed and than reintroduced with (ref.1)
(ref.1) achieves that by adding default filters to the search views, it issue
persisted in the helpdesk view becase filters wern't present.
This commits adds filters to the helpdesk's search view so they can be used
by mechanisms (re)introdcuted in (ref.1)
(ref.1)
[FIX] mail: Fix activity default filter issue
https://github.com/odoo/odoo/commit/3d18b9faa1fdcf00d48091ad4be244ca00d33524
[Reproduce steps]
- Install helpdesk
- (optional) create a helpdesk ticket where:
- current user has a future activity
- other user has an overdue activity
- open ActivityMenu dropdown (clock icon ".fa-clock-o")
- BUG (ux issue): filters aren't present
- (if optional): created ticket is shown (beside current user not having any overdue/today activity in there)
opw-3859535
https://github.com/odoo/enterprise/assets/33809926/ca77aa45-f842-41a3-b551-d27e4b87a83b
Forward-Port-Of: odoo/enterprise#63748With the introduction of alias domains in 17.0 an issue was uncovered in the helpdesk module where any additional alias names with different domains would be added as followers. This stemmed from an issue in _ticket_email_split which was not properly filtering emails out that matched the alias name because self was not yet defined when the method was called. This was not a problem before because this was immediately fed into _mail_find_partner_from_emails that would also filter out by alias_name
Original PR description
With the introduction of alias domains in 17.0 an issue was uncovered in the helpdesk module where any additional alias names with different domains would be added as followers. This stemmed from an issue in _ticket_email_split which was not properly filtering emails out that matched the alias name because self was not yet defined when the method was called. This was not a problem before because this was immediately fed into _mail_find_partner_from_emails that would also filter out by alias_name. This is no longer the case because the domain has to also match. Passing in the newly created ticket and using this to map to team_id.alias_name fixes this issue by properly filtering out alias emails even with different domains. opw-3920634 Forward-Port-Of: odoo/enterprise#63477
Since https://github.com/odoo/odoo/commit/1f438ca0e109b9e93c895824bd8342a2df170503 , the various product label reports have changed their name. Is still does not make much sense to edit them from studio, since they are composed of mostly generated data and not model fields. We thus blacklist them again. opw-3942356 Forward-Port-Of: odoo/enterprise#63425
Original PR description
Since https://github.com/odoo/odoo/commit/1f438ca0e109b9e93c895824bd8342a2df170503 , the various product label reports have changed their name. Is still does not make much sense to edit them from studio, since they are composed of mostly generated data and not model fields. We thus blacklist them again. opw-3942356 Forward-Port-Of: odoo/enterprise#63425
Bug === 1. Open Safari or Firefox 2. Open the split tool 3. We can not open the preview by clicking on the upper card of the card Technical ========= The hover effect was done with CSS trickery, so we added a new div to remove the CSS `transform` trick. Task-3863428 Forward-Port-Of: odoo/enterprise#61010
Original PR description
Bug === 1. Open Safari or Firefox 2. Open the split tool 3. We can not open the preview by clicking on the upper card of the card Technical ========= The hover effect was done with CSS trickery, so we added a new div to remove the CSS `transform` trick. Task-3863428 Forward-Port-Of: odoo/enterprise#61010
Issue: ------ When we click on "Helpdesk Ticket" in the activities, we are redirected to the kanban view (`helpdesk_ticket_view_kanban`), but no filter is added. Cause: ------ When going to the kanban view via activities, the search view selected is `helpdesk_ticket_view_search_analysis`, which does not contain filters on the `my_activity_date_deadline` field. When we go to the kanban view via the "Tickets" button, we have the search view `helpdesk_tickets_view_search` which is c
Original PR description
Issue: ------ When we click on "Helpdesk Ticket" in the activities, we are redirected to the kanban view (`helpdesk_ticket_view_kanban`), but no filter is added. Cause: ------ When going to the…
Issue: ------ When we click on "Helpdesk Ticket" in the activities, we are redirected to the kanban view (`helpdesk_ticket_view_kanban`), but no filter is added. Cause: ------ When going to the kanban view via activities, the search view selected is `helpdesk_ticket_view_search_analysis`, which does not contain filters on the `my_activity_date_deadline` field. When we go to the kanban view via the "Tickets" button, we have the search view `helpdesk_tickets_view_search` which is correct. Via ticket button, we are taking `helpdesk_ticket_action_team` action that forces the search view with `helpdesk_tickets_view_search`. Via ticket button: helpdesk_tickets_view_search (priority: 20) Via activity: helpdesk_ticket_view_search_analysis (priority: 16) 16 is the default value for the `priority` field. Solution: --------- Set a priority lower than the default on the `helpdesk_tickets_view_search` view, to make sure it is selected. opw-3976395 Forward-Port-Of: odoo/enterprise#64756