Daily updates from Odoo
Wednesday, December 1, 2021
15 changes · master
Security fixes and vulnerability patches
Reporting menus in Helpdesk, Field Service, Planning, and Timesheet Forecast are now available to the appropriate business users instead of being limited to administrators. Access to combined timesheet and planning analysis is also better aligned so users only see it when they have the required permissions.
Original PR description
* helpdesk, industry_fsm, planning, project_forecast - removed the 'admin' group on the reporting menu items so that 'users' can access these menus. - if a user has a project user group then it should automatically add the planning group. LINKS: Task-2467564
New functionality added to Odoo
Users can now retweet or quote tweets directly inside Odoo instead of switching to Twitter and logging in separately. This streamlines social media workflows while preserving Twitter-like behavior, including limits on duplicate retweets and support for multiple quote tweets.
Original PR description
To retweet or quote a given tweet, the user has to go on Twitter, log in with the account of the company and retweet or quote the given tweet from Twitter. This current flow is not really convenient as the user has to leave the app and may have to provide some credentials to log in. With this new commit, the user will now be able to retweet and quote a tweet directly from Odoo. The interface will be similar to Twitter: The quoted tweet will be represented in an embeded view and the tweet cards will have a small dropdown menu allowing the user to retweet or quote a tweet. task-2518289
Enhancements to existing features
This update refreshes the spreadsheet engine used in Documents, improving formula handling, selections, rendering, and error messages. Business users should see more reliable spreadsheet behavior, clearer feedback when something is invalid, and added summary statistics in the bottom bar.
Original PR description
this commit includes the following imps and fixes: [FIX] figure: recenter container handles [FIX] grid: viewport dimension depends on the sidepanel status [FIX] composer: Ensure legitimate rendering…
this commit includes the following imps and fixes: [FIX] figure: recenter container handles [FIX] grid: viewport dimension depends on the sidepanel status [FIX] composer: Ensure legitimate rendering of topbar composer content [FIX] composer: mock of ContentEditableHelper should support SelectionIndicatorClass [FIX] Composer: ensure correct rendering of the composer [FIX] evaluation: fix evaluation problem [FIX] evaluation: references with async references on different sheets [FIX] core: update range references with space in sheet name [FIX] ranges: do not adapt invalid ranges on copy/autofill [FIX] compiler: Fix error messages on invalid type of arguments [REF] compiler: Adapt compiler structure to support multi-level laziness [FIX] compiler: Allow multi depth laziness [FIX] Selection: handle hidden cells when reducing selection [REF] cell,sheet: normalize cell data in the cell plugin only [REF] model: copy dispatched commands [IMP] sheets: introduce tryGetRow and tryGetCol [REF] renderer: simplify boxes computation [REF] sort: extract sortCells function in helpers [REF] components: remove lifecycle methods [IMP] UISheet: display error message when sheet name is not valid [IMP] helpers: toCartesian throw meaningful error message [FIX] renderer: always align formulas on the left [REF] menu: remove direct reference to sub menu [IMP] bottom-bar: add statistic information list
The Peruvian ICBPER tax group has been moved so it is managed consistently with other Peruvian tax groups in the community localization module. This is an internal alignment that should not change day-to-day behavior, but helps keep tax configuration consistent during upgrades.
Original PR description
The ICBPER tax group was defined only in l10n_pe_edi, while all other tax groups are defined in l10n_pe. The old record XMLID is being renamed to l10n_pe, nothing else should change. If l10n_pe is upgraded too, the l10n_pe.tax_group.icbper will be automatically added and we need to remove it before renaming. Communiy PR: https://github.com/odoo/odoo/pull/78187 Enterprise PR: https://github.com/odoo/enterprise/pull/21596 Upgrade PR: https://github.com/odoo/upgrade/pull/2914
The Sign app interface now adapts better on smaller screens by moving key actions like Sign Now, Send, and Share into the Action menu when space is limited. These actions are also easier to access from list views, and signature popovers have cleaner button ordering and spacing to reduce overflow and misalignment.
Original PR description
Put "Sign Now", "Send" and "Share" into the dropdown menu of "Action" button when the window is too small Add add "Send" "Sign Now" and "Share" buttons in the list view Make green saving Kanban in the center of the screen when the window is too small Change the order of buttons for signature popover Make "width: 30%" css only for buttons for signature popover task-2630720
The timer feature has been modernized to use Odoo’s newer interface framework. This prepares the timer for future enhancements while keeping its existing behavior stable for users.
Original PR description
Purpose To prepare future for owl Specifcation Convert timer widget to owl task - 2274043
Code cleanup and technical improvements
The spreadsheet document tests were reorganized and simplified to use more realistic workflows and shared test data. This reduces internal maintenance effort and improves confidence in future spreadsheet changes without changing the user-facing product behavior.
Original PR description
The aim of this commit is to remove the complexity of the tests helpers (for pivot and list) The first step is to make the transport a service and not a params in the action. The only reason to define the transport service in the spreadsheet action is to inject a mock channel in the tests. With the services, we can now remove all this logic and simply create a fake service in the tests. The second step is to use the same data for all the tests The third step is to rewrite the test helpers. The new helpers use a webclient configured with everything needed for spreadsheet (registries, collaborative, ...), and use the UI to create a list or a pivot. There are two main advantages of this: it's simplier and more closer from reality. Task-id 2658217
The VoIP dialing panel and related call management screens have been rebuilt on Odoo's newer interface framework. This prepares the calling experience for future improvements while keeping the core business workflow the same.
Original PR description
Write the Dialing Panel in owl Also, convert related widgets to Dialing Panel into owl. PR https://github.com/odoo/enterprise/pull/10421 Task-2253551
The accounting VAT activity display has been updated behind the scenes to use Odoo’s newer interface framework. This keeps the feature aligned with future platform improvements without changing the business workflow.
Original PR description
PURPOSE Prepare future for owl SPEC Convert kanban_vat_activity to owl component
The activity menu in the top navigation has been rebuilt using Odoo's newer interface framework. This prepares the feature for future improvements while keeping the user experience largely unchanged.
Original PR description
PURPOSE Prepare future for OWL SPEC Convert Activity Systray Menu into OWL TASK 2320240
Miscellaneous changes
When computing start/end dates of shifts, the static method _calculate_start_end_dates is used and is calling _get_tz method. In case of a recomputation on several records, this causes an issue as this latter method is using self values, so it could generate incorrect results or a traceback if several employees are defined in the recordset. This commit also fixes an issue in the planning tests. From this commit dc67b32, the employee_id has become a compute field from the ressource_id. Som
Original PR description
When computing start/end dates of shifts, the static method _calculate_start_end_dates is used and is calling _get_tz method. In case of a recomputation on several records, this causes an issue as this latter method is using self values, so it could generate incorrect results or a traceback if several employees are defined in the recordset. This commit also fixes an issue in the planning tests. From this commit dc67b32, the employee_id has become a compute field from the ressource_id. Some tests were not addapted in this PR #19695, which this commit fixes. opw-2700259 Forward-Port-Of: odoo/enterprise#22597
Bug === The type function has been removed from the QWeb rendering context. Therefor, the code that generate the branding attrs in studio must be adapted. Forward-Port-Of: odoo/enterprise#22632
Original PR description
Bug === The type function has been removed from the QWeb rendering context. Therefor, the code that generate the branding attrs in studio must be adapted. Forward-Port-Of: odoo/enterprise#22632
before this commit: - on the preview page of a signed document, if the user want to download it, and the completed_document does not exists, we suppose that's because the pdf is encrypted and so we redirect the user to the pwd encoding page. Even if the pdf is not encrypted but there was just an error during the generation process.(pypdf2 don't like some PDF) after this commit: - we check if the document is really encrypted before redirecting the user to the pwd encoding p
Original PR description
before this commit: - on the preview page of a signed document, if the user want to download it, and the completed_document does not exists, we suppose that's because the pdf is encrypted and so we…
before this commit: - on the preview page of a signed document, if the user want to download it, and the completed_document does not exists, we suppose that's because the pdf is encrypted and so we redirect the user to the pwd encoding page. Even if the pdf is not encrypted but there was just an error during the generation process.(pypdf2 don't like some PDF) after this commit: - we check if the document is really encrypted before redirecting the user to the pwd encoding page. If not encrypted, we try to generate the final PDF and if it's not working it'll show an 500 internal error. It'll be less confusing than asking for a pwd that does not exists. (and still return a 500 error regardless of what the user sets as pwd) Step to reproduce: - With some pdf like this one : [Gantt chart - Gantt Chart.pdf](https://github.com/odoo/enterprise/files/7433534/Gantt.chart.-.Gantt.Chart.pdf) ( simple template from googlesheet ) pypdf2 crashes when generating the document. In this situation the complete_document does not exist and the user is redirected and asked to enter a pwd. Forward-Port-Of: odoo/enterprise#22414 Forward-Port-Of: odoo/enterprise#21945
Before this commit, when trying to add a linkedin account with no page linked, there was no error, nothing was shown. Now, an explicit error is shown to the user. Steps to reproduce: - Have a V14 with social - Have a Facebook account - Go to Marketing Social - Add a Stream - Choose Facebook - Don't check any pages when Facebook ask for it and continue - Connect your account After theses steps, the browser comes back to the Social Marketing page but nothing
Original PR description
Before this commit, when trying to add a linkedin account
with no page linked, there was no error, nothing was shown.
Now, an explicit error is shown to the user.
Steps to reproduce:
- Have a V14 with social
- Have a Facebook account
- Go to Marketing Social
- Add a Stream
- Choose Facebook
- Don't check any pages when Facebook ask for it and continue
- Connect your account
After theses steps, the browser comes back to the Social
Marketing page but nothing has changed and the `social.account`
is not created.
Forward-Port-Of: odoo/enterprise#22081A number of templates were missing their thumbnails for the "select your template" tab. This introduces new ones based on the templates' colors. task-2702007 Odoo PR: https://github.com/odoo/odoo/pull/80574 Forward-Port-Of: odoo/enterprise#22610
Original PR description
A number of templates were missing their thumbnails for the "select your template" tab. This introduces new ones based on the templates' colors. task-2702007 Odoo PR: https://github.com/odoo/odoo/pull/80574 Forward-Port-Of: odoo/enterprise#22610