Daily updates from Odoo
Wednesday, September 7, 2022
25 changes · master
New functionality added to Odoo
Online Appointments now includes a guided onboarding flow to help users create an appointment type, generate an invite link, and connect external calendar synchronization. This makes initial setup easier and helps businesses get appointment booking pages ready faster from the appointment and calendar views.
Original PR description
**Purpose** Add an 'Onboarding' to Appointment **Notes** See the COM PR for the concurrent implementation of the new onboarding module. The onboarding adds three steps: 1/ Create an appointment type. If one was already created, this one will be opened for confirmation. 2/ Create an appointment invite. If no appointment existed, create a simple one on-the-fly. In more details, The preview link step is specialized vs. appointment.invite's forw view to: - Use appointment name for link, allowing to reopen it and reuse without error - validate preview link onboarding step state only after one of the buttons is pushed 3/ Configure the external calendar synchronization. We added this logic to the calendar module and use it here. This onboarding is added to the kanban/list and list views of Online Appointments, as well as the Calendar view as it is the gateway into the appointment module-specific pages. Task-2852375 Part of Task-2900763 See odoo/odoo#97105
Adds a guided onboarding experience for the Appointment app to help users set up and preview appointment links more easily. This makes initial configuration clearer and supports reusable preview links tied to appointment names.
Enhancements to existing features
The appointment search dropdown now displays each appointment’s duration directly next to its name. This makes it easier for visitors to compare options quickly and choose the right appointment without extra scanning.
Original PR description
Purpose ======= Improve the search bar dropdown view. Specifications ============== This commit moves the appointment duration display directly next to the appointment name. Task-2888646
Project screens and shared portal pages have been simplified to reduce unnecessary steps and make key project information easier to find. The update also improves milestone handling, including showing milestones on shared project pages and creating required milestones automatically when sales orders are confirmed.
Original PR description
This commit (and its community equivalent) purpose is to smooth the user experience and remove unnecessary steps. The commits: - Remove all stat buttons except the status and collaboratos one from the project edit form. - Add multiple small changes to string/name fo fields in views - Change the custom 02M widget for a standart M2M for the management of child tasks - Add the milestone field to the portal page of shared project. - Remove the wizard 'marked_as_reached_milestone' - Add the automatic generation of milestone when a SO is confirmed if some SOL need it task-2941835 Related PR: * Community: odoo/odoo#98546 * Upgrade: odoo/upgrade#3798
Project Gantt views now show the total row whenever Project Enterprise is installed, instead of requiring the Field Service app. This gives managers consistent totals for planning and workload review across more project setups.
Original PR description
Previous to this commit, the `total_row` was added ìn the gantt only when `industry_fsm` was installed. This commit ensures that the `total_row` is added as soon as `project_enterprise` is installed.
When publishing and sending shifts, users can now enter missing employee email addresses in one combined pop-up instead of handling a separate pop-up for each employee. This makes sending schedules faster and simpler when multiple employee records are missing email details.
Original PR description
…mail In this commit we change the pop-up that is raised when we click on the 'Publish & Send' button of the 'Publish' dialog pop-up and we have employees without an email address on record. Previously, this would raise a different pop-up for each employee without email in order for the email to be specified. Now, a single pop-up with a list of employees and an input for their email is raised. This should make filling multiple missing email addresses quicker and more straightforward. task-2952021
The job application flow has been enhanced to make it easier and more flexible for candidates to apply online. Shared contract type information is also centralized so recruitment and contract processes can use the same data consistently.
Original PR description
Increase UX and possibilities to postulate to a job on recruitement. Also moves the model hr.contract.type from hr_contract to hr so that it can also be used from hr_recruitment without having two models in parallel. taskID 2898063
Social account lists and forms now display available usernames or handles, making it easier to identify connected profiles. Account and stream lists also show the owner, helping teams quickly understand who manages each social account or stream.
Original PR description
This PR adds the username/handle (if available) in the social accounts (form and list view), by introducing the `social_account_handle` field. Note that for Twitter, this field will contain the same info as the `twitter_screen_name` field, so this commit removes the `twitter_screen_name` field. Apart from that, this PR also adds owner (create_uid) in the tree view of social accounts and social streams to easily determine which account belongs to whom. taskID-2857845
The appraisal search view now clearly shows the department context when users open appraisals from an employee department. This helps managers understand which department’s appraisals they are reviewing without relying only on hidden filters.
Original PR description
When coming from Employees > Department and clicking on the appraisals, it opens a view with a domain on the department and the state of the appraisal. This commit shows the department the view is open from. task-2939207
This update brings the spreadsheet engine up to date with several improvements that make everyday spreadsheet work smoother. Users benefit from better copy/paste behavior, cleaner exports, more reliable collaboration, and fixes to menu, popover, scrolling, and formatting issues.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/5a488751 [FIX] package: Update owl version to match Odoo's https://github.com/odoo/o-spreadsheet/commit/91cd1afd [IMP]…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/5a488751 [FIX] package: Update owl version to match Odoo's https://github.com/odoo/o-spreadsheet/commit/91cd1afd [IMP] formulas: IFERROR preserves the format https://github.com/odoo/o-spreadsheet/commit/85ee38d8 [FIX] FiguresContainer: resize-corner z-index https://github.com/odoo/o-spreadsheet/commit/67817efc [FIX] topbar: menu highlight persisting after closing menu https://github.com/odoo/o-spreadsheet/commit/e9c34bbe [IMP] clipboard: allow user to paste a single cell on a merge https://github.com/odoo/o-spreadsheet/commit/3e4df743 [REF] clipboard: remove unused "force" option in PASTE command https://github.com/odoo/o-spreadsheet/commit/9ddeeea8 [FIX] popovers: display bug when scrolling with an opened popover https://github.com/odoo/o-spreadsheet/commit/a77c00f8 [FIX] menu: Only display submenus with `isVisible=true` https://github.com/odoo/o-spreadsheet/commit/0acf5429 [FIX] grid: cannot scroll when hovering popover https://github.com/odoo/o-spreadsheet/commit/da770644 [REF] clipboard tests: moved interactive tests outside of plugin test file https://github.com/odoo/o-spreadsheet/commit/c74c57ce [IMP] clipboard: allow to copy/paste figures https://github.com/odoo/o-spreadsheet/commit/f1c703fa [IMP] clipboard: make target for copy/cut command optional https://github.com/odoo/o-spreadsheet/commit/c43a3df0 [FIX] collaborative: fix transformation of dimensions https://github.com/odoo/o-spreadsheet/commit/b6266297 [REF] cell: remove unused property normalizedText https://github.com/odoo/o-spreadsheet/commit/4c2f85f1 [IMP] export: don't export empty content https://github.com/odoo/o-spreadsheet/commit/c3706568 [REF] conditional_formatting: introduce getCellComputedStyle
When creating applicants from the Documents app, each selected document now creates its own applicant instead of grouping all documents into one applicant. This makes candidate records clearer and reduces manual separation work for recruitment teams.
Original PR description
Prior to this commit, when using the create an applicant action in the documents app, a single applicant would be created with all documents attached to it. It will now create one applicant per document selected. TaskId-2974671
Attendance barcode scanning on mobile now uses the front or back camera based on the configured setting. This makes kiosk and mobile attendance check-ins easier to align with each workplace setup and device placement.
Original PR description
Use the front/back camera as defined in the new setting. task-2973809
Payslip PDF filenames now include the employee name plus the relevant month and year. This makes it easier to identify and organize multiple payslips for the same employee after download.
Original PR description
When downloading multiple payslips (of the same employee) it is impossible to distinguish between them because the name of the pdf only includes the name of the employee. From now on, the month and year are also included in the pdf name to be able to see at a glance which payslip the file contains. task-2954981
The Planning app now shows new users a visual preview of the role-based Gantt schedule instead of a generic helper. This makes onboarding clearer by demonstrating how planning information is grouped by role and resource, while limiting the preview to larger, non-portable devices.
Original PR description
Previous to this commit the helper displayed for the role was the regular one. In order to improve the onboarding, a preview of the gantt grouped by role and resource will be displayed. This feature as been limited to non portable devices. As it was part of the requirements not to use and image and rather use html, the code has been minified in order not to bloat the file. task-2971483
Resolved issues and error corrections
The Argentinian tax reports now handle the tax type dropdown correctly after the Bootstrap 5 update. Users can more easily choose between all, sales, and purchase tax types, reducing confusion and improving report accuracy.
Original PR description
The dropdown menu wasn't working properly due to Bootstrap 5 conversion. Moreover, the way the selection of the tax type was done wasn't user-friendly at all ('All' and 'Sales, Purchase' selections were distinct).
Task 2968918The consolidation module’s automated checks were updated to handle report totals that are now included earlier in the reporting process. This prevents false test failures and helps keep financial reporting quality checks stable without changing user-facing behavior.
Original PR description
With the changes introduced in reportalypse, total lines under sections are directly returned by the initial call to _get_lines(). Because of this, some tests from the consolidation module were failing, as they did not exclude total lines from the checks they ran.
This fixes an intermittent failure in an automated accounting reports test related to applying date comparison filters. It improves the reliability of quality checks without changing the user-facing accounting report experience.
Original PR description
The tour was failing in a non-deterministic way when trying to click on the date comparison filter's Apply button.
The account reports setup wizard now displays input fields and dropdowns at the intended size and alignment. This fixes a visual issue introduced by earlier field changes, making the setup screen clearer and easier to use.
Original PR description
This commit fixes the alignment of fields in the setup wizard template. Since the conversion of those fields, some parts of the DOM have been altered, and the oe_inline class makes the inputs and selects elements larger than it should. After this commit, and its community counterpart, the UI is correctly aligned. Before this PR: <img width="480" alt="image" src="https://user-images.githubusercontent.com/35101914/188806264-1bec6e45-e111-4fc8-aa5a-d45fe6da4ba3.png"> After this PR: <img width="478" alt="image" src="https://user-images.githubusercontent.com/35101914/188806012-9a221966-7944-4b82-8bea-ddf20cd500ff.png">
This fixes display and behavior issues in the mobile control panel, making it easier for users to search and navigate on smaller screens. The change helps provide a smoother experience for employees using Odoo Enterprise from mobile devices.
Original PR description
Community: https://github.com/odoo/odoo/pull/79423
This change fixes automated tests for anytime appointment scheduling by moving shared test support to the main appointment area. It helps ensure appointment features remain stable and reduces the risk of test failures blocking future updates.
Original PR description
Purpose ======= Fix anytime appointment tests suite. Specifications ============== Moving mock server handling anytime appointment route tests from appointment_hr to appointment Task-2974547
Code cleanup and technical improvements
The grid views in Timesheets and Web Grid now use the newer form dialog technology instead of an older internal component. This supports ongoing platform modernization and helps keep these views compatible with future Odoo versions, with little expected change for end users.
Original PR description
*web_grid,timesheet_grid
The bank reconciliation interface has been rebuilt on a newer front-end foundation while keeping its accounting purpose the same. This should make the screens easier to maintain and support future improvements with limited immediate business-process impact.
Original PR description
Refactor the bank reconciliation widgets to OWL2
Miscellaneous changes
Create a new customer batch payment as follows: - Batch type: Inbound - Payment method: manual - Batch content: create 2 payments (A, B) Save the batch Go to payment A, confirm, mark as sent, reconcile Go to payment B, confirm. Return to the batch payment Edit, remove the unsent payment (B), Save The record will not update correctly, reloading the record all the payments will be there opw-2685631 Forward-Port-Of: odoo/enterprise#30935 Forward-Port-Of: odoo/enterprise#29223
Original PR description
Create a new customer batch payment as follows: - Batch type: Inbound - Payment method: manual - Batch content: create 2 payments (A, B) Save the batch Go to payment A, confirm, mark as sent, reconcile Go to payment B, confirm. Return to the batch payment Edit, remove the unsent payment (B), Save The record will not update correctly, reloading the record all the payments will be there opw-2685631 Forward-Port-Of: odoo/enterprise#30935 Forward-Port-Of: odoo/enterprise#29223
The text editor in the payroll dashboard currently increases its width according to the content of the editor. This causes the editor to go to the next line as its width is bigger than the parent row. This commit fixes this issue by forcing a max-width of the content to 100% of the parent's width. task-2967030 Forward-Port-Of: odoo/enterprise#30852
Original PR description
The text editor in the payroll dashboard currently increases its width according to the content of the editor. This causes the editor to go to the next line as its width is bigger than the parent row. This commit fixes this issue by forcing a max-width of the content to 100% of the parent's width. task-2967030 Forward-Port-Of: odoo/enterprise#30852
Computing initial values of `can_be_paid` field may work slowly or get timeout error on large database. Fix it by using `exception` as initial value for existing invoices. opw-2894901 Forward-Port-Of: odoo/enterprise#31063
Original PR description
Computing initial values of `can_be_paid` field may work slowly or get timeout error on large database. Fix it by using `exception` as initial value for existing invoices. opw-2894901 Forward-Port-Of: odoo/enterprise#31063