Daily updates from Odoo
Navigate
Branch
Tuesday, September 7, 2021
19 changes
Enhancements to existing features
The marketing automation email setup was cleaned up by removing a scheduling section that is no longer used. The A/B Test page is also hidden in this area, reducing clutter and helping users focus on currently supported options.
Original PR description
We have now removed the schedule block from the view. Since no longer needed we remove this part task-2123242 COM PR: odoo/odoo#75622
Payroll users can now edit selected payslip line details directly from a new action while the payslip is in the computed review stage. The change helps payroll teams make corrections without fully recalculating the payslip, reducing the risk of overwriting manual adjustments.
Original PR description
This PR allows the user to apply modification to the payslip lines of a payslip. **To do this** : A wizard named "Edit Payslip Lines Wizard" is created. This wizard is called with the "Edit Payslip Lines" button available in the action buttons when the user is in the form view of a payslip. However, the payslip lines of a payslip which is waiting can only be edited, if the user tries to edit a payslip with another state then an UserError exception is raised. In the new wizard, the user can edit the name, the amount and the quantity fields of each payslip line. When the quantity or the amount of a payslip line is edited, we open a dialog to ask if the next payslip lines should be adapted or not. If yes, then we recompute only the following lines of the one has been edited.
Appointment types can now be archived instead of permanently removed or left visible when no longer needed. This helps teams keep appointment setup lists tidy while preserving past configuration and related history.
This update improves quality control usability with clearer labels, better search and filtering, new product navigation, and more consistent status indicators. It also makes quality checks easier to review by clarifying whether they relate to stock or manufacturing and by adding more useful details to PDF reports.
Original PR description
Various UI improvements in modules related to quality_control. 1. In the quality.check tree view, allow to search / group by / sort by finished lot/serial number. 2. Allow to select product…
Various UI improvements in modules related to quality_control. 1. In the quality.check tree view, allow to search / group by / sort by finished lot/serial number. 2. Allow to select product categories instead of only individual products for the set up of a quality.point. Both should be usable at the same time. 3. FIX : if a user select "Operation Type: Manufacturing" and doesn't specify a Work Operation, products can't be selected anymore. Allow to select freely products if no Work Operation is selected yet. 4. Create a new menu dedicated to products like in stock. 5. Rename 'name' column of quality.check to 'reference' to match quality.point 6. Make state icon red/green everywhere for quality.check stat buttons (picking, MO) and make failed state red in tree view 7. Quality Alerts : Rename 'Make Alert' to 'Create Alert' 8. Remove default group by when accessing quality control points and add a order by reference by default on the quality check tree view 9. If a quality.check is linked to a manufacturing order, make picking option invisible. Make it dependent on quality.check state : if in 'to do' state, everything is editable. If done (failed or passed), the field which is not filled out is not to be edited anymore and is simply invisible. 10. Rename 'control type' to 'control frequency' 11. Add various informations on quality.check worksheet pdf report. 12. When a quality point is linked to a work order operation, it is somewhat different than a standard quality point (its a manufacturing step). Therefore, when a quality check is linked to such a quality point, it should be easily differentiable when doing reporting. Therefore, add a filter capabilility in quality.point and quality.check that allows to differentiate these. Task-2524922 See odoo/upgrade#2743
This update streamlines product-related screens and settings across several business apps, making product configuration more consistent and easier to use. Teams working with manufacturing, eBay sales, planning, rentals, subscriptions, and product classification should see clearer product information where they manage these workflows.
Original PR description
[task-2605931](https://www.odoo.com/web#cids=1&id=2605931&model=project.task&menu_id=)
Odoo’s dashboard and cohort reporting views have been rebuilt on the newer OWL interface framework. This improves consistency across reporting screens, mobile behavior, search panels, and related spreadsheet/reporting integrations, making reporting views easier to maintain and more reliable for users.
Original PR description
In this PR, we convert the dashboard and cohort views to OWL. More details are given in each commit. Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: Bruno Boi <boi@odoo.com> Co-authored-by: Géry Debongnie <ged@odoo.com> Co-authored-by: Samuel Degueldre <sad@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com> Co-authored-by: Simon Genin (ges) <ges@odoo.com> Co-authored-by: Francois (fge) <fge@odoo.com> Co-authored-by: Michael Mattiello (mcm) <mcm@odoo.com> Co-authored-by: Julien Mougenot <jum@odoo.com> Co-authored-by: Lucas Perais (lpe) <lpe@odoo.com> Co-authored-by: Jorge Pinna Puissant <jpp@odoo.com> Co-authored-by: stefanorigano (SRI) <sri@odoo.com>
Partner commissions now support a company-level minimum purchase order amount before automatic confirmation, helping avoid payment fees on very small payouts. Commission plans can also be archived and limited to specific companies, reducing mistakes when assigning plans across sales orders or subscriptions.
Original PR description
Minimum amount -------------- Add a new restriction for automatic confirmation of the PO: The Po should have a minimum amount_total define per company if a po does not have reach the minimum amount, it will not be confirmed automatically. So, the po wait for more commission. This avoid to pay to payment fee for small commission. Archive ------- Allow commission plan to be archived Commission plan multi company ----------------------------- Commission plan can be link to only one company, in that case it won't be possible to assign the plan to a subscription or sale order from another company. + Fix the settings Migration PR: https://github.com/odoo/upgrade/pull/2790 Task [#2629418](https://www.odoo.com/web#id=2629418&model=project.task&view_type=form&cids=1%2C3%2C17&menu_id=)
The Helpdesk digest email now includes revised tip content. This improves the clarity and usefulness of recurring digest emails for Helpdesk users.
Original PR description
Revamped the tip in Helpdesk's digest_data.xml for digest emails.
Resolved issues and error corrections
Project sharing now opens correctly even when optional enterprise tools such as Studio are installed. This removes unnecessary background services from the shared project view, preventing access issues and keeping the experience focused for external users.
This update removes invalid default values from certain linked read-only fields so records are initialized consistently. It helps prevent configuration errors that could affect documents, appraisals, and Belgian payroll accounting tests without changing normal user workflows.
Original PR description
Setting a default value on a related field that is readonly without an inverse method is illegale. We now ensure it at the field instanciation. If the other related field has a default value then duplicating the default on the relating field is illegale too. There is no cheap way to ensure it so we fixed those fields here without including a warning. For the record, granting a default value to a related readonly=False field is permitted. Compagnion enterprise commit of #67762
The Field Service “Mark as Done” button now reliably moves tasks into the first closed stage, typically Done. This helps teams complete service jobs accurately and keeps task status reporting consistent.
Original PR description
Purpose of this commit to fix 'mark as done' button functionality and make 'done' stage closed stage default. So, In this commit make 'done' stage closed stage in field service app and move task to first closed stage (i.e., done stage), when user click on 'mark as done' button. Task Id: 2638480
This fix ensures quality check popups in the work order tablet view close correctly after worksheets or corrected measurements are completed. It also prevents invalid corrected measurements from being accepted, helping operators follow the proper quality control process.
Original PR description
This fixes a few things (all in WO tablet view): 1. QC Worksheet Steps to reproduce: a. Create BoM + create WO operation + save b. Add 2 steps to operation: - 1st step.type = Worksheet (demo template…
This fixes a few things (all in WO tablet view): 1. QC Worksheet Steps to reproduce: a. Create BoM + create WO operation + save b. Add 2 steps to operation: - 1st step.type = Worksheet (demo template is sufficient) - 2nd step.type = any other (Pass/Fail is sufficient) c. Create MO with newly created BoM + confirm + open WO tablet view d. Click "Fill In Worksheet" button + save (no values needed) Expected Behavior: Popup closes and returns to tablet view Actual Behavior: Next QC step is opened in same popup 2. QC Measure - Repeat steps a-c from in 1. except with a Measure QC step instead of Worksheet - Input an invalid measurement (i.e. outside of tolerance range) + Validate - Click "Correct Measure" in popup + type in valid measure + "Validate" Expected Behavior: same as 1 Actual Behavior: same as 1 3. Correct Measure - Same steps as 2. except type in an invalid measurement when in "Correct Measure" window. Expected Behavior: show Measure QC Failed window Actual Behavior: accepts invalid measure Task: 2555350
Customer invoices now use the appropriate sales taxes instead of incorrectly applying purchase taxes. This helps ensure invoices are calculated accurately and reduces the risk of billing or accounting errors.
Original PR description
The wrong tax type was used for customer invoices, purchase taxes were always selected instead of sales taxes.
Spreadsheet filters no longer change the row and column headers shown by pivot header formulas. This keeps pivot spreadsheet reports consistent, so users can filter values without accidentally changing the displayed pivot structure.
Original PR description
Currently, applying a spreadsheet filter will impact both what the pivot() (i.e. aggregates) and pivot.header() (i.e. row/col headers) functions return. This fix makes sure that spreadsheet filters do not impact what pivot.header() functions return. task-id: 2550988
Some conditional formatting terms in Documents spreadsheets were not appearing in the user's selected language. This fix ensures those labels are translated, improving clarity for multilingual users.
Original PR description
before this commit, some conditionnal formatting terms were not translated. after this commit they are. task-id : 2627637
Code cleanup and technical improvements
This update tidies chart configuration across multiple Odoo Enterprise reporting views without changing core business workflows. Reports should continue to look and behave the same, while the underlying setup is simpler and easier to maintain.
Miscellaneous changes
task-2504306 Doc PR: https://github.com/odoo/documentation/pull/1115 Forward-Port-Of: odoo/enterprise#20265
Original PR description
task-2504306 Doc PR: https://github.com/odoo/documentation/pull/1115 Forward-Port-Of: odoo/enterprise#20265
Steps to reproduce: - Install "Field Service" module - Go to settings and activate "Recurring Tasks" - Go to Field Service -> All tasks and create new one - Set for Planned Date : 10/01/2021 14:00 -> 10/02/2021 14:30 - Check Recurrent and go to Recurrence tab - Select repeat every 1 weeks - Select Monday Issue: Wrong date for next occurrences (first occurrence is 09/06 instead of 10/04). Cause: Calculation based on today date. Solution: Calculate
Original PR description
Steps to reproduce: - Install "Field Service" module - Go to settings and activate "Recurring Tasks" - Go to Field Service -> All tasks and create new one - Set for Planned Date : 10/01/2021 14:00 -> 10/02/2021 14:30 - Check Recurrent and go to Recurrence tab - Select repeat every 1 weeks - Select Monday Issue: Wrong date for next occurrences (first occurrence is 09/06 instead of 10/04). Cause: Calculation based on today date. Solution: Calculate next occurrences based on planned_start_date if set. opw-2628777 Forward-Port-Of: odoo/enterprise#20625 Forward-Port-Of: odoo/enterprise#20529
The bcrp.gob.pe service is returning values with zero - "name": "26.Ago.21", "values": ["4.098"] - "name": "27.Ago.21", "values": ["0"] Checked on 1-Sept from: - https://estadisticas.bcrp.gob.pe/estadisticas/series/api/PD04640PD/json/20210827/20210827/ing -  I don't think the PEN currency were devalued to zero USD but a possible human error
Original PR description
The bcrp.gob.pe service is returning values with zero - "name": "26.Ago.21", "values": ["4.098"] - "name": "27.Ago.21", "values": ["0"] Checked on 1-Sept from: -…
The bcrp.gob.pe service is returning values with zero
- "name": "26.Ago.21", "values": ["4.098"]
- "name": "27.Ago.21", "values": ["0"]
Checked on 1-Sept from:
- https://estadisticas.bcrp.gob.pe/estadisticas/series/api/PD04640PD/json/20210827/20210827/ing
- 
I don't think the PEN currency were devalued to zero USD
but a possible human error
Better considering this case if another similar error is raised again
The traceback running the cron in Odoo-sh:
```txt
Error:
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/home/odoo/src/odoo/odoo/http.py", line 684, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/src/odoo/odoo/http.py", line 360, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/http.py", line 348, in checked_call
result = self.endpoint(*a, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 913, in __call__
return self.method(*args, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 532, in response_wrap
response = f(*args, **kw)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1393, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1381, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 396, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 383, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/home/odoo/src/enterprise/currency_rate_live/models/res_config_settings.py", line 520, in update_currency_rates_manually
if not (self.company_id.update_currency_rates()):
File "/home/odoo/src/enterprise/currency_rate_live/models/res_config_settings.py", line 92, in update_currency_rates
parse_results = parse_function(active_currencies)
File "/home/odoo/src/enterprise/currency_rate_live/models/res_config_settings.py", line 414, in _parse_bcrp_data
rate = 1.0 / float(series['periods'][-1]['values'][0])
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/http.py", line 640, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/src/odoo/odoo/http.py", line 316, in _handle_exception
raise exception.with_traceback(None) from new_cause
ZeroDivisionError: float division by zero
```
Forward-Port-Of: odoo/enterprise#20567