Search
Navigate
Branch
Tuesday, October 3, 2023
27 changes
New functionality added to Odoo
This pull request prepares the Enterprise repository to support Argentina withholding functionality by updating the Argentine reporting module. It appears to be a placeholder change to trigger validation for a related Odoo core update, so business impact is expected to be minimal until the linked feature is completed.
Original PR description
dummy PR to have enterprise runbot of https://github.com/odoo/odoo/pull/118393
Enhancements to existing features
The renting setup has been reorganized so that installing rental features no longer automatically brings in the full Sales app. Sales-management-specific rental features now live in a separate bridge module, keeping installations lighter and better aligned with business needs.
Original PR description
Before this commit, sale_renting inherits of sale_management, which leads to the installation of Sales app. This is not the desired behavior. Hence, dependencies to sale_management are moved to a bridge module sale_management_renting. And dependency to sale_management is removed in sale_temporal task-3535488
Resolved issues and error corrections
This fix makes exchange difference entries use the correct accounting date when payments or invoices are reconciled. It keeps reconciliation behavior consistent with unreconciliation, helping financial reports reflect currency gains or losses in the right period.
Original PR description
We align how the date is computed on exchange differences on how it already works when unreconciling. See _get_accounting_date(). Task-id:3516687 Community: https://github.com/odoo/odoo/pull/136911
Code cleanup and technical improvements
This update replaces older cookie-handling code with a shared core utility, making internal browser-cookie use simpler and more consistent across several Odoo apps. Users should not see functional changes, but the cleanup helps reduce maintenance complexity and supports future improvements.
Original PR description
Miscellaneous changes
Some sections of the report were not computed correctly, leading to inconsistent section totals, and ultimately, an inconsistent report. This was due to the fact that some account types were not using the correct formula (sum vs -sum). Moreover, when aggregating those lines, the aggregation formula was sometimes incorrect as well. This commit aims at fixing all these errors and harmonizing the Conto Economico's structure with that of the other localizations. task-3492097 opw-3377392
Original PR description
Some sections of the report were not computed correctly, leading to inconsistent section totals, and ultimately, an inconsistent report. This was due to the fact that some account types were not using the correct formula (sum vs -sum). Moreover, when aggregating those lines, the aggregation formula was sometimes incorrect as well. This commit aims at fixing all these errors and harmonizing the Conto Economico's structure with that of the other localizations. task-3492097 opw-3377392 Forward-Port-Of: odoo/enterprise#48260 Forward-Port-Of: odoo/enterprise#46871
This update simplifies how country-specific fields are shown or hidden across several localization modules. It removes unnecessary checks in form definitions, making the setup easier to maintain without changing expected business behavior.
Original PR description
Problem
---------
In master, XML attributes have been modifed from attrs={'invisible':...} to invisible=. During the conversion, the condition where not properly cleaned up.
Objective
---------
Clean up the XML attributes.
Solution
---------
Reduce conditions by removing unecessary elements:
- `fiscal_country_codes` always returns at least an empty string.
- All country codes are in capital letters, no need to `lower` them.
task-3493124The account follow-up report title can now be edited more easily in Studio, making it simpler for businesses to tailor customer-facing payment reminders. The report structure was also cleaned up and made clearer, including more helpful labels when editing the report layout.
Original PR description
The main goal of this PR was to make the title of the followup report editable (and to make the report a bit more standard in the process). In the process the code was cleaned up a bit. There were…
The main goal of this PR was to make the title of the followup report editable (and to make the report a bit more standard in the process). In the process the code was cleaned up a bit. There were the following technical challenges in making the report title editable. The render values are not passed to the report like for other standard qweb reports (e.g. with _get_report_values or computed in the template). To generate the html of the report (except the external layout including address etc) the report template just uses a function (res.partner.get_followup_html). In studio thus only this function call is visible. The actual report generation basically happens in get_followup_report_html (from account_followup_report.py). There the render values are computed and the actual report template (template_followup_report) is rendered with these values. To make the report title editable the call to get_followup_html is removed. To do this the the necessary values to render the report templates are obtained directly in the report template (i.e. template_followup_report); instead of taking the indirection via get_followup_report_html. task-3446724
Odoo Studio’s app menu editor now uses a newer internal drag-and-drop sorting approach. This keeps menu reordering behavior aligned with the platform’s current framework and should improve maintainability without changing the business workflow.
Original PR description
Migrate the studio usage of jQuery NestedSortable to the hooks useNestedSortable Task ID: 3439226
The global filters side panel now lets users collapse the field matching section, reducing visual clutter while editing filters. For existing filters, this section starts collapsed by default so users can focus on the main filter settings first.
Original PR description
In the global filters side panel, the field matching section is now collapsible. It is collapsed by default when editing existing filters. Task: [3516319](https://www.odoo.com/web#id=3516319&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
This update makes several user interface details clearer and more consistent across appointments, events, knowledge, marketing automation, VoIP CRM, and related website flows. Users benefit from clearer shortcut descriptions, better button labels, cleaner screens, and context-aware actions that reduce confusion.
Original PR description
-> This commit adds the the missing description for shortcuts, allowing users to better understand and utilize the available shortcuts efficiently. -> Resize the appointment command modal to match…
-> This commit adds the the missing description for shortcuts, allowing users to better understand and utilize the available shortcuts efficiently. -> Resize the appointment command modal to match the size of the normal modal. -> Replace the check icon with star icon In the first onboarding step.This modification ensures that each step within the onboarding process utilizes the same icon. -> Remove customer preview button. -> Hide the call queue button when the lead has no number. -> Transform the "registration desk" button from a stat button to a normal button -> Hide the stat and the action button when we open the event_track form from gantt view. -> Change the name of the Execute Activities button to the Run Activities. Change the name of the button of Generate Participants and the Run Activities modals in following ways, - Generate Participants/ Cancel. - Run/Cancel. -> Change the description of the TOC command to "Highlight the structure of this article". Task-3204554
Documents and Knowledge now better recognize when the chatter panel is displayed at the side of the screen. This helps keep the interface layout consistent and easier to use when reviewing documents or knowledge content.
Original PR description
See https://github.com/odoo/odoo/pull/118794 task-2359037
Odoo now supports more US banks when generating NACHA payment files by allowing businesses to choose the right payment entry type and create balanced files when required. Payments are also grouped by payment date, making files closer to bank expectations and potentially reducing per-batch fees.
Original PR description
These two commits makes Odoo support more American banks. For details please see the individual commits. task-3515444 task-3431827
Signature request emails for employee contracts now use the employee's work email instead of the public email field. The request screen also shows the email value, helping HR teams confirm documents are sent to the right address before requesting signatures.
Point of Sale and self-order workflows now show selected product attributes, including multiple checkbox choices, on tickets and preparation displays. This helps kitchen or preparation teams see customer selections clearly and prepare orders more accurately.
Original PR description
Previously, it was not possible to select multiple values for an attribute in Point of sale and self order. Now that this functionality has been added, we now support "multi" or checkbox attribute types. When an order is placed with products containing attributes, these are displayed on the ticket and on the preparation display.
The consolidation report now prepares its custom column headers in the right step of the reporting process. This prevents crashes when users open reports that rely on custom consolidation columns, restoring reliable access to those reports.
Original PR description
6c570325dc64adba441c748d834cee2c0fe488b7 changed the way javascript handles options. They are now generated by a different RPC call than the lines. It is hence not possible anymore to assign option keys within the functions computing the lines (or more generally speaking, subfunctions called by _get_report_information). Because of that, the column_headers option key of the consolidation report was always computed with a standard value, causing the report's custom components to crash when trying to opening it.
Web Studio approval indicators now refresh when users move between records or save changes that affect which approvals apply. This prevents outdated approval thumbnails from being shown, helping users see the right approval status without manually refreshing.
Original PR description
This commit fixes two issues: - Have a button that has two approvals: one with a domain, the other without with the pager change record from one that has the two approvals, to the one that has only one (or vice versa). Before this change, the approvals thumbnails did not update - Same case, but save one record that did have only one approval to make it have two (or vice versa) Before this commit, the approvals thumbnails did not update. This change set corrects those two use cases, and technically adapts the approval_hook to the new relational model, with which the record is itself reactive, meaning that we don't always go through willUpdateProps, rather, we use useRecordObserver. opw-3498555 opw-3382099
The appointment calendar now shows the next available date correctly when a user's month is fully booked. This prevents customers from seeing an "Invalid DateTime" message, making the booking experience clearer and more reliable.
Original PR description
Steps to Reproduce =================== 1. Book the whole month of any user. 2. Now try to access the monthly view of the user from the front end. 3. There we can see the 'Invalid DateTime'. Technical ========== Changing fromJSDate() to fromISO() because fromJSDate() only takes date object as an argument but in our case it is a string so it shows like 'Invalid DateTime' on the UI side. This issue is coming after the refactoring of the moment to Luxon. Task-3510350
The cookie service was replaced by a utils file in core. This was done to be able to use the cookies without the need of environment. "Om Nom Nom Nom" - Cookie Monster part-of task-id 3439226
This update reorganizes the internal mail message posting and editing process so it relies more consistently on the existing composer information. It reduces duplicated parameter handling, making the code easier to maintain with no expected change for end users.
Original PR description
Many params were passed as param in many functions, while most data are stored in Composer record. This commit simplifies code by making these function receive a composer, to reduce amount of params. https://github.com/odoo/odoo/pull/137276
Test code in Web Studio and Web Enterprise was updated to use a clearer way of checking expected errors. This reduces ambiguity in automated tests and helps maintain product quality without changing user-facing behavior.
Original PR description
*web_studio,web_enterprise This commit is the counter-part of odoo/odoo#137120 where we introduce the assert method "expectToThrow" to better handle errors in tests.
On assets, the fixed asset account is only visible if you're in debug mode. That should not be the case, it should be the case only for models opw-3509493 Forward-Port-Of: odoo/enterprise#48270 Forward-Port-Of: odoo/enterprise#48133
Original PR description
On assets, the fixed asset account is only visible if you're in debug mode. That should not be the case, it should be the case only for models opw-3509493 Forward-Port-Of: odoo/enterprise#48270 Forward-Port-Of: odoo/enterprise#48133
-We following changed in this commit: - Rename and make the secondary whatsapp button - If there is nothing to pay on the order, the whatsapp button is disabled **Note**-disabled attribute is not working in button so i have create two button. task-3506670 Forward-Port-Of: odoo/enterprise#47711
Original PR description
-We following changed in this commit: - Rename and make the secondary whatsapp button - If there is nothing to pay on the order, the whatsapp button is disabled **Note**-disabled attribute is not working in button so i have create two button. task-3506670 Forward-Port-Of: odoo/enterprise#47711
If a POS has a different currency than the company currency, when opening the POS without accounting access rights, it would fail with an key error when trying to get the total_due on partners. To reproduce: - Create a new POS journal with a non-company currency - Create a new POS using that journal - Remove accounting access rights from the POS user - Open the POS as that user It would throw an key error when trying to get the total_due. This commit fixes it by skipping the total
Original PR description
If a POS has a different currency than the company currency, when opening the POS without accounting access rights, it would fail with an key error when trying to get the total_due on partners. To reproduce: - Create a new POS journal with a non-company currency - Create a new POS using that journal - Remove accounting access rights from the POS user - Open the POS as that user It would throw an key error when trying to get the total_due. This commit fixes it by skipping the total_due computation if the user does not have accounting access rights. opw-3512997 Forward-Port-Of: odoo/enterprise#48225 Forward-Port-Of: odoo/enterprise#48073
Steps to reproduce the bug: - Install social_push_notifications module - Ensure website push notifications is NOT enabled in settings - In another browser, open network tab in browser inspector - Go to the website as visitor - Go to any page; a call is made to fetch push configuration - Refresh or go to any other page; another call is made to fetch push configuration Issue: A call is made to fetch the push configuration each time we open a page. Cause:
Original PR description
Steps to reproduce the bug: - Install social_push_notifications module - Ensure website push notifications is NOT enabled in settings - In another browser, open network tab in browser inspector - Go…
Steps to reproduce the bug:
- Install social_push_notifications module
- Ensure website push notifications is NOT enabled in settings
- In another browser, open network tab in browser inspector
- Go to the website as visitor
- Go to any page; a call is made to fetch push configuration
- Refresh or go to any other page; another call is made to fetch push
configuration
Issue:
A call is made to fetch the push configuration each time we open a
page.
Cause:
When fetching a page, we check if the config is in the local storage
and up to date, and if not, it will try to fetch the config from the
backend.
Since the following commit, we do not store any data in the local
storage if the first fetch of the config return no result (because
push notification is not enabled on current website).
https://github.com/odoo/enterprise/commit/50a2a053de9888c5fd09bee2a2cb761d7b4f310b
Therefore, it will try to retrieve the config each time.
Solution:
Store the expiration date in the local storage even if the config
received from backend is empty.
Use the config only if there is more than one element in it,
otherwise, we check first if we passed the expiration date before
refetching the config.
opw-3525547
Forward-Port-Of: odoo/enterprise#48083runbot-23122 (back-port `master` code with `contains`) Forward-Port-Of: odoo/enterprise#48242 Forward-Port-Of: odoo/enterprise#48219
Original PR description
runbot-23122 (back-port `master` code with `contains`) Forward-Port-Of: odoo/enterprise#48242 Forward-Port-Of: odoo/enterprise#48219
Before this fix, the partner editor tried to setups values needed for chili. But if the PoS was not used in a chilean company, it was leading to a traceback. Now we make sure to setups those fields only if it's a chilean pos. Forward-Port-Of: odoo/enterprise#47408
Original PR description
Before this fix, the partner editor tried to setups values needed for chili. But if the PoS was not used in a chilean company, it was leading to a traceback. Now we make sure to setups those fields only if it's a chilean pos. Forward-Port-Of: odoo/enterprise#47408
FedEx is planning to launch new service types for domestic shipping in EU and UK. This commit adds support for these new services. For more information about the changes, refer to page 8 of this document: https://www.fedex.com/content/dam/fedex/eu-europe/downloads/new-service-faq/fedex-eu-web-services-v15-and-above-en.pdf Note that even though the new domestic services will replace `FEDEX_PRIORITY_OVERNIGHT` in EU and `FEDEX_NEXT_DAY_*` in the UK, they will still be available in the US and po
Original PR description
FedEx is planning to launch new service types for domestic shipping in EU and UK. This commit adds support for these new services. For more information about the changes, refer to page 8 of this document: https://www.fedex.com/content/dam/fedex/eu-europe/downloads/new-service-faq/fedex-eu-web-services-v15-and-above-en.pdf Note that even though the new domestic services will replace `FEDEX_PRIORITY_OVERNIGHT` in EU and `FEDEX_NEXT_DAY_*` in the UK, they will still be available in the US and potentially other regions. opw-3505556 Forward-Port-Of: odoo/enterprise#47976
**Steps to reproduce** - Create a company with l10n_fr and the FEC Import module - Import the FEC (see example file on the ticket) - Create a second company with the FR loca - Try to import a FEC using similar accounts in the 2nd company (see example file on the ticket) **Cause** With the removal of chart templates, the accounts, journals, and partners that are created when importing a FEC file are now assigned an `xml id`. However, that `xml id` does not factor in the company. o
Original PR description
**Steps to reproduce** - Create a company with l10n_fr and the FEC Import module - Import the FEC (see example file on the ticket) - Create a second company with the FR loca - Try to import a FEC using similar accounts in the 2nd company (see example file on the ticket) **Cause** With the removal of chart templates, the accounts, journals, and partners that are created when importing a FEC file are now assigned an `xml id`. However, that `xml id` does not factor in the company. opw-3388205 Forward-Port-Of: odoo/enterprise#44848