Monday, October 21, 2024
10 changes · 18.0
New functionality added to Odoo
This change introduces a new Estate module for managing real estate properties in Odoo. It adds the basic app structure, property data, access rules, menus, and views so users can start recording and browsing property listings.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Enhancements to existing features
Point of Sale now warns users when customer account payments may not show due balance tracking because the needed settlement module is missing or the order is not invoiced. This helps cashiers understand why balances are not visible and what needs to be done to track them correctly.
Original PR description
If a user uses the "customer account" payment method without having the `pos_settle_due` module installed or w\o invoicing the order, they will not be able to observe the due balance computation. In this pr we add a notification that explains this to the user. Task: 4251746 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This update improves how email addresses are compared and used in mailing workflows, reducing duplicate sends and unsubscribe issues caused by different email formatting. It also strengthens internal test tools and fixes a missing Point of Sale dependency, helping future updates remain more reliable.
Original PR description
Product and combo configurator logic was moved into reusable model-level behavior so Odoo customizations and subscription-related overrides are applied consistently. This improves reliability for sales and website sales flows and also corrects crossed-out price displays in configurators.
Original PR description
This allows to rely on the framework's inheritance instead of python's inheritance. Indeed, there was an issue where `sale_subscription` overrides were ignored by the framework. This change applies to both the product and combo configurators (and extracts any duplicated logic into shared methods). This change also fixes the strikethrough price in combo and product configurators. task-4263961 Enterprise PR: https://github.com/odoo/enterprise/pull/70533 Closes https://github.com/odoo/odoo/issues/179816
Product and subscription configurator logic has been moved into the standard business model layer so module-specific rules are applied consistently. This fixes cases where subscription-specific behavior could be skipped, improving reliability for sales, rentals, and website subscription flows.
Original PR description
This allows to rely on the framework's inheritance instead of python's inheritance. Indeed, there was an issue where `sale_subscription` overrides were ignored by the framework. This change applies to both the product and combo configurators (and extracts any duplicated logic into shared methods). task-4263961 Community PR: https://github.com/odoo/odoo/pull/181135
When working on Task-2667099: [mail] Improve default template values various fixes have been found for some corner cases in mail. This PR submits them for 18.0 as they are valid for stable. Testing tools improvements are also added in 18.0 to ease forward port and adding tests in stable when necessary. See sub commit for more details. Task-2667099: [mail] Improve default template values Task-4264367: [mass_mailing] Store/Compare normalized emails on traces Prepares Task-4224145: [marketing_automation] Improve test coverage
Existing website carousel sections in Odoo 18 now keep their automatic slide behavior without requiring users to rebuild them. This preserves expected website presentation and avoids extra maintenance work for businesses already using these carousel snippets.
Original PR description
Follow-up of [1]. It fixed carousels for new databases and for databases upgraded from a version < 18.0 but half-fixed the issue for existing databases in 18.0. Indeed, in this version, 2 new carousel snippets were introduced. Technically, the problem can be solved by updating the website app and re-adding a new carousel but this commit will make existing ones work too. At some point, we'll migrate the XML content avoiding the need for this compatibility JS. [1]: https://github.com/odoo/odoo/commit/91cff43970689431a2d81efdde604b6af709f820
Certificate private key attachments are now found using the correct record link instead of the active company on the attachment. This prevents certificates from using or missing the wrong private key when company context differs.
Original PR description
This commit fixes the incorrect private key computation due to a incorrect domain search in `ir.attachment` model. The `company_id` field was used to search the private key and that is wrong because the `company_id` set on attachments is not same as the record set's company, ORM always sets active company on attachments created from binary field.
This fix prevents an error that could block users from printing and sending invoices in the Argentina and Chile localization modules. It corrects the invoice tax summary handling so affected invoices can be processed normally.
Original PR description
When the customer tries to print & send an invoice, a traceback will appear. Steps to reproduce the error: - Install ``l10n_ar`` module - Switch to ``(AR) Exento`` company - Create a tax (Type:…
When the customer tries to print & send an invoice,
a traceback will appear.
Steps to reproduce the error:
- Install ``l10n_ar`` module
- Switch to ``(AR) Exento`` company
- Create a tax (Type: Sales) > Advanced Options > Tax Group (VAT 2.5%)
- Create a new invoice > add a product > add that tax > Confirm
- Print & Send > Print & Send
Traceback:
```
AttributeError: 'account.tax' object has no attribute '_exclude_tax_group_from_tax_totals_summary'
File "<1878>", line 2220, in template_1878
File "<1878>", line 2202, in template_1878_content
File "<1878>", line 1292, in template_1878_t_call_0
File "<1878>", line 166, in template_1878_t_call_6
File "addons/l10n_ar/models/account_move.py", line 350, in _l10n_ar_get_invoice_totals_for_report
return self.env['account.tax']._exclude_tax_group_from_tax_totals_summary(tax_totals, tax_group_ids_to_exclude)
```
https://github.com/odoo/odoo/blob/8502e87f4c7543d66c3dc0b12d1260c1d72d05ec/addons/l10n_ar/models/account_move.py#L350
https://github.com/odoo/odoo/blob/8502e87f4c7543d66c3dc0b12d1260c1d72d05ec/addons/l10n_cl/models/account_move.py#L155 Here, ``_exclude_tax_group_from_tax_totals_summary`` method is used instead of ``_exclude_tax_groups_from_tax_totals_summary`` method.
So, it will lead to the above traceback.
sentry-5999534010
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prRental configuration fields such as buffer time and extra-time charges now update and save correctly for each company. This ensures businesses can adjust rental defaults as expected and have those settings persist reliably.
Original PR description
Before the commit: - The fields such as `padding_time`, `extra_hour`, and `extra_day` did not update since the adoption of `ir.default` in the related onchange methods. After the commit: - Removed the related attribute from the fields, and converted them into computed fields. The compute methods now retrieve the company-specific default values using the _get method from `ir.default`. - Added inverse methods to ensure that changes made to these fields are saved back to `ir.default`, allowing company-specific default values to be updated as expected. - This change allows for the correct fetching and updating of default values, ensuring that fields can be modified and persisted properly.
The portal task list no longer crashes when tasks from multiple projects are grouped by stage. The Documents button is now hidden in cases where showing it could create conflicts, and related portal task display issues are avoided when timesheets and documents are both installed.
Original PR description
Before this commit, when the user has more than one project linked to a same stage then a traceback will be raised when the user will group by stage in `/my/tasks` portal view. This commit reviews…
Before this commit, when the user has more than one project linked to a same stage then a traceback will be raised when the user will group by stage in `/my/tasks` portal view. This commit reviews the visibility condition of the Documents button in that portal list view and makes sure the project variable in the template contains either no project or just one project to avoid having a traceback because `project` variable contains more than one project. And so, in `/my/tasks` view, the Documents button should not be displayed when the view is grouped by Stage. Steps to reproduce the issue ============================ 1. Install documents_project 2. Create 2 projects 3. Go to Tasks stage menu and set the both projects in the first stage (create new stage if there is no stage displayed in that menu) 4. create a task for each project with that first stage 5. Go to `/my/tasks` portal list view 6. Group by `Stage` Actual Behavior --------------- A traceback is raised because there is more than one project contained inside `project` variable. Expected Behavior ----------------- The documents button should not be displayed in `/my/tasks` since we could have more than one project in that view. task-4239772