Monday, September 19, 2022
24 changes · master
New functionality added to Odoo
A new manufacturing dashboard has been added and the full set of spreadsheet dashboards has been reorganized into a clearer order. This helps business users find key operational dashboards more easily and adds better visibility into manufacturing performance.
A new rental dashboard has been added to help teams monitor rental-related sales activity in one place. This gives business users quicker access to key rental performance insights for reporting and decision-making.
Enhancements to existing features
Website administrators can now add a rental search bar to help customers find products available for specific dates. This improves the shopping experience for rental businesses by making availability-based searches easier on both desktop and mobile.
Original PR description
This commit adds a rental search bar snippet task-2806828
Resolved issues and error corrections
Mexican XML accounting policy exports now include the required national voucher information when invoices, vendor bills, or payment complements are present. This helps companies meet electronic accounting requirements and improves report generation performance by storing related Mexican e-invoicing fields.
Original PR description
With an MX company create an invoice, send CFDI for validation Open Accounting>Report>General Ledger Click on EXPORT(XML POLIZAS) The resulting file will not have any node PLZ:CompNal According to Anexo 20 "C" of Contabilidad electrónica "Pólizas de diario" the information is needed when we have it in invoices, vendor bills, and Complementos de Pago For optimal performances when retrieving data for the report, l10n_mx computed fields have now also stored opw-2871127
Miscellaneous changes
Using UPDATE to speed up module installation is not the best way to do it, because that touches every single line. Instead add the column with a DEFAULT value in the database schema directly. That way PostgreSQL will not need to touch the rows at all, the operation will be instantaneous, and the actual values will be lazily initialized when the rows are modified later. Previous implementation: c426a4532d507b729f677f220b4571a096d188d5 opw-2894901 Forward-Port-Of: odoo/enterprise#31222
Original PR description
Using UPDATE to speed up module installation is not the best way to do it, because that touches every single line. Instead add the column with a DEFAULT value in the database schema directly. That way PostgreSQL will not need to touch the rows at all, the operation will be instantaneous, and the actual values will be lazily initialized when the rows are modified later. Previous implementation: c426a4532d507b729f677f220b4571a096d188d5 opw-2894901 Forward-Port-Of: odoo/enterprise#31222
Helpdesk teams now use clearer wording to explain how automatic ticket assignment works, making round-robin and balanced assignment easier to understand. The ticket list also gains an overtime filter for service order hours, and live chat helpdesk commands are only shown when a suitable team is available.
Original PR description
helpdesk.team > automatic assignment \- change 'each user is assigned an equal number of tickets' into 'new tickets are evenly distributed among users (round-robin)' \- change 'each user has an equal number of open tickets' into 'new tickets are assigned to the users with the least amount of open tickets (balanced)' helpdesk.ticket search view: add a 'tickets in overtime' filter that should return tickets with a negative number of 'remaining hours on SO task-2880101
Project settings are reorganized into clearer sections, making configuration easier for users to understand. Task search and grouping now use ancestor tasks, and document-to-task creation is improved for smoother project workflows.
Original PR description
**= project_timesheet_forecast,documents_project, project_forecast Purpose of this PR to improve generic usage of project app. So, in this PR done following changes: -In project.project form view : - Divided settings into sections -Replace/Add parent task with ancestor task' in group by and quick search -In documents_project improved create task action task-2844212
Sendcloud shipping now recognizes the warehouse label when matching sender addresses, instead of relying only on the contact name. This makes address selection more flexible and helps reduce setup friction for warehouses using labels.
Original PR description
Before this commit, we used to search for a sender address with the contact name set as the warehouse name, now the label field can be used instead.
The payroll dashboard now warns users when an employee's company does not match the company listed on their contract. This helps payroll teams spot setup issues earlier and reduce the risk of processing payroll with incorrect employee or contract information.
Original PR description
Add a new warning on payroll dashboard to show employees whose company is different than the company shown on the contract. task-2974531
The Planning app now provides clearer labels, helpful placeholders, more date filters, and richer resource names so users can plan shifts faster and with less confusion. Gantt planning on mobile is also easier to read because workload progress remains visible on smaller screens.
Original PR description
The purpose of this commit is to improve the generic usage of the planning app.
These are the following improvements:
- Added tags for shifts in demo data.
- Added a placeholder for field "planning_role_id".
- Improve gantt view for mobile.
- Rename the button text from "Copy Previous"
to "Copy Previous Week".
- Added the following filters:
next week,this week,tomorrow,yesterday,last week.
- Change the placeholder of name field.
- Added a placeholder in field "resource_id".
- Added the resource role in planning "name_get".
task-2823201The invoice OCR interface has been redesigned so detected document areas appear directly when users focus on related fields. This makes it easier for accounting teams to verify extracted invoice data and reduces confusion during document review.
Original PR description
The boxes interface has been redesigned for a better integration and user experience. It will now be displayed when a field detected by the OCR is focused in the form view. Community PR: odoo/odoo#99439 Upgrade PR: odoo/upgrade#3851 Related task: #2858695
The salary configurator now avoids a browser error when Belgian payroll is not installed by keeping Belgian child-related input handling in the correct Belgian salary module. This helps recruiters and applicants complete offer salary pages reliably across company setups.
Original PR description
An error occurred when `l10n_be_hr_payroll` wasn't installed.
The salary configurator wasn't able to read `disabled_children_bool` and
`disabled_children_number` inputs because they are defined in
`l10n_be_hr_payroll` template.
Note that python fields related to those inputs are defined in this
module too.
So it seems logic to move the related js code inside
`l10n_be_hr_contract_salary` (who indirectly depends on
`l10n_be_hr_payroll`) because this code is linked to the belgium salary
configurator.
We also take the opportunity to use the "safe" jQuery method
`node.prop('checked')` to process the related code.
Steps to reproduce:
- Go to Recrutement app (on US company)
- Experienced developer => New application
- Open Johan Duck
- Generate offer and click on the offer link
- The salary configurator page has an error on the browser console
Related commit:
https://github.com/odoo/enterprise/commit/e5283ada2fbd93caceaa036aa7701fc1509140eaThis update fixes an automated test for the recruitment document signing flow. It helps keep quality checks reliable so future changes to recruitment signing can be validated with fewer false failures.
The map view was adjusted so its control panel no longer refreshes unnecessarily every time map points load. This should make using maps feel steadier and reduce distracting visual updates for users.
This fixes an automated test flow for manufacturing work orders to ensure lot information is fully saved before moving to the next quality check. It helps prevent false test failures and supports more reliable validation of production workflows.
Original PR description
In the `test_add_component` tour, writing a lot_id on a quality check then changing the current quality check can be done so quickly the lot is not saved. This commit adds step in the tour to be sure the lot is set correctly.
The settings page now shows the correct Accounting logo instead of the Invoicing logo. This avoids visual confusion and keeps the branding consistent for users configuring accounting features.
Original PR description
Before this commit, the logo of invoicing was used on the settings. Now, the correct logo is used on the settings.
Following Datev documentation, the header of the 14th cell should be the length of the accounts on the csv instead of being a fixed number. t-2957330 Forward-Port-Of: odoo/enterprise#30650
Original PR description
Following Datev documentation, the header of the 14th cell should be the length of the accounts on the csv instead of being a fixed number. t-2957330 Forward-Port-Of: odoo/enterprise#30650
Steps to reproduce the bug: - install mrp_plm - Create a storable product: - Add 2 attributes - Save - Go to General information tab Problem: The field internal reference(`default_code`) and `version` remains displayed on the model `product.template` whereas the product has variants Solution: If the product has variants, the `default_code` field in the `product.template` model should be hidden opw-2974312 Forward-Port-Of: odoo/enterprise#31152
Original PR description
Steps to reproduce the bug:
- install mrp_plm
- Create a storable product:
- Add 2 attributes
- Save
- Go to General information tab
Problem:
The field internal reference(`default_code`) and `version` remains displayed on the model `product.template` whereas the product has variants
Solution:
If the product has variants, the `default_code` field in the `product.template` model should be hidden
opw-2974312
Forward-Port-Of: odoo/enterprise#31152The export methods are supposed to return bytes [1]. [1]: https://github.com/odoo/enterprise/blob/0a543480438a2ba752961ba333109c2b1874f514/account_reports/wizard/report_export_wizard.py#L68 opw-2978210 Forward-Port-Of: odoo/enterprise#31430 Forward-Port-Of: odoo/enterprise#31234
Original PR description
The export methods are supposed to return bytes [1]. [1]: https://github.com/odoo/enterprise/blob/0a543480438a2ba752961ba333109c2b1874f514/account_reports/wizard/report_export_wizard.py#L68 opw-2978210 Forward-Port-Of: odoo/enterprise#31430 Forward-Port-Of: odoo/enterprise#31234
No need to run `action_done` on self for each record in self. Forward-Port-Of: odoo/enterprise#31238 Forward-Port-Of: odoo/enterprise#31223
Original PR description
No need to run `action_done` on self for each record in self. Forward-Port-Of: odoo/enterprise#31238 Forward-Port-Of: odoo/enterprise#31223
In a customer db, the field `hours_per_day` have been created in `hr_contract`. This create issue cause a query should use `resource_calendar.hours_per_day` but no alias is used, then an ambiguous error is raised. Using the right alias to avoid ambiguous columns reference. ``` arg@(none):arg_379450> select id,module,name from ir_model_data where name like '%hours_per_day%'; +--------+------------------+----------------------------------------+ | id | module | name
Original PR description
In a customer db, the field `hours_per_day` have been created in `hr_contract`. This create issue cause a query should use `resource_calendar.hours_per_day` but no alias is used, then an ambiguous…
In a customer db, the field `hours_per_day` have been created in `hr_contract`. This create issue cause a query should use `resource_calendar.hours_per_day` but no alias is used, then an ambiguous error is raised.
Using the right alias to avoid ambiguous columns reference.
```
arg@(none):arg_379450> select id,module,name from ir_model_data where name like '%hours_per_day%';
+--------+------------------+----------------------------------------+
| id | module | name |
|--------+------------------+----------------------------------------|
| 4090 | resource | field_resource_calendar__hours_per_day |
| 58441 | libya_hr_payroll | field_hr_contract__hours_per_day |
| 165152 | libya_hr_payroll | field_resource_calendar__hours_per_day |
+--------+------------------+----------------------------------------+
SELECT 3
```
upg-379576
```
Traceback (most recent call last):
File "/home/odoo/src/odoo/15.0/odoo/service/server.py", line 1260, in preload_registries
registry = Registry.new(dbname, update_module=update_module)
File "/home/odoo/src/odoo/15.0/odoo/modules/registry.py", line 87, in new
odoo.modules.load_modules(registry, force_demo, status, update_module)
File "/home/odoo/src/odoo/15.0/odoo/modules/loading.py", line 470, in load_modules
processed_modules += load_marked_modules(cr, graph,
File "/home/odoo/src/odoo/15.0/odoo/modules/loading.py", line 363, in load_marked_modules
loaded, processed = load_module_graph(
File "/home/odoo/src/odoo/15.0/odoo/modules/loading.py", line 199, in load_module_graph
registry.init_models(cr, model_names, {'module': package.name}, new_install)
File "/home/odoo/src/odoo/15.0/odoo/modules/registry.py", line 428, in init_models
model.init()
File "/home/odoo/src/enterprise/15.0/hr_payroll/report/hr_work_entry_report.py", line 74, in init
self.env.cr.execute(
File "<decorator-gen-3>", line 2, in execute
File "/home/odoo/src/odoo/15.0/odoo/sql_db.py", line 90, in check
return f(self, *args, **kwargs)
File "/home/odoo/src/odoo/15.0/odoo/sql_db.py", line 313, in execute
res = self._obj.execute(query, params)
psycopg2.errors.AmbiguousColumn: column reference "hours_per_day" is ambiguous
LINE 34: hours_per_day
^
```
Forward-Port-Of: odoo/enterprise#31266Steps to reproduce: - instal l10n_lu_reports_annual_vat module - create a company in luxembourg - generate annual report Bug: some values are in the wrong collumns Fix: realigned the target collumns (Telecommunications, Fire insurance, Property tax) all shifted right opw-2968184 Forward-Port-Of: odoo/enterprise#31386
Original PR description
Steps to reproduce: - instal l10n_lu_reports_annual_vat module - create a company in luxembourg - generate annual report Bug: some values are in the wrong collumns Fix: realigned the target collumns (Telecommunications, Fire insurance, Property tax) all shifted right opw-2968184 Forward-Port-Of: odoo/enterprise#31386
In case that the calculated total by odoo does not match the XML total, it warns the user, to require his action in order to match the correct value. Forward-Port-Of: odoo/enterprise#30013
Original PR description
In case that the calculated total by odoo does not match the XML total, it warns the user, to require his action in order to match the correct value. Forward-Port-Of: odoo/enterprise#30013
When creating time off timesheet from the timesheet app,the newly created timesheet is connected to a leave request while it shouldn't be linked to any leave request and in consequence you can only delete this new timesheet by deleting the leave request. Explanation: To create the new timesheet timesheet_grid makes a copy of another timesheet on the same line and that makes that the holiday_id (used to link timesheet and leave request) is also copied. Solution: When copying a timesh
Original PR description
When creating time off timesheet from the timesheet app,the newly created timesheet is connected to a leave request while it shouldn't be linked to any leave request and in consequence you can only delete this new timesheet by deleting the leave request. Explanation: To create the new timesheet timesheet_grid makes a copy of another timesheet on the same line and that makes that the holiday_id (used to link timesheet and leave request) is also copied. Solution: When copying a timesheet the holiday_id is not copied This commit add the test corresponding to the fix opw-2951062 Forward-Port-Of: odoo/enterprise#31303 Forward-Port-Of: odoo/enterprise#30875