Friday, October 11, 2024
36 changes · saas-17.4
Resolved issues and error corrections
This fix prevents tiny rounding differences in manufacturing work center costs from creating accounting entries where debits and credits are off by one cent. It improves reliability of production cost posting and avoids manual corrections for affected manufacturing transactions.
Original PR description
labour_credit_line_vals were not properly rounded/summed, and could result in a difference between credit & debit of $0.01.  This happened because the credit value rounded up twice, and instead of having -0.005 + 0.005 => 0, we had -0 + 0.01 => +0.01. The issue could also happen with a cost share, if the workcenter_cost * cost_share = x.xx5. Hence, we needed to refactor how the workcenter_cost is computed to ensure that 'Original Credit Value = New Credit Value + Labor Credit Value'. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Adds automated checks for the German POS certification integration with Fiskaly. These tests mock external Fiskaly API calls, helping ensure the module keeps working correctly without depending on live services.
Original PR description
This commits add the first test for the fiskaly module. This tests mock all the call made to the api so that we can make sure the module is working correctly. opw-4171641
Miscellaneous changes
Upon attempting to refund an Authorize.net transaction, its state on the provider side is fetched to decide on the refund strategy. If the payment is not yet settled, the refund is achieved by sending a void request rather than a refund request. This flow was not fully working because the payment engine refused to move the transaction state from `done` to `cancel`. This forced users to hit the "Refund" button once to send the void request and a second time to cancel the transaction, as the se
Original PR description
Upon attempting to refund an Authorize.net transaction, its state on the provider side is fetched to decide on the refund strategy. If the payment is not yet settled, the refund is achieved by sending a void request rather than a refund request. This flow was not fully working because the payment engine refused to move the transaction state from `done` to `cancel`. This forced users to hit the "Refund" button once to send the void request and a second time to cancel the transaction, as the second attempt was working thanks to the change of transaction state on the provider side. This commit allows Authorize.net transactions to move from the `done` state to the `cancel` state. It is not necessary to ensure we are in the context of a refund because we always check that a transaction is in the `authorized` state before attempting to void it. opw-4201355 Forward-Port-Of: odoo/odoo#183184
Before this commit, the IOT was using an old system to render pages on the IOT box. This commit refactors the homepage to use the new owl system. taskId: 4134163 Forward-Port-Of: odoo/odoo#180343 Forward-Port-Of: odoo/odoo#177895
Original PR description
Before this commit, the IOT was using an old system to render pages on the IOT box. This commit refactors the homepage to use the new owl system. taskId: 4134163 Forward-Port-Of: odoo/odoo#180343 Forward-Port-Of: odoo/odoo#177895
Before this commit, when users added a description to a pickup shipping method, the algorithm to prevent the payment button from being enabled when no pickup location was selected failed. Now, the payment button will be disabled when no pickup is selected even if the shipping method has a description. opw-4040317 Forward-Port-Of: odoo/odoo#183222
Original PR description
Before this commit, when users added a description to a pickup shipping method, the algorithm to prevent the payment button from being enabled when no pickup location was selected failed. Now, the payment button will be disabled when no pickup is selected even if the shipping method has a description. opw-4040317 Forward-Port-Of: odoo/odoo#183222
Fix the code at [1], Where the system tries to update the payment method, Modify the code to handle this issue where the network value might not exist. This can be done by providing a default value for ```payment_method_type``` if the network value is not present. Link [1]: https://github.com/odoo/odoo/blob/d30f41a49f614456c71a0a6974325030f552a0db/addons/payment_razorpay/models/payment_transaction.py#L391-L392 Sentry-5950544641 --- I confirm I have signed the CLA and read the PR guidel
Original PR description
Fix the code at [1], Where the system tries to update the payment method, Modify the code to handle this issue where the network value might not exist. This can be done by providing a default value for ```payment_method_type``` if the network value is not present. Link [1]: https://github.com/odoo/odoo/blob/d30f41a49f614456c71a0a6974325030f552a0db/addons/payment_razorpay/models/payment_transaction.py#L391-L392 Sentry-5950544641 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182617
Steps to reproduce: - Install serbian (latin) language - Add a keyword in serbian via SEO optimize menu - Traceback occurs This fix ensures that language variants, such as "sr@latin", are properly handled when making requests to the Google Autocomplete API for SEO suggestions. A test has been added. task-4210707 Forward-Port-Of: odoo/odoo#181400
Original PR description
Steps to reproduce: - Install serbian (latin) language - Add a keyword in serbian via SEO optimize menu - Traceback occurs This fix ensures that language variants, such as "sr@latin", are properly handled when making requests to the Google Autocomplete API for SEO suggestions. A test has been added. task-4210707 Forward-Port-Of: odoo/odoo#181400
This commit ensures that event listeners are removed using their prototype's `removeEventListener` method, as to ensure that any override will not be called during the cleanup. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#183099
Original PR description
This commit ensures that event listeners are removed using their prototype's `removeEventListener` method, as to ensure that any override will not be called during the cleanup. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#183099
To avoid confusion, the field previously labeled as 'Purchase Order' has been renamed to 'Purchase Order Warning'. This clarifies that the field relates to triggering purchase warnings, not managing purchase orders themselves. This change only affects the field label, ensuring consistency in user expectations without altering the filter content or behavior. OPW-4141054 Forward-Port-Of: odoo/odoo#180176
Original PR description
To avoid confusion, the field previously labeled as 'Purchase Order' has been renamed to 'Purchase Order Warning'. This clarifies that the field relates to triggering purchase warnings, not managing purchase orders themselves. This change only affects the field label, ensuring consistency in user expectations without altering the filter content or behavior. OPW-4141054 Forward-Port-Of: odoo/odoo#180176
Product with long names where not shown completely on the kitchen receipt Steps to reproduce: ------------------- * Add a kitchen printer to your PoS setup * Create a product with a really long name * Open PoS and complete an order with the product > Observation: The kithen receipt doesn't show the full name opw-4221336 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182666
Original PR description
Product with long names where not shown completely on the kitchen receipt Steps to reproduce: ------------------- * Add a kitchen printer to your PoS setup * Create a product with a really long name * Open PoS and complete an order with the product > Observation: The kithen receipt doesn't show the full name opw-4221336 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182666
Steps to reproduce the bug: - In Website edit mode. - click on the navbar. - For the "Format" option of the navbar, open the color picker. - Select any colors of the theme colors or any grayscale color. - Bug: the color is not applied to the navbar links. The bug has existed since commit [1], which added the feature to set a custom text color for the header. Two problems were there from the start: - First, the variable wasn't saved inside quotes like it should have been. - Seco
Original PR description
Steps to reproduce the bug: - In Website edit mode. - click on the navbar. - For the "Format" option of the navbar, open the color picker. - Select any colors of the theme colors or any grayscale…
Steps to reproduce the bug: - In Website edit mode. - click on the navbar. - For the "Format" option of the navbar, open the color picker. - Select any colors of the theme colors or any grayscale color. - Bug: the color is not applied to the navbar links. The bug has existed since commit [1], which added the feature to set a custom text color for the header. Two problems were there from the start: - First, the variable wasn't saved inside quotes like it should have been. - Second, there was no function to convert theme colors (e.g., "o-color-1") into hexadecimal values when generating the CSS. Because of this, only non-theme colors worked with this option. This commit fixes the issue but ensures that it doesn't change anything for users who already applied a color that didn’t work before. This way, their navbar text color won't suddenly change after the fix without them understanding why. [1]: https://github.com/odoo/odoo/commit/d54028e5ed33a0258d3f2aeeaea338ac04f8d402 opw-4065019 Forward-Port-Of: odoo/odoo#182570
**Description of the issue/feature this PR addresses:** When all Lunch location records are deleted, the LunchLocation JS component fails to build, raising an error when accessing the Lunch App. **Steps to Reproduce:** - Install the `lunch` module - Go to Lunch > Configuration > Locations - Delete all records - Access the Lunch App again **Traceback:** OwlError ``` Invalid props for component 'AutoComplete': 'value' is not a string ``` This error occurs at [1], where the given p
Original PR description
**Description of the issue/feature this PR addresses:** When all Lunch location records are deleted, the LunchLocation JS component fails to build, raising an error when accessing the Lunch App.…
**Description of the issue/feature this PR addresses:** When all Lunch location records are deleted, the LunchLocation JS component fails to build, raising an error when accessing the Lunch App. **Steps to Reproduce:** - Install the `lunch` module - Go to Lunch > Configuration > Locations - Delete all records - Access the Lunch App again **Traceback:** OwlError ``` Invalid props for component 'AutoComplete': 'value' is not a string ``` This error occurs at [1], where the given props are empty. This commit will resolve the above error by displaying a text message instead of trying to build a `Many2XAutocomplete` with empty values. opw-4104561 [1]- https://github.com/odoo/odoo/blob/503c0d6f8fad09f5de678d8692fc283feac1b061/addons/lunch/static/src/components/lunch_dashboard.xml#L61 **Current behavior before PR:** Without any record in the `lunch.location` model, the Lunch App cannot be accessed **Desired behavior after PR is merged:** Without any record in the `lunch.location` model, the Lunch App can be accessed, but a message "_No lunch locations available._" will be displayed in spite of the location. **Screenshots** Behavior without fix, with locations not yet deleted:  Behavior with fix, with all locations deleted:  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#182763 Forward-Port-Of: odoo/odoo#176135
**Before this commit:** - The existing selector fails due to the change in the the text of the `<a>` tag redirecting us to the survey. ref. to where it was changed--- https://github.com/odoo/odoo/pull/131710/files#diff-134fd6929e7c8db7a39038879bf9a01c9f4525ca8db1475974c74576ffd7e3fb --- **After this commit:** - The new selector ensures we get the tour pointer as desired. Task-**4207478** Forward-Port-Of: odoo/odoo#181837
Original PR description
**Before this commit:** - The existing selector fails due to the change in the the text of the `<a>` tag redirecting us to the survey. ref. to where it was changed--- https://github.com/odoo/odoo/pull/131710/files#diff-134fd6929e7c8db7a39038879bf9a01c9f4525ca8db1475974c74576ffd7e3fb --- **After this commit:** - The new selector ensures we get the tour pointer as desired. Task-**4207478** Forward-Port-Of: odoo/odoo#181837
Steps to reproduce: 1. Create a live session for a 'Quiz about your company' survey 2. Add images to your answers 2. Complete it with one user 3. Review your answer in the last 4. The images are getting overlap Technical Reason: on the user-side results page, images that were not properly handled were displayed at their default size. After this commit: it should be perfectly aligned. Task-4208130 Forward-Port-Of: odoo/odoo#181386
Original PR description
Steps to reproduce: 1. Create a live session for a 'Quiz about your company' survey 2. Add images to your answers 2. Complete it with one user 3. Review your answer in the last 4. The images are getting overlap Technical Reason: on the user-side results page, images that were not properly handled were displayed at their default size. After this commit: it should be perfectly aligned. Task-4208130 Forward-Port-Of: odoo/odoo#181386
Earlier next button in the live session was not visible for some backgrounds. This pr addresses the issue and adds a separate background color for the start button so it can be compatible with any background. Task-4210804 Forward-Port-Of: odoo/odoo#182074
Original PR description
Earlier next button in the live session was not visible for some backgrounds. This pr addresses the issue and adds a separate background color for the start button so it can be compatible with any background. Task-4210804 Forward-Port-Of: odoo/odoo#182074
Fixed some missing / incorrect translations of account names in the chart template. Forward-Port-Of: odoo/odoo#178931 Forward-Port-Of: odoo/odoo#174750
Original PR description
Fixed some missing / incorrect translations of account names in the chart template. Forward-Port-Of: odoo/odoo#178931 Forward-Port-Of: odoo/odoo#174750
**Steps to reproduce:** - Install Accounting, POS and l10n_cl - Switch to a Chilean company (e.g. CL Company) - Create a branch company for it - Create a product with a tax from "ILA" group - Switch to the branch company - Open a POS session - Sell the created product - When processing payment, select a Chilean customer and the invoice option **Issue:** A traceback is raised while trying to fetch some tax groups: - self.env.ref(f'account.{cid}_tax_group_ila') - self.env.ref(f'accou
Original PR description
**Steps to reproduce:** - Install Accounting, POS and l10n_cl - Switch to a Chilean company (e.g. CL Company) - Create a branch company for it - Create a product with a tax from "ILA" group - Switch…
**Steps to reproduce:**
- Install Accounting, POS and l10n_cl
- Switch to a Chilean company (e.g. CL Company)
- Create a branch company for it
- Create a product with a tax from "ILA" group
- Switch to the branch company
- Open a POS session
- Sell the created product
- When processing payment, select a Chilean customer and the invoice option
**Issue:**
A traceback is raised while trying to fetch some tax groups:
- self.env.ref(f'account.{cid}_tax_group_ila')
- self.env.ref(f'account.{cid}_tax_group_retenciones') where {cid} is the id of the branch company.
**Cause:**
There is no tax group defined in the branch company. The taxes and the tax groups are defined in the parent company.
**Solution:**
Do not raise an error if the XMLID cannot be found and also check tax groups from parent companies as the taxes could come from them.
Use the "ref" method defined in "account.chart.template" model that is doing it.
opw-4227241
Related enterprise PR: https://github.com/odoo/enterprise/pull/71476
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#182798Currently, a traceback occurs when the user creates a link tracker having no scheme in the URL. To reproduce this issue: 1) Install website_link, email marketing 2) Create a new link tracker with a target URL from email marketing/configuration 3) Now remove the `http://` from the target URL 4) Navigate to website/site/link tracker Error:- ``` AttributeError: 'str' object has no attribute 'to_url' ``` This is because when the target URL has no `http://` the URL scheme will be
Original PR description
Currently, a traceback occurs when the user creates a link tracker having no scheme in the URL. To reproduce this issue: 1) Install website_link, email marketing 2) Create a new link tracker with a target URL from email marketing/configuration 3) Now remove the `http://` from the target URL 4) Navigate to website/site/link tracker Error:- ``` AttributeError: 'str' object has no attribute 'to_url' ``` This is because when the target URL has no `http://` the URL scheme will be an empty string. So it executes the else block in the below line. https://github.com/odoo/odoo/blob/8a1e6bef82fdaa98c60ef1e3fa519a03206a6788/addons/link_tracker/models/link_tracker.py#L54-L58 Clearly in the else block the value of `tracker.get_base_url()` is the string, when joining the `url` and `tracker.get_base_url()` it becomes a string. which leads to a traceback when `to_url()` is accessed from the string. sentry-5925121505 Forward-Port-Of: odoo/odoo#182556
…le split Currently, when auditing a DNA category with the vehicle split option leads to incorrect values. All the lines from the account being audited are displayed, including those with a 'vehicle_id'. That is wrong, since these lines will be grouped with the corresponding vehicle inside said category. They will appear both when auditing the category as well as when auditing each vehicle from this category. The solution is simply to exclude lines related to a vehicle when auditing a
Original PR description
…le split Currently, when auditing a DNA category with the vehicle split option leads to incorrect values. All the lines from the account being audited are displayed, including those with a 'vehicle_id'. That is wrong, since these lines will be grouped with the corresponding vehicle inside said category. They will appear both when auditing the category as well as when auditing each vehicle from this category. The solution is simply to exclude lines related to a vehicle when auditing a category while the vehicle split is active. task-4023543 Forward-Port-Of: odoo/enterprise#71382
The popover was set to bg-100 during darkmode redesign but it creates more issue than having it at 300. The initial issue was the button light behavior inside popover, but setting it to 100 doesn't solve the button light and breaks the elevation. Steps to reproduce (any popover): - Apply the Dark Mode - Go in CRM app - Open a lead - Clic the cog in the control panel next to the breadcrumb - Select "Add Properties" (it opens the popover) task-3593302 Forward-Port-Of: odoo/enterpris
Original PR description
The popover was set to bg-100 during darkmode redesign but it creates more issue than having it at 300. The initial issue was the button light behavior inside popover, but setting it to 100 doesn't solve the button light and breaks the elevation. Steps to reproduce (any popover): - Apply the Dark Mode - Go in CRM app - Open a lead - Clic the cog in the control panel next to the breadcrumb - Select "Add Properties" (it opens the popover) task-3593302 Forward-Port-Of: odoo/enterprise#51664
There's no refresh when closing a MO on the 'All MO' tab of the shopfloor. Because of that, the MO fades away but the total count is still the same. This PR forces a refresh to make sure that the count is corresponding to the number of MOs shown. When marking a workorder as done with the timer running, the timer doesn't stop and the value registered contains the time it takes to fade away. E.g. if you mark a WO as done at 1 min 33 sec, the real duration registered will be around 1 min
Original PR description
There's no refresh when closing a MO on the 'All MO' tab of the shopfloor. Because of that, the MO fades away but the total count is still the same. This PR forces a refresh to make sure that the count is corresponding to the number of MOs shown. When marking a workorder as done with the timer running, the timer doesn't stop and the value registered contains the time it takes to fade away. E.g. if you mark a WO as done at 1 min 33 sec, the real duration registered will be around 1 min 36-37 sec. This fix ensures the timer stop effectively and visually when closing a WO. Forward-Port-Of: odoo/enterprise#71548
1) Navigate to ‘Accounting Reports’ 2) Duplicate ‘Unrealized Currency Gains/Losses’ 3) Set the ‘Root Report’ to ‘Aged Receivable’ 4) Navigate to ‘Accounting/Aged Receivable’ report 5) In the header change current report to ‘Unrealized Currency Gains/Losses (copy)’ 6) Print PDF Issue: Traceback will raise with error "cannot access free variable 'column_index' where it is not associated with a value in enclosing scope" opw-4177428 Forward-Port-Of: odoo/enterprise#71467
Original PR description
1) Navigate to ‘Accounting Reports’ 2) Duplicate ‘Unrealized Currency Gains/Losses’ 3) Set the ‘Root Report’ to ‘Aged Receivable’ 4) Navigate to ‘Accounting/Aged Receivable’ report 5) In the header change current report to ‘Unrealized Currency Gains/Losses (copy)’ 6) Print PDF Issue: Traceback will raise with error "cannot access free variable 'column_index' where it is not associated with a value in enclosing scope" opw-4177428 Forward-Port-Of: odoo/enterprise#71467
**Steps to reproduce:** - Install Accounting and l10n_de_reports - Switch to a German company - Create a 19% included tax - Create an invoice with the following line: * Product: [any] * Quantity: 1.00 * Price: 19.95 * Taxes: [the 19% included tax] - Confirm the invoice - Go to "Accounting / Reporting / Audit Reports / General Ledger" - Download "DATEV DATA (ZIP)" and check "EXTF_accounting_entries.csv" **Issue:** The line for the created invoice has an amount of 19.94 inst
Original PR description
**Steps to reproduce:** - Install Accounting and l10n_de_reports - Switch to a German company - Create a 19% included tax - Create an invoice with the following line: * Product: [any] * Quantity:…
**Steps to reproduce:** - Install Accounting and l10n_de_reports - Switch to a German company - Create a 19% included tax - Create an invoice with the following line: * Product: [any] * Quantity: 1.00 * Price: 19.95 * Taxes: [the 19% included tax] - Confirm the invoice - Go to "Accounting / Reporting / Audit Reports / General Ledger" - Download "DATEV DATA (ZIP)" and check "EXTF_accounting_entries.csv" **Issue:** The line for the created invoice has an amount of 19.94 instead of 19.95. **Cause:** As the tax is included, the balance on the line is computed and rounded. When the report is generated, "compute_all" is executed with the rounded balance to retrieve the total price with the taxes. Because the balance used in "compute_all" has been rounded and therefore is not exactly the same than the original computed value, there can be a 0.01 difference. **Solution:** Use directly "price_total" field when available. opw-4191876 Forward-Port-Of: odoo/enterprise#71654 Forward-Port-Of: odoo/enterprise#70801
### Steps to reproduce the issue: 1. Activate Mexican localization 2. Create multiple Invoices in USD with different amounts (add the Invoice Date) 3. Send and Print them for the CFDI 4. Register a grouped Payment in MXN for those invoices 5. Go to one of the Invoices and click on Update Payments 6. Go to the CFDI tab and, on the Payment line, click on Force CFDI 7. On the Payment line, you should now be able to Download an XML document 8. In the document, the EquivalenciaDR attributes
Original PR description
### Steps to reproduce the issue: 1. Activate Mexican localization 2. Create multiple Invoices in USD with different amounts (add the Invoice Date) 3. Send and Print them for the CFDI 4. Register a…
### Steps to reproduce the issue: 1. Activate Mexican localization 2. Create multiple Invoices in USD with different amounts (add the Invoice Date) 3. Send and Print them for the CFDI 4. Register a grouped Payment in MXN for those invoices 5. Go to one of the Invoices and click on Update Payments 6. Go to the CFDI tab and, on the Payment line, click on Force CFDI 7. On the Payment line, you should now be able to Download an XML document 8. In the document, the EquivalenciaDR attributes should have the same values, which is not the case ### Explanation: When calculating the rate (which then is used in EquivalenciaDR) in `_l10n_mx_edi_add_payment_cfdi_values`, we are using amounts that have been rounded out, leading to rates that differ when aiming for certain decimal precisions. ### Fix reasoning: While `_get_conversion_rate` can be used to avoid the inconsistencies of the rounded amounts, it should not be used if the values do not match once they are converted, since the rate would then be wrong. opw-4090269 Forward-Port-Of: odoo/enterprise#70083
Steps to reproduce: - Install subscription and pos_sale_subscription - Create a sale order with a recurring product (a subscription) - Settle the sale order in the point of sale - The date of the next invoice is not updated To fix this issue, when the pos_order is paid, we will update the next invoice date of all sale orders in lines that are of type subscription. opw-4072950 Forward-Port-Of: odoo/enterprise#71204
Original PR description
Steps to reproduce: - Install subscription and pos_sale_subscription - Create a sale order with a recurring product (a subscription) - Settle the sale order in the point of sale - The date of the next invoice is not updated To fix this issue, when the pos_order is paid, we will update the next invoice date of all sale orders in lines that are of type subscription. opw-4072950 Forward-Port-Of: odoo/enterprise#71204
- Set up Avatax Credentials - In Fiscal Position "Automatic Tax Mapping (AvaTax)" enable "Automatic Detection" - Create an invoice with avatax product and register payment - Open payment entry and duplicate it Issue: Validation Error will raise "The following customer(s) need to have a zip, state and country when using Avatax:" This occurs because the system checks for customer data validity when duplicating the payment record but it should not occur opw-4119958 Forward-Port-Of: od
Original PR description
- Set up Avatax Credentials - In Fiscal Position "Automatic Tax Mapping (AvaTax)" enable "Automatic Detection" - Create an invoice with avatax product and register payment - Open payment entry and duplicate it Issue: Validation Error will raise "The following customer(s) need to have a zip, state and country when using Avatax:" This occurs because the system checks for customer data validity when duplicating the payment record but it should not occur opw-4119958 Forward-Port-Of: odoo/enterprise#69757
Added base localization package for Iraq 🇮🇶. It inludes the following: - Chart of Accounts - Taxes [task-3927924](https://www.odoo.com/web#model=project.task&id=3927924) Forward-Port-Of: odoo/enterprise#70457
Original PR description
Added base localization package for Iraq 🇮🇶. It inludes the following: - Chart of Accounts - Taxes [task-3927924](https://www.odoo.com/web#model=project.task&id=3927924) Forward-Port-Of: odoo/enterprise#70457
In this PR: - Simplified tax detail retrieval using Odoo ORM instead of complex SQL queries. - Directly mapped tax amounts from tax lines to improve accuracy. - Enhanced handling of journal items with 0% tax or no tax. Task ID: 4032825 Forward-Port-Of: odoo/enterprise#71721 Forward-Port-Of: odoo/enterprise#65983
Original PR description
In this PR: - Simplified tax detail retrieval using Odoo ORM instead of complex SQL queries. - Directly mapped tax amounts from tax lines to improve accuracy. - Enhanced handling of journal items with 0% tax or no tax. Task ID: 4032825 Forward-Port-Of: odoo/enterprise#71721 Forward-Port-Of: odoo/enterprise#65983
Commit 1 ======== Steps to reproduce the issue: - add comment to a Facebook/youtube post. - keeping the `Comments` dialog box open, try replying the same comment. - we get a traceback. Reason: - due to the missing comments data structure, we get an error when trying to add the new comment. - LOC responsible for the traceback: https://github.com/odoo/enterprise/blob/16.0/social/static/src/xml/social_templates.xml#L311 Fix: - since the comments data structure is not returned from t
Original PR description
Commit 1 ======== Steps to reproduce the issue: - add comment to a Facebook/youtube post. - keeping the `Comments` dialog box open, try replying the same comment. - we get a traceback. Reason: - due…
Commit 1 ======== Steps to reproduce the issue: - add comment to a Facebook/youtube post. - keeping the `Comments` dialog box open, try replying the same comment. - we get a traceback. Reason: - due to the missing comments data structure, we get an error when trying to add the new comment. - LOC responsible for the traceback: https://github.com/odoo/enterprise/blob/16.0/social/static/src/xml/social_templates.xml#L311 Fix: - since the comments data structure is not returned from the post request made to post the commnet, we manually ensure it exists. Commit 2 ======== [FIX] social: fix various issues 1. social_instagram: ISSUES: - create a post on the instagram platform with commenting turned off. - try commenting on it from Odoo. We get a traceback. - also, if we delete the post from the platform and then try to comment from Odoo, we get a traceback. REASON: - there is no existing implementation to check if commenting is enabled/disabled on the post. FIX: - we now check if commenting is enabled or not while trying to add comment on the post TECHNICAL NOTE: - the correct way to check if commenting on a post is enabled or not is to request a field named `is_comment_enabled`. - more details --- https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-media - but to save us from making an extra request, we simply catch the error received to when trying to add a comment. ================================================================================ 2. social_linkedin ISSUE: - delete an existing post from the linkedIn platform. - now try commenting on it from Odoo. We get a traceback. REASON: - The response received from the request to fetch the comments is not validated. FIX: - validating the response before further execution. Task-3759530 Forward-Port-Of: odoo/enterprise#71428 Forward-Port-Of: odoo/enterprise#67079
Reproduce the issue: - Turn on inter-company transactions to sync Sales and Purchases - Create an SO in one company for the second company - Chatter displays an incorrect message noting the record was created from the current company instead of the triggering company The issue: In the sale_order.py model of sale_purchase_inter_company_rules.py, the field of the current company was used instead of the field of the order's company. opw-4199979 Forward-Port-Of: odoo/enterprise#71624
Original PR description
Reproduce the issue: - Turn on inter-company transactions to sync Sales and Purchases - Create an SO in one company for the second company - Chatter displays an incorrect message noting the record was created from the current company instead of the triggering company The issue: In the sale_order.py model of sale_purchase_inter_company_rules.py, the field of the current company was used instead of the field of the order's company. opw-4199979 Forward-Port-Of: odoo/enterprise#71624
Problem: When the user enables allow_material on a project, they encounter a ValidationError when adding products on a task that has no sale order. Odoo tries to create a sale order for the task, but there is no company_id passed into the values. Solution: The company_id should be required when allow_material is enabled and the company should be computed once enabled. Steps to Reproduce on Runbot: 1. Install Sales, Field Service, Projects 2. Create a project and enable "Products on Task"
Original PR description
Problem: When the user enables allow_material on a project, they encounter a ValidationError when adding products on a task that has no sale order. Odoo tries to create a sale order for the task, but there is no company_id passed into the values. Solution: The company_id should be required when allow_material is enabled and the company should be computed once enabled. Steps to Reproduce on Runbot: 1. Install Sales, Field Service, Projects 2. Create a project and enable "Products on Task" 3. Create a task and assign a customer that has no sales order 4. Add products on the task and the ValidationError occurs opw-4000580 Forward-Port-Of: odoo/enterprise#68493
### Steps to reproduce: - Create a Helpdesk team with the options "Return" and "Repairs" - Create a product, sell 1 unit and deliver it. - Create a ticket for the Helpdesk Team, select the customer who bought the product > create and validate a return of the product to your warehouse through the ticket. - Create an associated repair order and add a line for an other product in the part tabs - Go back to the return picking #### > the product added to the repair was also added to the retur
Original PR description
### Steps to reproduce: - Create a Helpdesk team with the options "Return" and "Repairs" - Create a product, sell 1 unit and deliver it. - Create a ticket for the Helpdesk Team, select the customer…
### Steps to reproduce: - Create a Helpdesk team with the options "Return" and "Repairs" - Create a product, sell 1 unit and deliver it. - Create a ticket for the Helpdesk Team, select the customer who bought the product > create and validate a return of the product to your warehouse through the ticket. - Create an associated repair order and add a line for an other product in the part tabs - Go back to the return picking #### > the product added to the repair was also added to the return picking ### Cause of the issue: A `default_picking_id` is added to the context of the form view of the repair order by the `_prepare_repairs_default_value` of the `action_repair_order_form` so that it prefils the form of the repair: https://github.com/odoo/enterprise/blob/e74b05fa7a777053fd0e2cd5a265de365e1e434a/helpdesk_repair/models/helpdesk_ticket.py#L36-L40 https://github.com/odoo/enterprise/blob/e74b05fa7a777053fd0e2cd5a265de365e1e434a/helpdesk_repair/models/helpdesk_ticket.py#L55-L56 However, this values stays in the context and will be added as a default value for each of the move that will be creted from this view. ### Fix: Thanks to commit odoo/odoo@3898d61046cc0338082fdcbe0df282241372361a, we now have a default getter that can be used to associate a default picking id to the repair order when necessary without the need to put a `default_picking_id` in the context. opw-4159779 Forward-Port-Of: odoo/enterprise#71606 Forward-Port-Of: odoo/enterprise#71337
Before this commit: The information of message sender using email alias was not shown, instead only mail subject with name Odoobot was displayed in chatter. After this commit: The information of sender such as email address, name, subject of email and email body is not displayed in chatter along with the attachment. Task - 4008634 Forward-Port-Of: odoo/enterprise#66503
Original PR description
Before this commit: The information of message sender using email alias was not shown, instead only mail subject with name Odoobot was displayed in chatter. After this commit: The information of sender such as email address, name, subject of email and email body is not displayed in chatter along with the attachment. Task - 4008634 Forward-Port-Of: odoo/enterprise#66503
Open General Ledger Search for a non existing account/aline (ex. "1111111111111") Issue: All lines are shown This occurs because we update matched lines only if there is a match, otherwise we reset the filter opw-4160605 Forward-Port-Of: odoo/enterprise#69424
Original PR description
Open General Ledger Search for a non existing account/aline (ex. "1111111111111") Issue: All lines are shown This occurs because we update matched lines only if there is a match, otherwise we reset the filter opw-4160605 Forward-Port-Of: odoo/enterprise#69424
This commit adds support for the Bank of Italy currency rates. The Bank of Italy publishes the currency rates on its APIs, of which the most recent one is available at https://tassidicambio.bancaditalia.it/terzevalute-wf-web/rest/v1.0/latestRates. Documentation can be found at https://tassidicambio.bancaditalia.it/terzevalute-wf-ui-web/assets/files/Istruzioni_tecnico-operative.pdf. This is necessary for Italian law compliance, as the Bank of Italy is the only institution allowed to publis
Original PR description
This commit adds support for the Bank of Italy currency rates. The Bank of Italy publishes the currency rates on its APIs, of which the most recent one is available at https://tassidicambio.bancaditalia.it/terzevalute-wf-web/rest/v1.0/latestRates. Documentation can be found at https://tassidicambio.bancaditalia.it/terzevalute-wf-ui-web/assets/files/Istruzioni_tecnico-operative.pdf. This is necessary for Italian law compliance, as the Bank of Italy is the only institution allowed to publish currency rates in Italy. Forward-Port-Of: odoo/enterprise#55502
**Steps to reproduce:** - Install Accounting and l10n_cl_edi_boletas - Switch to a Chilean company (e.g. CL Company) - Create a branch company for it - Create a product with a tax from "ILA" group - Switch to the branch company - Create an invoice with the created product - Confirm it **Issue:** A traceback is raised while trying to fetch some tax groups: - self.env.ref(f'account.{cid}_tax_group_ila') - self.env.ref(f'account.{cid}_tax_group_retenciones') where {cid} is the id of th
Original PR description
**Steps to reproduce:** - Install Accounting and l10n_cl_edi_boletas - Switch to a Chilean company (e.g. CL Company) - Create a branch company for it - Create a product with a tax from "ILA" group -…
**Steps to reproduce:**
- Install Accounting and l10n_cl_edi_boletas
- Switch to a Chilean company (e.g. CL Company)
- Create a branch company for it
- Create a product with a tax from "ILA" group
- Switch to the branch company
- Create an invoice with the created product
- Confirm it
**Issue:**
A traceback is raised while trying to fetch some tax groups:
- self.env.ref(f'account.{cid}_tax_group_ila')
- self.env.ref(f'account.{cid}_tax_group_retenciones') where {cid} is the id of the branch company.
**Cause:**
There is no tax group defined in the branch company. The taxes and the tax groups are defined in the parent company.
**Solution:**
Do not raise an error if the XMLID cannot be found and also check tax groups from parent companies as the taxes could come from them.
Use the "ref" method defined in "account.chart.template" model that is doing it.
opw-4227241
Related comminity PR: https://github.com/odoo/odoo/pull/182798
Forward-Port-Of: odoo/enterprise#71476