Daily updates from Odoo
Navigate
Branch
Wednesday, August 31, 2022
24 changes
Enhancements to existing features
Planning no longer tracks schedules at the individual task level, reducing detail that users need to manage. This simplifies planning screens and related project, timesheet, contract, and sales forecasting workflows so teams can focus on broader resource planning.
Original PR description
* = project_forecast, project_timesheet_forecast, project_timesheet_forecast_contract, project_timesheet_forecast_sale, sale_project_forecast In this commit we have edited all the models and views of the planning app in order to remove the task_id field and its dependencies. Along with that, we have removed/modified other fields/views in other apps (project, timesheets) that are related to the planning app's task_id field. This is done in order to simplify the planning app for the end users, by reducing the granularity of their planning info. task-2941828
The push notification feature now uses clearer wording for an editor role, replacing an older publisher label. This makes permissions easier to understand and includes a small internal cleanup to use the current website context more consistently.
Original PR description
https://github.com/odoo/odoo/pull/98200 https://github.com/odoo/upgrade/pull/3808
Documents receives a more polished user experience for browsing, previewing, organizing, and sharing files. Users can manage workspaces and tags directly from the search panel, share files with fewer steps, see PDF thumbnails, and use improved keyboard and viewer navigation.
The appointment booking search bar now displays suggestions as users search, making it easier for visitors to find the right appointment type. The search respects existing page filters, and invited users can also find appointment types that are not publicly published when they use a valid invite link.
Original PR description
Purpose ======= Use the new website searchbar which displays suggestions Specifications =========== Converting some instance methods of the controller to be static in order to reuse the logic for the appointments selection while computing the search results. This new search bar respects the URL-provided filters and a user with a valid invite token is able to search for unpublished appointment types. Task-2888646
The PLM toaster notification button and quantity update button were modernized in the manufacturing PLM interface. This should improve maintainability and keep the user experience aligned with the newer Odoo web interface without changing core business workflows.
Original PR description
convert plm toaster and plm udp qty button to wowl task-id: 2885757
Odoo now prevents creating account codes that contain characters unsupported by the new reporting engine. This helps avoid report generation issues by allowing only letters, numbers, and dots in account codes and templates.
Original PR description
The new account report engine requires account codes to only contain alphanumeric characters and dots. Add two new constrains on account_account and account_account_template to block the creation of accounts with codes that would cause issues in account reports. Task id #2960486
The separate Intrastat expiry module has been folded into the main Intrastat reporting module. This simplifies module management going forward while keeping the related reporting data, views, and tests under one place.
Original PR description
"account_intrastat_expiry" was introduced in stable. No need to keep it a separate module going forward. Task: 2732930
Knowledge article sample data now uses a light purple color for highlighted text instead of green. This makes it easier for users to tell regular emphasized text apart from clickable links.
Original PR description
Currently, some text in article data has the color green as the link text. As we can have more links, we are changing the color of the text so that it is easier to distinguish between the text and the link. This PR replaces the green text with a light purple color. taskID: 2962899
The SEPA Direct Debit payment form has been redesigned to be clearer, better aligned, and easier to use during checkout or payment method management. The update also improves accessibility and makes the SMS verification flow more intuitive for customers.
Original PR description
This commit revamps the template responsible for SEPA Direct Debit's payment form in order to: - Align the form inputs and make them use all the form's width (the layout broke with commit 971e5a91). - Use the checkout/manage form's `<form>` element to get rid of the complexity of custom forms built with Bootstrap's `row`s and `col`s. - Re-structure the form to use only one column with the labels above each input. - Improve the accessibility by linking inputs to their labels and inline descriptions. - Increase the size of the "Send SMS" button's text. - Make the "SMS Sent" label use the same styling as the "Send SMS" button. - Disable the verification code input until the SMS is sent rather than making it readonly. - Rely on elements' `id` rather than `name` attribute to hook the JS. - Get rid of custom SCSS and useless HTML. task-2959789
The timesheet settings now block changes to older entries based on each employee's latest validated timesheet date, rather than a fixed number of past days. This makes timesheet controls more consistent with validation status and helps prevent edits to already approved work records.
Original PR description
In this PR, timesheets_past_days_encoding_limit was removed. Now, when prevent_old_timesheets_encoding is activated, it's not possible to create, write and delete timesheets with a date <= timesheet.employee_id.last_validated_timesheet_date last_validated_timesheet_date is a new field added in 'hr.employee' last_validated_timesheet_date = max(date of validated timesheets for the employee) Related Prs: upgrade: https://github.com/odoo/upgrade/pull/3756 Task-2946737
Planning now includes overtime shifts in filters, making schedules easier to review. Users who plan sales orders can jump directly to the newly created shifts, and the guided tour has been improved so completion feedback appears at the right time.
Original PR description
Planning > Filters : Add shifts in overtime. Planning > Plan Orders > Succes notification : Add a button 'View Shifts' to see the orders just planned. Planning > Tour : Rainbow man should be displayed when the user is back on the planning view, after publishing it. Yet when a resource is added during the tour, a modal pops to add an employee and rainbow man pops behind it. To solve that, and to enrich the tour, 2 more steps were added: see next period and copy previous task-2851381
Resolved issues and error corrections
The delivery list now includes optional fields to show whether a Chilean delivery guide is linked and its tax authority status. The status is hidden for non-Chilean companies, keeping the view relevant and less cluttered.
Original PR description
Before this PR: Is not possible to view at a first sight in the tree view, if delivery has a delivery guide associated and the status related to the SII. Besides the SII DTE status, was shown even if the company is not Chilean. After this PR: The DTE status is set as optional hide, and invisible if the company is not from Chile. Additionally, the l10n_latam_document_number is added with attribute optional hide, to have it hidden by default. Suggestion or proposal for master: l10n_latam_document_number should be included in stock picking model and view, in a latam stock edi model (Abstract) in order to prevent the duplication of those fields in the view. Also, the l10n_edi_status should be a unified field in order to prevent its duplication in model and view. This has been previously made here: #23843 but it was decided to target master directly.
Several Odoo Enterprise screens were updated to use the newer Bootstrap 5 form styling. This keeps checkboxes and related controls displaying correctly and consistently after the framework upgrade.
Original PR description
https://getbootstrap.com/docs/5.1/migration/ replacing `custom-control` by `form-check` community: https://github.com/odoo/odoo/pull/98965
The payroll dashboard now properly clears old note display components before showing updated content. This prevents stale or duplicated note behavior and helps keep the dashboard reliable for payroll users.
Original PR description
The html field is not yet converted to owl. This causes some issues with how we have to display the notes in the payroll dashboard. Since we have to pass through ComponentAdapter, the code assumes that the widget properly cleans up between runs of `_reset` and `_render` however some parts of the widget are never cleaned up, for instance the `QWebPlugin`. This commit makes sure that we remove it if it exists before re rendering. Fw-port of https://github.com/odoo/enterprise/pull/30837
The Helpdesk stage edit form now displays without unwanted spacing between sections. This small layout fix makes the form look cleaner and easier to use when editing stages from the Helpdesk overview.
Original PR description
https://getbootstrap.com/docs/5.1/migration/
add `g-0` to rows to remove gutters in the helpdesk form view
Steps:
- Go to Helpdesk/Overview
- Open Customer care
- Edit `New` stage
- Click on Edit StageFeatures or functions removed from Odoo
An obsolete push notification preview component has been removed from the Social Push Notifications module. This cleanup reduces unused code and maintenance overhead without changing the user experience.
Original PR description
Unused since 15.0 at https://github.com/odoo/enterprise/commit/0f5a894488ed139c884dae0149c42f7a026b15e8#diff-165ba0e38a477640dc2e7353da9c1d325b8a5be5d5ae5c60ca73f2d84d66d097L10
Code cleanup and technical improvements
This update cleans up the Enterprise web interface code and related mobile tests ahead of the next major version. It helps improve maintainability and consistency without changing how users interact with the product.
Original PR description
Linting `@web_enterprise` code before v16
This change removes unnecessary internal code in the Field Service Sales product view to stay aligned with recent platform updates. It should have no visible impact for users, but helps keep the system easier to maintain and less prone to future issues.
Original PR description
Adaptation to some changes brought by the third commit of https://github.com/odoo/odoo/pull/99294
The Engineering Change Order card view in PLM now uses Odoo's standard cover image action instead of a custom script. This keeps the user experience consistent while reducing custom maintenance work and future upgrade risk.
Original PR description
This is done by using the 'standard' set_cover action. This allows to remove all custom js. task: 2885757
Miscellaneous changes
The standard values are computed via `compute_all` on `account.tax`. This will lead to the wrong result if a line on an SO is (partially) exempt or not taxable. Example of a tax returned by Avatax for a line which is not taxable: { 'description': '[S-PACK-S] Success Pack: Standard (50h) (End-User)', 'details': [{ 'country': 'US', 'exemptAmount': 0.0, 'id': 0, 'jurisCode': '36', 'jurisName': 'NEW YORK', 'jurisType': 'STA', 'jurisdictionType': 'Stat
Original PR description
The standard values are computed via `compute_all` on `account.tax`. This will lead to the wrong result if a line on an SO is (partially) exempt or not taxable. Example of a tax returned by Avatax…
The standard values are computed via `compute_all` on
`account.tax`. This will lead to the wrong result if a line on an SO
is (partially) exempt or not taxable.
Example of a tax returned by Avatax for a line which is not taxable:
{
'description': '[S-PACK-S] Success Pack: Standard (50h) (End-User)',
'details': [{
'country': 'US',
'exemptAmount': 0.0,
'id': 0,
'jurisCode': '36',
'jurisName': 'NEW YORK',
'jurisType': 'STA',
'jurisdictionType': 'State',
'liabilityType': 'Seller',
'nonTaxableAmount': 100.0,
'rate': 0.04,
'rateType': 'General',
'rateTypeCode': 'G',
'region': 'NY',
'reportingExemptUnits': 0.0,
'reportingNonTaxableUnits': 100.0,
'reportingTax': 0.0,
'reportingTaxCalculated': 0.0,
'reportingTaxableUnits': 0.0,
'stateAssignedNo': '',
'tax': 0.0,
'taxCalculated': 0.0,
'taxName': 'NY STATE TAX',
'taxSubTypeId': 'S',
'taxType': 'Sales',
'taxableAmount': 0.0,
...
}]
}
In this case NY STATE TAX is returned but the product in question is
not considered taxable ('tax' is 0.0, 'reportingNonTaxableUnits' is
the full amount). Because the returned rate is still 0.04 (the normal
rate for this tax), an account.tax record is created with an amount of
4% which results in Odoo calculating the wrong tax.
It's not possible to solve the problem by omitting these taxes in Odoo
because partial exemptions are possible (i.e. the 'rate' field is only
informational and we should never rely on it).
opw-2941694
opw-2928081
opw-2946895
Forward-Port-Of: odoo/enterprise#30104Steps to reproduce: 1- Install consolidation 2- go to any chart, and select consolidated balance 3- print preview 4- the file name + file title is the last created consolidated period regardless of which period you are trying to print Bug: in https://github.com/odoo/enterprise/blob/13.0/account_reports/models/account_report.py#L1378 the action `ir_actions_account_report_download` is returned to the frontend with the options parameter. However, the context is lost at this point
Original PR description
Steps to reproduce: 1- Install consolidation 2- go to any chart, and select consolidated balance 3- print preview 4- the file name + file title is the last created consolidated period regardless of…
Steps to reproduce: 1- Install consolidation 2- go to any chart, and select consolidated balance 3- print preview 4- the file name + file title is the last created consolidated period regardless of which period you are trying to print Bug: in https://github.com/odoo/enterprise/blob/13.0/account_reports/models/account_report.py#L1378 the action `ir_actions_account_report_download` is returned to the frontend with the options parameter. However, the context is lost at this point and any future calls to the backend will lack the necessary context this causes issues in https://github.com/odoo/enterprise/blob/13.0/account_consolidation/report/trial_balance.py#L217-L218 when there is no context available, it is not possible to determine which period is being printed Fix: pass by the context as a key-value pair in `options` and inject the context back in https://github.com/odoo/enterprise/blob/13.0/account_reports/controllers/main.py#L15 OPW-2918931 Forward-Port-Of: odoo/enterprise#30656 Forward-Port-Of: odoo/enterprise#29723
With a slow connection or by clicking rappidly on a day with slots, it's possible to have a traceback because the template is not yet loaded. To avoid this, we wait that all necessary elements are loaded. task-2822534 Forward-Port-Of: odoo/enterprise#30865 Forward-Port-Of: odoo/enterprise#30290
Original PR description
With a slow connection or by clicking rappidly on a day with slots, it's possible to have a traceback because the template is not yet loaded. To avoid this, we wait that all necessary elements are loaded. task-2822534 Forward-Port-Of: odoo/enterprise#30865 Forward-Port-Of: odoo/enterprise#30290
Steps to reproduce: - to be in the case of multi-companies (settings); - create a product with a company in its general information tab; - create a manufacturing order with a workcenter; - go to the workorder tablet view; - click on the "ADD COMPONENT" button; - try to add the product previously create. Issue: The product does not appear in the drop-down list. Cause: The "company_id" field of "mrp_workorder.additional.product" is null and so the "pro
Original PR description
Steps to reproduce:
- to be in the case of multi-companies (settings);
- create a product with a company in its general information tab;
- create a manufacturing order with a workcenter;
- go to the workorder tablet view;
- click on the "ADD COMPONENT" button;
- try to add the product previously create.
Issue:
The product does not appear in the drop-down list.
Cause:
The "company_id" field of "mrp_workorder.additional.product" is null and so the "product_id" filter (domain) does not match with the "company_id" for the product (because it belongs to a company and is different from null).
Solution:
Add a "default_company_id" which corresponds to the workorder in the context.
opw-2954673
Forward-Port-Of: odoo/enterprise#30703The specifications for the Belgian intrastat xml state that the weight should be given in kilograms, with a maximum of 2 decimal places. This commit ensures that the weight values in the xml are represented to 2 decimal places. Although the precision on the weight field is specified by Stock Weight decimal.precision model, which would in most cases be 2, if the precision is otherwise defined, it can result in an invalid declaration. The solution is to update the weight values in the x
Original PR description
The specifications for the Belgian intrastat xml state that the weight should be given in kilograms, with a maximum of 2 decimal places. This commit ensures that the weight values in the xml are represented to 2 decimal places. Although the precision on the weight field is specified by Stock Weight decimal.precision model, which would in most cases be 2, if the precision is otherwise defined, it can result in an invalid declaration. The solution is to update the weight values in the xml template. ticket-id: 2862157 Forward-Port-Of: odoo/enterprise#30237