Monday, September 23, 2024
11 changes · 17.0
Enhancements to existing features
The payment app now includes tools to generate realistic sample payment records for testing and demonstrations. This helps teams validate payment-related workflows more easily without manually creating large amounts of data.
Resolved issues and error corrections
This fix prevents an error when processing Saudi electronic invoices that include retention tax after a down payment. Businesses can complete these invoice workflows without a system crash, improving reliability for compliant invoicing.
Original PR description
Steps: - Create a negative retention tax `T` - Create, confirm and receive a SO - Create and confirm a downpayment - Create a regular draft invoice for the rest, and add tax `T` to the product line, confirm and process edi -> Traceback: list index out of range This is because we override `_get_tax_category_list` to filter the retention taxes that have no list of categories, therefore we try to access an empty dict. Ticket [link](https://www.odoo.com/odoo/project/967/tasks/4139894) opw-4139894
Miscellaneous changes
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
This fixes an issue on customer and partner website pages where reference images could stretch vertically when nearby text was long. Images now fit their available width without becoming elongated, improving the page’s visual presentation.
Original PR description
Current behaviour: --- When going to /customers or /partners and selecting a partner, in the References section, if the text is too long, the image will be taking the text height Expected behaviour: --- The image fits the width but not the height Steps to reproduce: --- 1. Go to Website 2. Go to /customers 3. Select a partner that has references 4. Open the editor (top left) 5. Add long text to one of the reference 6. The image will match the text height Cause of the issue: --- Caused by: https://github.com/odoo/odoo/commit/1efdb96227dab8f1b3bcb8e8854dbad5dd874e69 Fix: --- Removed h-100 and added w-100 opw-3970462 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents an error when creating or editing payment terms that use the end-of-month option without a specified day. Users now receive a proper validation message instead of encountering a system crash, improving reliability during accounting setup.
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
The forum moderation screen now properly responds when a flagged post is approved. This removes a confusing dead button and hides the warning banner once validation is complete, helping moderators process flagged content smoothly.
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
This fixes an intermittent issue in automated website editor testing where snippets could be tested before the editor was ready. The change helps reduce false test failures and supports more stable website development, without changing the customer-facing website experience.
Original PR description
A race condition appears since version 16.3 (1) and on all versions since then. Each time it's on a different snippet, but always on the same step (`Edit XXX snippet`). It seems to be because the drop happens before the dropzones have had time to show, meaning that the snippet never appears in the DOM. runbot-72198 (master) runbot-71794 (17.2) runbot-71532 (17.2) runbot-71245 (17.2) runbot-70553 (master) runbot-70298 (17.3) runbot-69982 (17.3) runbot-68980 (16.3) runbot-68967 (17.0) runbot-68966 (17.0) runbot-68952 (17.2) runbot-68055 (17.2)
The Bank Reconciliation Report now opens correctly even when a bank transaction has a zero amount. This prevents an error that could block users from viewing reconciliation information after recording such transactions.
Original PR description
Currently, an error occurs if a user does a bank transaction with a zero amount and open a bank reconciliation report. Step to produce: - Install the 'account_reports' module. - Turn on debugger mode…
Currently, an error occurs if a user does a bank transaction with a zero amount and open a bank reconciliation report.
Step to produce:
- Install the 'account_reports' module.
- Turn on debugger mode (Not need this step from saas-17.2).
- Navigate to Accounting / Configuration / Management / Accounting Reports.
- Open Bank Reconciliation Report, Click on action button to create a menu item.
- Go to Dashboard. Click on 'New Transaction' in a bank, add a label, and ensure the amount is zero.
- Click on the Reporting menu, and open 'Bank Reconciliation Report'.
Stack Trace:
```
ZeroDivisionError: float division by zero
File "odoo/http.py", line 2383, in __call__
response = request._serve_db()
File "odoo/http.py", line 1913, in _serve_db
return self._transactioning(
File "odoo/http.py", line 1976, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1943, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2187, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 227, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 757, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 35, in call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 459, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "home/odoo/src/enterprise/saas-17.4/account_reports/models/account_report.py", line 4859, in get_report_information
all_column_groups_expression_totals = self._compute_expression_totals_for_each_column_group(self.line_ids.expression_ids, options, warnings=warnings)
File "home/odoo/src/enterprise/saas-17.4/account_reports/models/account_report.py", line 2827, in _compute_expression_totals_for_each_column_group
current_group_expression_totals = self._compute_expression_totals_for_single_column_group(
File "home/odoo/src/enterprise/saas-17.4/account_reports/models/account_report.py", line 2990, in _compute_expression_totals_for_single_column_group
formula_results = self._compute_formula_batch(column_group_options, engine, date_scope, formulas_dict, current_groupby, next_groupby,
File "home/odoo/src/enterprise/saas-17.4/account_reports/models/account_report.py", line 3340, in _compute_formula_batch
return getattr(self, engine_function_name)(
File "home/odoo/src/enterprise/saas-17.4/account_reports/models/account_report.py", line 3826, in _compute_formula_batch_with_engine_custom
rslt[(formula, expressions)] = custom_engine_function(
File "home/odoo/src/enterprise/saas-17.4/account_reports/models/bank_reconciliation_report.py", line 112, in _report_custom_engine_transaction_without_statement_amount
return self._bank_reconciliation_report_custom_engine_common(options, 'all', current_groupby, False, unreconciled=False)
File "home/odoo/src/enterprise/saas-17.4/account_reports/models/bank_reconciliation_report.py", line 229, in _bank_reconciliation_report_custom_engine_common
return self._compute_result(query_res_lines, current_groupby, build_result_dict)
File "home/odoo/src/enterprise/saas-17.4/account_reports/models/bank_reconciliation_report.py", line 328, in _compute_result
return build_result_dict(query_res_lines)
File "home/odoo/src/enterprise/saas-17.4/account_reports/models/bank_reconciliation_report.py", line 156, in build_result_dict
reconcile_rate = abs(res['suspense_balance']) / (abs(res['suspense_balance']) + abs(res['other_balance']))
```
An error occurs when the system tries to divide a float number by zero at [1].
Link [1]:https://github.com/odoo/enterprise/blob/dbe94f71121851babeb1831814ccc3349301430e/account_reports/models/bank_reconciliation_report.py#L156
To handle this issue, Add a condition to ensure that if 'suspense_balance' is zero, return the amount as zero.
Sentry-5827014948The Journal Report has been updated to remove the "Hierarchy and Subtotals" filter option, which was not functional for this report since account codes are never displayed. This cleanup removes a confusing filter that had no effect, improving the user experience by eliminating unnecessary options.
Original PR description
The Journal Report never shows account codes. The "Hierarchy and Subtotals" filter hence has no effect when ticked. It shouldn't be available on that report.
This update corrects the visual alignment of staff member cards when displaying a single user in an unpublished appointment. The cards now properly align with the "Unpublished" label, improving the overall appearance and consistency of the appointment display.
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
Steps to Reproduce : - Toggle Studio from Odoo Dashboard - New App options and other apps will not be clearly visible at 100% zoom. Expected behavior: - New App options and other apps will be clearly visible. Task-3845561 Forward-Port-Of: odoo/enterprise#67356
Original PR description
Steps to Reproduce : - Toggle Studio from Odoo Dashboard - New App options and other apps will not be clearly visible at 100% zoom. Expected behavior: - New App options and other apps will be clearly visible. Task-3845561 Forward-Port-Of: odoo/enterprise#67356