Saturday, September 28, 2024
38 changes
Resolved issues and error corrections
SEPA credit transfer files no longer include duplicate issuer or LEI identifier entries. This helps prevent payment file validation issues and reduces the risk of bank rejections caused by repeated information.
Original PR description
Issr and LEI nodes were added twice, because they were handled both in the generic ISO20022 code and the SEPA Credit Transfer override.
Fixed an issue where batch validation and export buttons could stay hidden for bank journals without payment initiation configured when online payments were installed. This ensures accounting teams can validate and export batch payments from the affected journals as intended.
Original PR description
Before this commit, when account_online_payment was installed and no payment initiation was configured on a bank journal, the batch validation and export buttons never appeared on the batch payments made on this journal.
SEPA direct debit batch validation now handles missing setup information more gracefully, such as absent mandates or creditor identifiers. Users receive clearer, better-timed error messages instead of system crashes, making payment batch preparation easier to correct.
Original PR description
[IMP] account_sepa_direct_debit: better sequence of error messages The check validating the collection date was made before we've checked all mandates are in the right state, yet it depended on the…
[IMP] account_sepa_direct_debit: better sequence of error messages
The check validating the collection date was made before we've checked all mandates are in the right state, yet it depended on the mandates to check the minimum collection date available for this batch. We now make it so we first check all the mandates are valid, for usability.
===================================================
[FIX] account_sepa_direct_debit: Don't crash when validating a batch when the company has no creditor identifier
A check for that already existed in validate_batch, raising an error, but it wasn't called in time, and this caused a traceback because the super call had been moved at the beginning of the function.
===================================================
[IMP] account_sepa_direct_debit: clearer error message
===================================================
[FIX] account_sepa_direct_debit: don't crash when trying to generate a batch containing a single SDD payment without mandate
To reproduce:
1) Create a payment for some new partner, using SEPA Direct Debit. Make sure no mandate exists for this partner.
2) Add the payment created in 1 into a new batch. It must be the only payment in it
3) Try validating the batch
====> Traceback
This is because the query checking which mandates are used for the first time receives an empty tuple for its "mandate_ids" parameter. SQL tries to run "... IN ()", which crashes.
After fixing this bug, the same flow still crashes because we're trying to call max() on an empty sequence in validate_batch in order to compute the pre_notification_period. We fix that by adding a new check in order to redirect the user in case some payments of the batch are missing a mandate.This update corrects problems when registering SEPA Direct Debit payments, especially when creating payments for multiple customers at once. It also improves mandate visibility and ensures collection dates account for payments that are already fully paid, reducing payment processing errors.
Original PR description
This fixes issues that arose in 6aa473d, including: - Payments creations in batch from the list view do not handle the multiple partners case - The blue "Valid mandate available" banner does not show when you're not already using the SDD payment method
The trial balance report now opens correctly when horizontal groups are configured. This prevents users from hitting an error screen and keeps financial reporting accessible in affected setups.
Original PR description
Steps to reproduce - Create a horizontal group - open the trial balance -> Traceback Cause of the issue: a None value is set in the 'no_format' key of a line of the report.
Manufacturing order operation costs are now calculated more accurately when production starts or finishes without an expected duration. This improves cost reporting by using actual duration and the relevant machine, labor, and workcenter employee costs where appropriate.
Original PR description
This commit modifies the MO cost of operations. Now, when the production is started and if there is no duration expected on the operation, the mo cost of the operation will be the theorical cost of the real duration (i.e. it will be the result of machine + labour cost for that duration). When the production is done, the same behaviour will be applied, but without the labour cost. The timesheet cost of an operator for the MO cost column is now computed based on the operation's workcenter employee cost.
This fix ensures document access updates run correctly when performed with elevated system rights. It prevents permission checks from incorrectly blocking internal access updates, improving reliability for document sharing and membership changes.
Original PR description
Purpose ======= Skip user permission check, when calling `_action_update_access` in SUDO, like it has been done for `_action_update_members`
Portal users can now preview documents without the Documents portal crashing. This fix improves reliability for external users accessing shared documents.
Original PR description
The commit prevents the Documents portal from crashing when portal users try to preview a document. We prevent the client from raising an error when trying to access an undefined available embedded actions records (not available for portal users.) task-3373836
Subscription sales orders now show only one Create Invoice button after confirmation. This reduces confusion for users and helps keep the invoicing workflow clear and consistent.
Original PR description
Version: - 18.0 Steps to reproduce: - create a subscription sale order - confirm the sale order Issue: - two create invoice button are visible Cause: - The conditions for showing the two "Create Invoice" buttons overlapped, making both appear at the same time Solution: - Adjusted button conditions to ensure only one "Create Invoice" button is displayed when no invoice is created
This fixes an error that could occur when validating multiple payment batches at once. SEPA direct debit batches are now checked correctly, helping prevent failed payment processing workflows.
Original PR description
_check_minimal_collection_date is written in a way where it will break if multiple batches are in self. We fix this by changing the way we check if the constrains should run: we will check the batches in self and only run it if any batch is a sepa batch; and only run it with these.
Reloading an open spreadsheet in Documents no longer sends users back to the main Documents view. This keeps users in the spreadsheet they were working on and avoids workflow interruption.
Original PR description
Steps to reproduce: - open a spreadsheet - reload the page => you're redirected to the main Documents kanban view The url of a spreadsheet looks like `http://localhost:8069/odoo/documents/spreadsheet/26` The code here thinks `spreadsheet/26` is a document access_token
Publicly shared spreadsheets now reload with the latest saved changes instead of reverting to the original empty or outdated version. This prevents viewers using a shared link from seeing missing content after the owner leaves the spreadsheet, improving reliability for shared documents.
Original PR description
Steps to reproduce: - (as an internal user) - create a new empty spreadsheet - do a couple of changes - Share the spreadsheet Anyone with the link: Viewer - open the link in an new incognito tab - (everything fine at this point) - now, leave the spreadsheet in the backend - reload the public spreadsheet page => everything disapeared When the internal user leaves the spreadsheet, a new snapshot is created and pending revisions are archived. When the public user reloads, the data comes from the field `spreadsheet_data` which is the initial data (not the latest snapshot) and doesn't get any revisions (they are archived) I also added a test which gets pending revisions.
Saving a new favourite view from the Project control panel no longer triggers an error. This helps users save their preferred task views reliably without interruption.
Original PR description
…in the control panel When saving a new favourire view from the control panel a traceback would appear. It was because the domain was not parsed correctly in search_model.js when calling the getDomain method from the _getIrFilterDescription method. It was not parsed correctly because 2 parameters given to the method were lost because the getDomain method was overwritten in HighlightProjectTaskSearchModel. After passing the parameters to the super call inside the overwritten getDomain method, the traceback is fixed. task-4207512