Daily updates from Odoo
Navigate
Branch
Monday, July 1, 2019
13 changes
Enhancements to existing features
When selecting website views, duplicated views now include the related website name so users can tell them apart. This reduces confusion for teams managing multiple websites in the same Odoo database.
Original PR description
Before this commit, it was impossible to know which view was the one searched if there was COW views. Indeed, since multiwebsite, views might get duplicated from one website to another. Then, when searching for an ir.ui.view in a form view, every duplicated view would be listed next to each other with the exact same name without a way to identify which one comes from which website. This commit will suffix the view name by its website_id if there is one. To do so, we use the context key that has been introduced with 62d73253f3. task-1920052
Module uninstall now removes related data in safe batches instead of one record at a time. This can dramatically reduce uninstall times for data-heavy modules while preserving safeguards that skip records which cannot be removed.
Original PR description
Before this commit, during a module uninstall, module data would be unlinked on a record-by-record basis, this was done this way for two elementary reasons: - To guarantee an unlink order, as some…
Before this commit, during a module uninstall, module data would be
unlinked on a record-by-record basis, this was done this way for two
elementary reasons:
- To guarantee an unlink order, as some module data being deleted
might only be deleted if some other module data has already been
deleted.
e.g. [a, b, c, a] -> we could batch unlink both `a` in the
list, however the second `a` could depend on the unlink
of either b or c, making the groupby erroneous.
- To create a savepoint before every module data unlink (record), so
that in case it fails, we can simply skip it and proceed with the
uninstall.
After this commit, batch unlink of module data is now possible without
losing the aforementioned key features.
- The first problem is fixed by using `itertools.groupby`, which
will group **adjacent** data of the same type and unlinks them all
in batch while guaranteeing correct unlink order.
e.g. [a, a, a, b, b, c, a, c, c, c] -> this will unlink in
batches of [a, a, a], [b, b], [c], [a], [c, c, c]
- The second problem is fixed by making a savepoint per batch, if
a single element of the batch fails and the recordset contains more
than one element, we split the recordset into two and we repeat the
unlink process recursively until we weed out the undeletable record
Real world example: **l10n_mx_edi** takes **20min** to uninstall because it
contains a lot of master data (~55k records), with this patch the
uninstall takes a measly **20s**.
It should generally reduce the uninstallation time for all modules, but
those with lots of master data will see greater benefits in terms of
time.
opw-2025895
cc @Julien00859Point of Sale order lines can now show the unit of measure used for each product when the related option is enabled. This helps staff and managers better understand quantities sold, especially for products sold in different units.
Original PR description
Description of the issue/feature this PR addresses: Display the UOM in the pos order line Task id: 2001995 Current behavior before PR: We don't see the UOM of any product Desired behavior after PR is merged: If the option is selected, we can see the UOM of any product in the pos order line. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Product managers can now reorder extra product images and media using drag and drop instead of manually changing sequence numbers. This makes maintaining product pages faster and less error-prone, especially for items with multiple media assets.
Original PR description
This makes the media easier to sort than manually manipulating their sequence. task-2029597
Resolved issues and error corrections
The recruitment survey thank-you message now uses the correct wording, changing “Thanks you” to “Thank you.” This small fix improves the professionalism and clarity of the candidate experience after completing a survey.
Original PR description
**Description of the issue/feature this PR addresses**:
- Task: https://www.odoo.com/web#id=1973931&action=333&active_id=1321&model=project.task&view_type=form&menu_id=4720
- Pad: https://pad.odoo.com/p/r.938b8e7502ffdb18c273b71ad70057b4
**Description:**
-It said "Thanks you", corrected it to say "Thank you."
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prFleet vehicle records are now filtered by company access rules, helping users working across multiple companies see the right records. This reduces the chance of viewing or managing vehicles outside the selected or allowed company context.
Original PR description
Purpose ======= Since the new company switcher, it's now easier to manage records of different companies. Specification ============= Add a multi company `ir.rule` for `fleet.vehicle`. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes missing styling in the HR contract calendar mismatch view, restoring the intended visual display for users. It also places the styling file in the correct location and format so it loads reliably going forward.
Original PR description
[FIX] hr_contract: Load calendar mismatch style ==================== Commit f17655d introduced a new file (`views/assets.xml`) in the manifest to load a new scss file. But it also deleted from the manifest an existing file (`views/hr_contract_templates.xml`) without moving the content from removed file to the new file. Hence, style defined in `calendar_mismatch.scss` was no longer loaded. [FIX] hr_contract: Move scss in correct folder ============= File `calendar_mismatch.scss` was wrongly in a `css` folder while it should be in a `scss` folder according to the guidelines. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Inventory adjustments can now only be deleted when they are still in draft or have been cancelled. This prevents users from removing inventory work that is already in progress, keeping stock records more reliable and consistent with other business documents.
Original PR description
Before that it was possible to delete a started inventory (sale, purchase, invoice it is not possible) @jco-odoo -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Events can now only accept registrations while their end date has not passed. This prevents customers from signing up for outdated events and keeps event availability accurate across website and sales flows.
Original PR description
base_automation with a trigger on_time on the start date field
This update corrects a typo in a Helpdesk email message and improves the wording that explains the Team Members feature. The clearer text helps users better understand team assignment behavior and presents more polished customer-facing communication.
Original PR description
**Description of the issue/feature this PR addresses**:
- Task: https://www.odoo.com/web#id=1973931&action=333&active_id=1321&model=project.task&view_type=form&menu_id=4720
- Pad: https://pad.odoo.com/p/r.938b8e7502ffdb18c273b71ad70057b4
**Description:**
-It said "Thanks you", corrected it to say "Thank you."
-Improved description of the Team Members feature.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update ensures Belgian company car benefits and CO2 fees are only calculated for Belgian companies, preventing payroll errors for users working in other countries. It also corrects company-specific payroll rule caching and cleans up related rule values when parameters are deleted, improving reliability in multi-company payroll setups.
Original PR description
[FIX] l10n_be_hr_payroll_fleet: Compute atn and co2 fees only for BE ===================================================== Car ATN and CO2 fees computation are using some `rule.parameter` specific to…
[FIX] l10n_be_hr_payroll_fleet: Compute atn and co2 fees only for BE ===================================================== Car ATN and CO2 fees computation are using some `rule.parameter` specific to Belgium. When the user is not logged in a Belgian Company, an `ir.rule` prevents him to read the `rule.parameter` and the computation fails. Since car ATN and CO2 fees are Belgian concept, it's acceptable to compute them only for Belgian companies. [FIX] hr_payroll: Don't read rule.parameter from cache when allowed_company_ids changed ======================== Reading `rule.parameter` is performed with an `@ormcache`d method to fasten payslip computation. The cache is reused when allowed_company_ids is changed but it shouldn't. With 2 companies A and B in two different countries: 1. (In Company A) Create a `rule.parameter` for country of Company A 3. (In Company B) Try to read the `rule.parameter` => AccessDenied 5. (In Company A) Read the `rule.parameter` => ok, the value is cached 7. (In Company B) Try to read the `rule.parameter` => the value from cache is retrieve, no AccessDenied is raised. [FIX] hr_payroll: Delete values when deleting rule parameters ============ When deleting a `hr.rule.parameter.value`, automatically delete all associated `hr.rule.parameter.value`.
Code cleanup and technical improvements
This pull request restructures Odoo accounting so invoices, receipts, and journal entries use one shared process. It should make accounting records easier to edit consistently, improve reporting on drafts, and reduce duplicated business logic, while also including a few related fixes in HR, website sales, and web forms.
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
This update aligns Enterprise accounting features with a major accounting data model cleanup, merging invoices, vouchers, and journal entries into a simpler underlying structure. It improves maintainability and consistency across accounting workflows, with broad impact on invoice handling, assets, reporting, and related payment processes.