Daily updates from Odoo
Wednesday, July 17, 2024
28 changes · master
Enhancements to existing features
The addenda selection for Mexican electronic invoicing is now shown in the Accounting area of a contact instead of Sales. This makes the setting easier to find where users expect invoice-related configuration to be.
Original PR description
Users (both technical and non-technical) expect to see the configuration for addendas under Accounting as they are more related to electronic invoicing than sale orders
Email addresses are now formatted more consistently across Helpdesk, Appraisals, and Sign workflows. This reduces the chance of malformed recipient details in outgoing messages and helps business communications look cleaner and more reliable.
Original PR description
odoo/odoo#173467
The WhatsApp integration now loads part of its discussion app setup from the correct place. This helps keep the app structure cleaner and reduces the risk of loading issues for users interacting through WhatsApp-related conversations.
Original PR description
Part of task-3972988 community: https://github.com/odoo/odoo/pull/171576
The US NACHA payment module was updated to meet current automated code quality checks. This reduces friction for future fixes and maintenance without changing business functionality.
Original PR description
"".format() is no longer allowed. This is enforced by the check_style_ruff step in runbot. Every bugfix touching these lines requires an exception from the runbot team. This converts every string formatting operation in l10n_us_payment_nacha to an f-string. Every bugfix will now conflict, but at least we won't have to bother the runbot team. This was done automatically with flynt [1], which as far as I can tell did a perfect job. Fixing that makes other errors pop up (e.g. FURB113 to replace multiple append() calls with a single extend()). This commit fixes those as well. The remaining ones in the module are easy and were done as well (removing # coding and super() arguments). [1] https://pypi.org/project/flynt/
Features or functions removed from Odoo
The accounting follow-up area no longer keeps two obsolete date fields that were no longer needed. This simplifies the underlying data model without changing day-to-day user workflows.
Original PR description
Removing useless fields `last_followup_date` and `next_action_date` not needed since 61d81a378482e790c78f5084c89d8271f3e35858
Code cleanup and technical improvements
This change removes an obsolete testing setting that is no longer used in guided web tour steps. It simplifies maintenance across several Odoo apps without changing day-to-day user functionality.
Original PR description
Until 6dbdc8c69eab2aaa6e9652a70254458fe466f791, allowDisabled key in step tour structure is no longer used. In this commit, we remove dead code. task~3974087 https://github.com/odoo/odoo/pull/173198
This update simplifies how guided tour steps are defined in several Odoo modules by removing an alternative trigger field and using standard selectors instead. It is an internal cleanup that should make future maintenance easier without changing the user experience.
Original PR description
In this commit, we remove the alt_trigger key from the structure of a tour step. For all cases in codebase, only adding a comma to selector is enough. task~3974087 https://github.com/odoo/odoo/pull/173096
This update prepares automated business workflow tests for a simpler way to identify pop-up windows. It reduces duplicated test configuration across several apps without changing the user-facing behavior of those apps.
Original PR description
In order to simplify the structure of a tour step, it was decided to remove the "in_modal" key. The purpose of this key is to search for the trigger in a modal element. But actually you just need to add ".modal" to the selector. This functionality therefore really has little added value. That's why we're removing it. In this commit, we prepare the ground to be able to remove this functionality by adding .modal to the selectors and forcing the fact of not looking in a modal (in_modal: false) otherwise that would be duplicative. task~3974087 https://github.com/odoo/odoo/pull/172081
Miscellaneous changes
With https://github.com/odoo/odoo/commit/2b46bfdf63b316ffb5fd57b57b3c6aa16c7d0ba6, the prop type of the View component can no longer be a js_class. Here we fix the component CustomAppointmentFormViewDialog by using the new View prop jsClass introduced in https://github.com/odoo/odoo/pull/173491. Forward-Port-Of: odoo/enterprise#66826
Original PR description
With https://github.com/odoo/odoo/commit/2b46bfdf63b316ffb5fd57b57b3c6aa16c7d0ba6, the prop type of the View component can no longer be a js_class. Here we fix the component CustomAppointmentFormViewDialog by using the new View prop jsClass introduced in https://github.com/odoo/odoo/pull/173491. Forward-Port-Of: odoo/enterprise#66826
Base quantity should correspond to line quantity instead of being hardcoded to 1. task-4038532 Forward-Port-Of: odoo/enterprise#66575
Original PR description
Base quantity should correspond to line quantity instead of being hardcoded to 1. task-4038532 Forward-Port-Of: odoo/enterprise#66575
[IMP] account_online_synchronization: disable auto sync on interactive connection 1- Some providers have bank institutions that are "interactive". In a general way, interactive institution means that users have to refresh their connection with the provider to ensure that they can still have an access to the bank. 2- It's a nightmare for users and for support as the connections keep failing in error. - Disable the automatic synchronization flow on bank sync connections with an interact
Original PR description
[IMP] account_online_synchronization: disable auto sync on interactive connection 1- Some providers have bank institutions that are "interactive". In a general way, interactive institution means that users have to refresh their connection with the provider to ensure that they can still have an access to the bank. 2- It's a nightmare for users and for support as the connections keep failing in error. - Disable the automatic synchronization flow on bank sync connections with an interactive providers and a message should be displayed explaining the situation to users. task-id#3887751 odoofin-pr#https://github.com/odoo/odoofin/pull/297 Forward-Port-Of: odoo/enterprise#63926
…dated on template change" This causes issues as composer computed value is now always forced and user value is ignored. A better fix will come soon. This reverts commit 8b7829469907b39d048a328dd3a939f1c3e1d21c. Task-3996935 Forward-Port-Of: odoo/enterprise#66727
Original PR description
…dated on template change" This causes issues as composer computed value is now always forced and user value is ignored. A better fix will come soon. This reverts commit 8b7829469907b39d048a328dd3a939f1c3e1d21c. Task-3996935 Forward-Port-Of: odoo/enterprise#66727
COM Branch : https://github.com/odoo/odoo/pull/172264 As we have some additional queries in event_sale due to a change in a @depend that trigger the compute method of the registrations status, I update the query count from 2230 to 2304 to match new query performances. Forward-Port-Of: odoo/enterprise#66648
Original PR description
COM Branch : https://github.com/odoo/odoo/pull/172264 As we have some additional queries in event_sale due to a change in a @depend that trigger the compute method of the registrations status, I update the query count from 2230 to 2304 to match new query performances. Forward-Port-Of: odoo/enterprise#66648
Steps to reproduce: 1. Open document. 2. Select a doc. > Preview the doc. 3. Replace it with another file. 4. Preview the replaced doc , Now restore the doc from the bottom of the inspector. The preview is not opened and updated with the restore file. After this Commit: The preview must be closed and updated as per the restored file. Forward-Port-Of: odoo/enterprise#66657 Forward-Port-Of: odoo/enterprise#65801
Original PR description
Steps to reproduce: 1. Open document. 2. Select a doc. > Preview the doc. 3. Replace it with another file. 4. Preview the replaced doc , Now restore the doc from the bottom of the inspector. The preview is not opened and updated with the restore file. After this Commit: The preview must be closed and updated as per the restored file. Forward-Port-Of: odoo/enterprise#66657 Forward-Port-Of: odoo/enterprise#65801
Currently, accounts `7632/9` are not taken into account in the Belgian profit and loss report. opw-4037481 Forward-Port-Of: odoo/enterprise#66666 Forward-Port-Of: odoo/enterprise#66343
Original PR description
Currently, accounts `7632/9` are not taken into account in the Belgian profit and loss report. opw-4037481 Forward-Port-Of: odoo/enterprise#66666 Forward-Port-Of: odoo/enterprise#66343
With https://github.com/odoo/odoo/commit/f1749d3299957e2949e0b78653266a5397bb213c, if a js_class is found in the arch but not in the view registry, we no longer fallback to the basic view type and a crash occurs. Here we simply remove a js_class from an arch to avoid such a crash. Build 65543538 Forward-Port-Of: odoo/enterprise#66718
Original PR description
With https://github.com/odoo/odoo/commit/f1749d3299957e2949e0b78653266a5397bb213c, if a js_class is found in the arch but not in the view registry, we no longer fallback to the basic view type and a crash occurs. Here we simply remove a js_class from an arch to avoid such a crash. Build 65543538 Forward-Port-Of: odoo/enterprise#66718
The aim of this commit is fixing the filtering of transactions when transactions have an empty identifier. Even if it's shouldn't be the case, it happens that providers return transactions without an identifier. In this case, it will always importe the first transaction and not the others as they have a similar id (an empty string). Now, we ignore in the filter these transactions. opw-4014171 Forward-Port-Of: odoo/enterprise#66550 Forward-Port-Of: odoo/enterprise#66473
Original PR description
The aim of this commit is fixing the filtering of transactions when transactions have an empty identifier. Even if it's shouldn't be the case, it happens that providers return transactions without an identifier. In this case, it will always importe the first transaction and not the others as they have a similar id (an empty string). Now, we ignore in the filter these transactions. opw-4014171 Forward-Port-Of: odoo/enterprise#66550 Forward-Port-Of: odoo/enterprise#66473
Before this PR: In the sign module, there are inconsistencies with the alignment of texts and icons, in both the portal and backend interfaces. After this PR: This fix addresses alignment issues and ensures consistency between the portal and backend interfaces. Now, texts and icons in the sign appear aligned and consistent across both interfaces. Forward-Port-Of: odoo/enterprise#66699 Forward-Port-Of: odoo/enterprise#63983
Original PR description
Before this PR: In the sign module, there are inconsistencies with the alignment of texts and icons, in both the portal and backend interfaces. After this PR: This fix addresses alignment issues and ensures consistency between the portal and backend interfaces. Now, texts and icons in the sign appear aligned and consistent across both interfaces. Forward-Port-Of: odoo/enterprise#66699 Forward-Port-Of: odoo/enterprise#63983
Steps to reproduce: 1. Install pos_restaurant_appointment. 2. Start a restaurant session. 3. Find and click the "Manage Bookings" button from the top-right burger menu. -> Whole app crashes. This is because the button is trying to open a dialog containing a custom gantt view (`appointment_booking_gantt`) that is not loaded when opening pos. This commit proposes a fix by including the custom gantt view in the pos assets to prevent this crash and to fully utilize the booking management
Original PR description
Steps to reproduce: 1. Install pos_restaurant_appointment. 2. Start a restaurant session. 3. Find and click the "Manage Bookings" button from the top-right burger menu. -> Whole app crashes. This is because the button is trying to open a dialog containing a custom gantt view (`appointment_booking_gantt`) that is not loaded when opening pos. This commit proposes a fix by including the custom gantt view in the pos assets to prevent this crash and to fully utilize the booking management by the custom gantt view. Forward-Port-Of: odoo/enterprise#66677
Steps to reproduce: - Install "Field Service" - Open "Project" - Open the settings of a random project - Then click on the "Settings" tab - Disable "Field Service" and enable "Worksheets" - Create a new task with a worksheet - Click on start then stop and save - Click on "Sign Report" Issues: The sign button is not displayed due to the condition in the template which required previously to have `is_fsm` enabled. https://github.com/odoo/enterprise/blob/4d0a467220fba5253fb4a6f388448
Original PR description
Steps to reproduce: - Install "Field Service" - Open "Project" - Open the settings of a random project - Then click on the "Settings" tab - Disable "Field Service" and enable "Worksheets" - Create a new task with a worksheet - Click on start then stop and save - Click on "Sign Report" Issues: The sign button is not displayed due to the condition in the template which required previously to have `is_fsm` enabled. https://github.com/odoo/enterprise/blob/4d0a467220fba5253fb4a6f38844861d9ed4e442/industry_fsm/views/project_portal_templates.xml?plain=1#L42 opw-4032692 Forward-Port-Of: odoo/enterprise#66599 Forward-Port-Of: odoo/enterprise#66057
Original COM PR: https://github.com/odoo/odoo/pull/144608 Original ENT PR: https://github.com/odoo/enterprise/pull/55711 In the end the feature as implemented in the original PR is not desired/correct and the mixin is also not wanted due to it adding more complexity than removing. Additionally, we want to keep the SO and PO functionality/evolution separate so moving their apparently common fields/methods into a mixin was a mistake. Therefore we revert the mixin and all of the renaming ref
Original PR description
Original COM PR: https://github.com/odoo/odoo/pull/144608 Original ENT PR: https://github.com/odoo/enterprise/pull/55711 In the end the feature as implemented in the original PR is not desired/correct and the mixin is also not wanted due to it adding more complexity than removing. Additionally, we want to keep the SO and PO functionality/evolution separate so moving their apparently common fields/methods into a mixin was a mistake. Therefore we revert the mixin and all of the renaming refactorings that also came out of the PR since they depend on the mixin and we do not want to handle the complexity of fixing the conflicts. COM PR: https://github.com/odoo/odoo/pull/172944 Forward-Port-Of: odoo/enterprise#66583
…d warning Steps to reproduce: - Go to Accounting/Reporting/Tax Report; - Make sure there is a negative amount in the tax report; - Click on PDF/EDI VAT/Test Interchange (available in debug) not to send the tax report to the government for real, and "Send VAT Report"; - Go to Reporting/EDI exports > it should have the "Rejected" status because of the negative amount(s); Issue: On the Accounting Dashboard: the error "Export(s) de taxes rejeté(s)" is appearing on several journals Sol
Original PR description
…d warning Steps to reproduce: - Go to Accounting/Reporting/Tax Report; - Make sure there is a negative amount in the tax report; - Click on PDF/EDI VAT/Test Interchange (available in debug) not to send the tax report to the government for real, and "Send VAT Report"; - Go to Reporting/EDI exports > it should have the "Rejected" status because of the negative amount(s); Issue: On the Accounting Dashboard: the error "Export(s) de taxes rejeté(s)" is appearing on several journals Solution: We get the journal defined for the Tax Return Periodicity. If no journal defined; We keep only the first Misc journal that is found This way, we let the user have custom misc journals (fec import or custom coa) opw-4004375 Forward-Port-Of: odoo/enterprise#66346
**Current behavior:** Having a picking whose operation type has the `create_backorder='ask'` setting, if a barcode line is modified using the edit button rather than actually scanning, the confirmation dialog for the backorder will be skipped. **Expected behavior:** When the 'ask' option is used, the dialog should always be displayed. **Steps to reproduce:** 1. Create a picking with a demand of 2.0 for some product, ensure the picking's op type has the 'ask' options set for
Original PR description
**Current behavior:** Having a picking whose operation type has the `create_backorder='ask'` setting, if a barcode line is modified using the edit button rather than actually scanning, the…
**Current behavior:**
Having a picking whose operation type has the
`create_backorder='ask'` setting, if a barcode line is modified
using the edit button rather than actually scanning, the
confirmation dialog for the backorder will be skipped.
**Expected behavior:**
When the 'ask' option is used, the dialog should always be
displayed.
**Steps to reproduce:**
1. Create a picking with a demand of 2.0 for some product,
ensure the picking's op type has the 'ask' options set for
backorder creation (it's the default option) -> confirm the
picking
2. In Barcode, open the picking and add 1.0 quantity to the
barcode line
3. Save the edit form, then validate the picking -> no dialog
**Cause of the issue:**
Compared the actually scanning product, modifying the line via
the form actually updates the record data. This causes the
corresponding `StockMoveLine` to get marked as `picked=True`
(via `_inverse_qty_done()` in `stock_barcode::StockMoveLine`.
The end result is `!this.lineIsReserved(line)` evaluates to
True in the Barcode client when checking whether to do
the backorder dialog which means we skip it.
**Fix:**
Remove the `lineIsReserved()` check, only look at whether
the line quantity is positive, non-zero.
*Note: the behavior between the two flows (scans vs. form edits)
diverges when the user reloads the page, however, this was also
the case prior to this change.*
opw-3972478
Forward-Port-Of: odoo/enterprise#66639
Forward-Port-Of: odoo/enterprise#64318Steps to reproduce ================== - Install hr_skills,web_studio - Go to Employees - Open any record - Add a new resume entry without description - Save - Click on the actions gear - Print > Print Resume => `Odoo India pvt. Ltd` is displayed in the report in place of the missing description Cause of the issue ================== With the new report editor in 16.4, some demo data have been added directly inside the report templates as default content. The assumption was
Original PR description
Steps to reproduce ================== - Install hr_skills,web_studio - Go to Employees - Open any record - Add a new resume entry without description - Save - Click on the actions gear - Print >…
Steps to reproduce ================== - Install hr_skills,web_studio - Go to Employees - Open any record - Add a new resume entry without description - Save - Click on the actions gear - Print > Print Resume => `Odoo India pvt. Ltd` is displayed in the report in place of the missing description Cause of the issue ================== With the new report editor in 16.4, some demo data have been added directly inside the report templates as default content. The assumption was that it would be displayed inside the report editor, but outside, since the field would have a value, the value would take over. The default content if displayed when the field value is falsy. In this case, the default content is used instead of the empty description. Solution ======== Introduce a new attribute, data-oe-demo, to be used inside the report editor. This doesn't have the drawbacks of the default content as we can choose to only display it inside the report editor --- [commit]: https://github.com/odoo/odoo/commit/a45c6c545ffdcee3bb50b3455884b8296e5d6a7c opw-4033434 Forward-Port-Of: odoo/enterprise#66660
before this commit, if some customization has to be done for changing the workflow of invoice generation, i.e., to keep the auto generated invoice in draft state the entire function has to be rewritten after this commit, a hook is introduced _process_auto_invoice which will post the invoice, later to alter this flow just need to inherit this function Forward-Port-Of: odoo/enterprise#66305 Forward-Port-Of: odoo/enterprise#66200
Original PR description
before this commit, if some customization has to be done for changing the workflow of invoice generation, i.e., to keep the auto generated invoice in draft state the entire function has to be rewritten after this commit, a hook is introduced _process_auto_invoice which will post the invoice, later to alter this flow just need to inherit this function Forward-Port-Of: odoo/enterprise#66305 Forward-Port-Of: odoo/enterprise#66200
Before this commit, when dragging documents including one or more locked documents to another workspace, only the unlocked documents are effectiveley moved and no message were shown to alert the user although the code exists but is never triggered. This commit, fix this by displaying the notification alerting the user that the locked files haven't been moved. Task-3992114 Forward-Port-Of: odoo/enterprise#66662 Forward-Port-Of: odoo/enterprise#64670
Original PR description
Before this commit, when dragging documents including one or more locked documents to another workspace, only the unlocked documents are effectiveley moved and no message were shown to alert the user although the code exists but is never triggered. This commit, fix this by displaying the notification alerting the user that the locked files haven't been moved. Task-3992114 Forward-Port-Of: odoo/enterprise#66662 Forward-Port-Of: odoo/enterprise#64670
Following #61777 , the action helper is removed to use instead a dialog template picker when using the 'new' button. However, it looks like one of the file should have been cleaned but was not. This commit removes it. Task-4035826 Forward-Port-Of: odoo/enterprise#66642
Original PR description
Following #61777 , the action helper is removed to use instead a dialog template picker when using the 'new' button. However, it looks like one of the file should have been cleaned but was not. This commit removes it. Task-4035826 Forward-Port-Of: odoo/enterprise#66642
Before this commit, the tax assignation was not working properly when a product has multiple taxes. This commit fixes the issue by adding all taxes to the product line. Forward-Port-Of: odoo/enterprise#66610 Forward-Port-Of: odoo/enterprise#66568
Original PR description
Before this commit, the tax assignation was not working properly when a product has multiple taxes. This commit fixes the issue by adding all taxes to the product line. Forward-Port-Of: odoo/enterprise#66610 Forward-Port-Of: odoo/enterprise#66568