Monday, September 23, 2024
14 changes · saas-17.2
Resolved issues and error corrections
Creating a new course and using the Add tag button on the website no longer causes an error page. This improves reliability for course managers setting up tags for the first time.
Original PR description
Steps to reproduce: 1. Create a new course 2. Go to front-end. 3. Click on the 'Add tag' button. 4. Throws a traceback Technical Reason: When creating a website slide for the first time, channelTagIds are undefined, causing JSON.parse to throw an error. After this Commit: No traceback will occur. Task-4154899
Miscellaneous changes
The titles in calendar sync and ICS files were irrelevant for resource appointment events because of the custom titles created for appointments. This PR fixes the issue of incorrect titles in calendar sync and ICS files. Task-3919395 Forward-Port-Of: odoo/enterprise#69041
Original PR description
The titles in calendar sync and ICS files were irrelevant for resource appointment events because of the custom titles created for appointments. This PR fixes the issue of incorrect titles in calendar sync and ICS files. Task-3919395 Forward-Port-Of: odoo/enterprise#69041
Fix staff user cards alignment when there is only 1 user and the appointment is unpublished. The card must be aligned with the "Unpublished" text. Task-4196414 Forward-Port-Of: odoo/enterprise#70309
Original PR description
Fix staff user cards alignment when there is only 1 user and the appointment is unpublished. The card must be aligned with the "Unpublished" text. Task-4196414 Forward-Port-Of: odoo/enterprise#70309
Unfolding a report line calls an expand function which is responsible to run an SQL query in order to compute the sub-lines (typically the result of a groupby, but it can be something else on custom report). Not flushing was a mistake and could lead to inconsitencies. Forward-Port-Of: odoo/enterprise#70299 Forward-Port-Of: odoo/enterprise#70187
Original PR description
Unfolding a report line calls an expand function which is responsible to run an SQL query in order to compute the sub-lines (typically the result of a groupby, but it can be something else on custom report). Not flushing was a mistake and could lead to inconsitencies. Forward-Port-Of: odoo/enterprise#70299 Forward-Port-Of: odoo/enterprise#70187
### Steps to reproduce the issue: 1. Create a Customer Invoice with two product lines 2. Give a negative price to one of those lines, the total must remain positive 3. Add distinct analytic accounts to each line's analytic_distribution 4. Add a payment term with applicable early discount 5. Confirm and Register Payment 6. Go to the Journal Entry related to the Invoice 7. Check the Invert Tags (developer mode), one of them is set to True, which should not be the case ### Explanation:
Original PR description
### Steps to reproduce the issue: 1. Create a Customer Invoice with two product lines 2. Give a negative price to one of those lines, the total must remain positive 3. Add distinct analytic accounts…
### Steps to reproduce the issue: 1. Create a Customer Invoice with two product lines 2. Give a negative price to one of those lines, the total must remain positive 3. Add distinct analytic accounts to each line's analytic_distribution 4. Add a payment term with applicable early discount 5. Confirm and Register Payment 6. Go to the Journal Entry related to the Invoice 7. Check the Invert Tags (developer mode), one of them is set to True, which should not be the case ### Explanation: In the current situation, `_compute_is_refund` and `_compute_tax_tag_invert` will assign a value to `tax_tag_invert` depending on the `account.move.line.balance`. Because of the distinct analytic accounts, the negative line is separated from the others and because of the logic behind the computes, `tax_tag_invert` is set to the opposite value. ### Fix reasoning: While `account.payment` are restricted to `account.move` with the same direction, `account.bank.statement.line` are not. In the current case, the affected lines all have `tax_ids` values. Thanks to this, we can use `account.tax.type_tax_use` independently of the line's balance to differentiate in and out transactions and assign `tax_tag_invert` consistently. We must also consider the case where `account.bank.statement.line`. To target the Early Payment Discount lines, we will separate them from the other values using `display_type`. opw-3989174 Forward-Port-Of: odoo/enterprise#70328 Forward-Port-Of: odoo/enterprise#69835
### Issue Invoices using consumable intra-community taxes are currently counted twice in the EC Sales Report. ### Steps to Reproduce 1. Install `l10n_at_reports`. 2. Switch to an Austrian company. 3. Create and post an invoice using a consumable intra-community tax (e.g., 'UST_017 IGL 0% (ohne Art. 6 Abs. 1)'). 4. Open the EC Sales Report. You will observe that the invoice amount is counted twice. ### Cause The system groups values in the EC Sales Report by tax tags. A previ
Original PR description
### Issue Invoices using consumable intra-community taxes are currently counted twice in the EC Sales Report. ### Steps to Reproduce 1. Install `l10n_at_reports`. 2. Switch to an Austrian company. 3.…
### Issue Invoices using consumable intra-community taxes are currently counted twice in the EC Sales Report. ### Steps to Reproduce 1. Install `l10n_at_reports`. 2. Switch to an Austrian company. 3. Create and post an invoice using a consumable intra-community tax (e.g., 'UST_017 IGL 0% (ohne Art. 6 Abs. 1)'). 4. Open the EC Sales Report. You will observe that the invoice amount is counted twice. ### Cause The system groups values in the EC Sales Report by tax tags. A previous commit (odoo/odoo@f937e915dfd64a9b66dd9f7d7e3d19607d088f28) introduced changes to certain taxes (e.g., 'UST_017 IGL 0% (ohne Art. 6 Abs. 1)'), which caused multiple tax tags counted in the EC Sales report to be applied to the same line. This grouping behavior leads to double counting. ### Fix Repartition lines with the `tax_report_line_l10n_at_tva_line_4_8_tag` also contain the `tax_report_line_l10n_at_tva_line_3_zm_igl_tag`. To avoid double counting, the EC Sales Report now only checks for the latter tag. opw-4174429 Forward-Port-Of: odoo/enterprise#69941
A patch was backported in python 3.12.3-1ubuntu0.2 on ubuntu noble breaking the address parsing. Odoo relies on the non strict behavior but the strict was introduced as the default one. This commit conditionally checks if the patch is present and reverts it to the previous behavior. test_email_split unittest was used for testing in both version ( 3.12.3-1ubuntu0.1 and 3.12.3-1ubuntu0.2)3.10.3-ubuntu0.1 References: https://launchpad.net/ubuntu/+source/python3.12/3.12.3-1ubuntu0.2 Ba
Original PR description
A patch was backported in python 3.12.3-1ubuntu0.2 on ubuntu noble breaking the address parsing. Odoo relies on the non strict behavior but the strict was introduced as the default one. This commit conditionally checks if the patch is present and reverts it to the previous behavior. test_email_split unittest was used for testing in both version ( 3.12.3-1ubuntu0.1 and 3.12.3-1ubuntu0.2)3.10.3-ubuntu0.1 References: https://launchpad.net/ubuntu/+source/python3.12/3.12.3-1ubuntu0.2 Backported patch: python/cpython@4a153a1d3b18803a684cd1bcc2cdf3ede3dbae19 Forward-Port-Of: odoo/odoo#180703
### Steps to reproduce the issue: 1. Create a Customer Invoice with two product lines 2. Give a negative price to one of those lines, the total must remain positive 3. Add distinct analytic accounts to each line's analytic_distribution 4. Add a payment term with applicable early discount 5. Confirm and Register Payment 6. Go to the Journal Entry related to the Invoice 7. Check the Invert Tags (developer mode), one of them is set to True, which should not be the case ### Explanation:
Original PR description
### Steps to reproduce the issue: 1. Create a Customer Invoice with two product lines 2. Give a negative price to one of those lines, the total must remain positive 3. Add distinct analytic accounts…
### Steps to reproduce the issue: 1. Create a Customer Invoice with two product lines 2. Give a negative price to one of those lines, the total must remain positive 3. Add distinct analytic accounts to each line's analytic_distribution 4. Add a payment term with applicable early discount 5. Confirm and Register Payment 6. Go to the Journal Entry related to the Invoice 7. Check the Invert Tags (developer mode), one of them is set to True, which should not be the case ### Explanation: In the current situation, `_compute_is_refund` and `_compute_tax_tag_invert` will assign a value to `tax_tag_invert` depending on the `account.move.line.balance`. Because of the distinct analytic accounts, the negative line is separated from the others and because of the logic behind the computes, `tax_tag_invert` is set to the opposite value. ### Fix reasoning: While `account.payment` are restricted to `account.move` with the same direction, `account.bank.statement.line` are not. In the current case, the affected lines all have `tax_ids` values. Thanks to this, we can use `account.tax.type_tax_use` independently of the line's balance to differentiate in and out transactions and assign `tax_tag_invert` consistently. We must also consider the case where `account.bank.statement.line`. To target the Early Payment Discount lines, we will separate them from the other values using `display_type`. opw-3989174 Forward-Port-Of: odoo/odoo#180797 Forward-Port-Of: odoo/odoo#170499
Steps to reproduce: - install only `timesheet_grid` - run `test_analytic_account_branches` Issue: An access error is raised Cause: https://github.com/odoo/odoo/blob/8029b467dacaf9e34b21db52b148a2963efb29e4/addons/hr_timesheet/security/hr_timesheet_security.xml#L33-L44 So the analytic line should have a project_id set. Solution: Unlkink the groupe if existing runbot-97783 Forward-Port-Of: odoo/odoo#180001
Original PR description
Steps to reproduce: - install only `timesheet_grid` - run `test_analytic_account_branches` Issue: An access error is raised Cause: https://github.com/odoo/odoo/blob/8029b467dacaf9e34b21db52b148a2963efb29e4/addons/hr_timesheet/security/hr_timesheet_security.xml#L33-L44 So the analytic line should have a project_id set. Solution: Unlkink the groupe if existing runbot-97783 Forward-Port-Of: odoo/odoo#180001
Steps to reproduce: - Time off > Configuration > Time off types > New - Set 'Requires Allocation' to 'No Limit' - Takes leaves of this type - Set 'Requires Allocation' to 'Yes' - Approvals > Allocations > New > Select your time off type - Edit validity period to start after the leaves you took - Confirm > Click on the newly created allocation - Displays -X remaining out of Y The allocations try to cover leaves taken before the requirement was changed, when we'd expect leaves taken und
Original PR description
Steps to reproduce: - Time off > Configuration > Time off types > New - Set 'Requires Allocation' to 'No Limit' - Takes leaves of this type - Set 'Requires Allocation' to 'Yes' - Approvals >…
Steps to reproduce: - Time off > Configuration > Time off types > New - Set 'Requires Allocation' to 'No Limit' - Takes leaves of this type - Set 'Requires Allocation' to 'Yes' - Approvals > Allocations > New > Select your time off type - Edit validity period to start after the leaves you took - Confirm > Click on the newly created allocation - Displays -X remaining out of Y The allocations try to cover leaves taken before the requirement was changed, when we'd expect leaves taken under No Limit mode not to require any. This is problematic because it can happen with past leaves as well, which we cannot get rid of on production databases. Since Odoo does not track which allocation requirement mode leave are taken under nor the date and content of edits to that parameter, we cannot tell apart leaves of the same type when distributing allocated days. Tracking either would certainly require edits to the model which rules out stable versions, so instead the edits to allocation requirement should be restricted in favor of creating new time off types when we want to switch that parameter. opw-3919886 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180773 Forward-Port-Of: odoo/odoo#180566
Avoid sending more emails than necessary at events We want to make sure that in all mails sent from the calendar event, the recipients are only the ones we want and avoid sending them to 'indirect' followers. Examples use case: - Subtype Notes with Default checked. - Several Attendees set (including several users). - Each invitation email must be sent only to the corresponding attendee, no one else. - Each event reminder email must reach only the corresponding attendee, no one else.
Original PR description
Avoid sending more emails than necessary at events We want to make sure that in all mails sent from the calendar event, the recipients are only the ones we want and avoid sending them to 'indirect'…
Avoid sending more emails than necessary at events We want to make sure that in all mails sent from the calendar event, the recipients are only the ones we want and avoid sending them to 'indirect' followers. Examples use case: - Subtype Notes with Default checked. - Several Attendees set (including several users). - Each invitation email must be sent only to the corresponding attendee, no one else. - Each event reminder email must reach only the corresponding attendee, no one else. Example use case in runbot v16 **before** this change.  Example use case **after** this change.  @Tecnativa TT50302 Ping @pedrobaeza and @carlosdauden --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180164 Forward-Port-Of: odoo/odoo#174494
The issue was recently fixed with a sudo, but it allowed standard salesman/users to create discount products and update the company, which ideally shouldn't happen. Since a single use of the wizard by the admin will properly create the discount product, we prefer to encourage the user to request the admin to do it first instead of bypassing the standard access rights. opw-4048403 Forward-Port-Of: odoo/odoo#180221
Original PR description
The issue was recently fixed with a sudo, but it allowed standard salesman/users to create discount products and update the company, which ideally shouldn't happen. Since a single use of the wizard by the admin will properly create the discount product, we prefer to encourage the user to request the admin to do it first instead of bypassing the standard access rights. opw-4048403 Forward-Port-Of: odoo/odoo#180221
Purpose ======= Fix the validation button of a flagged post that wasn't doing anything when clicking on it. Specification ============= Adding a missing css class named 'o_wforum_flag_alert' that was forgotten during the front-end redesign odoo/odoo@21531bd9b9ac24bec57665432d9c18c807c31b44. The alert banner is now correctly hidden at validation. Task-4163955 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179263
Original PR description
Purpose ======= Fix the validation button of a flagged post that wasn't doing anything when clicking on it. Specification ============= Adding a missing css class named 'o_wforum_flag_alert' that was forgotten during the front-end redesign odoo/odoo@21531bd9b9ac24bec57665432d9c18c807c31b44. The alert banner is now correctly hidden at validation. Task-4163955 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179263
This error occurs in ``Payment Terms`` when the ``Days end of month`` field is selected in the payment terms line, but the ``days`` field is left empty. Steps to reproduce: - Install ``account`` module - Go to ``Payment Terms`` - Create a new one and select ``Days end of month on the`` payment terms line and empty the days Traceback: `` AttributeError: 'bool' object has no attribute 'isnumeric'`` At [1] ``days_next_month`` in the record is getting as ``false``. This commit will
Original PR description
This error occurs in ``Payment Terms`` when the ``Days end of month`` field is selected in the payment terms line, but the ``days`` field is left empty. Steps to reproduce: - Install ``account`` module - Go to ``Payment Terms`` - Create a new one and select ``Days end of month on the`` payment terms line and empty the days Traceback: `` AttributeError: 'bool' object has no attribute 'isnumeric'`` At [1] ``days_next_month`` in the record is getting as ``false``. This commit will fix the above error by checking that ``days_next_month`` is present in the record otherwise it will raise an error. [1]- https://github.com/odoo/odoo/blob/a800b5dc2a7444c1f4944dd99509d36096bc797f/addons/account_payment_term/models/account_payment_term.py#L26 Sentry-5583615279 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172260