Daily updates from Odoo
Navigate
Branch
Thursday, February 14, 2019
31 changes
New functionality added to Odoo
This adds a new CRM lead generation feature that lets sales teams request leads based on criteria such as location, company size, industry, technologies, and contact seniority. It helps teams quickly create targeted opportunities with preset sales assignments and tags, reducing manual prospecting work.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now add a signature directly to binary file fields by drawing it, uploading an image, or generating it from their name. This makes signature collection reusable beyond the portal and sale flows, reducing duplicate signature handling across the system.
Original PR description
Add a new widget for binary fields. It open a dialog box and the user can sign manually,
or an signature can be draw automatically or he can upload a picture of his signature.
There are 3 options on the widget:
A 'full_name' option that defines which char field will be used as 'full name' to automatically generate the signature, the field must be present in the view (either in invisible). Example: "{'full_name': 'display_name'}". If this option is set, we can use the auto sign function.
A 'default_font' option to set the font to use for the 'auto' signature. If this option is set, we should not show the font selector.
A 'size' option with the length and/or the width. Example: "{'size': [200,'']}" or "{'size': [200,400]}".
id=1929011
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prIntroduces a redesigned user profile page that brings together gamification, forum activity, and eLearning progress in one place. This gives learners and community members a clearer view of their achievements and makes course-related discussion easier through linked forums.
Original PR description
Purpose of this merge is to provide a completely new and improved user profile page linked to gamification, slides and forum. Those frontend applications now heavily rely on website profile and add…
Purpose of this merge is to provide a completely new and improved user profile page linked to gamification, slides and forum. Those frontend applications now heavily rely on website profile and add their own custom content like channel or forum participation or challenges results. This merge is linked to the currently under development eLearning feature [1][2]. This merge contains notably * review website profile page centralized in a new module : website_profile; * move everything that was linked to the profile from website_forum in website_profile; * properly add forum informations in website_forum through inheritance; * add channel / course informations in website_slides through inheritance; A new bridge module is added that is website_slide_forum. It makes a link between those two applications. Publishers can create a forum linked to a course allowing participants to communicate and ask questions related to a course. Profile page is contextualized. When coming from a channel informations about this channel is displayed. Linked forum information is added. When coming from a specific forum only information related to this forum is displayed. Otherwise a profile page with aggregated information is displayed. Some other improvements are done: ranks, karma, badges from gamification are included in forum and eLearning, 'new badge notifications' mechanism is removed as email are send, and various other improvements. See sub commits for more details. Merge linked to task ID 1922159. [1] see task ID 1902304 (main eLearning task) PR #29876; [2] see task ID 1936153 (new homepage for slides) PR #30770;
Administrators can now reset modified views and website templates back to their original definitions without reinstalling modules. This makes it faster to recover from broken customizations and improves reliability when working with developer XML mode.
Original PR description
Allow to restore user-modified views to their original state by RPC or with a button available in ir.ui.view form view (debug mode) Task: https://www.odoo.com/web#id=39930&view_type=form&model=project.task&menu_id=
The mobile app now offers a barcode scanner button for fields that link to another record. This lets users scan barcodes with the device's native scanner instead of manually searching or typing, speeding up mobile workflows and reducing entry errors.
Original PR description
After this commit a new widget will be available FieldMany2OneBarcode. When user touch this button the native app will open the native barcode scanner. Task ID: 1924766
Enhancements to existing features
This change refreshes the Gantt planning view foundation and updates related documentation and validation rules. It also adds Gantt scheduling support for payroll benefits, making benefit timelines easier to visualize and manage.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Employees now get a dedicated profile that gathers their personal HR information and can be accessed from preferences when linked to an employee record. This improves self-service updates while preserving HR access controls, and also adds profile integrations for attendance, presence, skills, leave, expenses, payroll, and related HR workflows.
Original PR description
[IMP] hr_*: introduce the employee profile ================================ ## General Purpose We want an 'Employee profile' gathering every data about an employee. The main form view is modified to…
[IMP] hr_*: introduce the employee profile ================================ ## General Purpose We want an 'Employee profile' gathering every data about an employee. The main form view is modified to become this employee profile. A user can also see his own profile through the Preferences menu. The new profile replaces the current Preferences view if the `hr` module is installed and the current user is linked to an employee. The Profile will show the employee of the current company. A user should be able to see and edit his own profile. *Problem*: Many fields on hr.employee are protected by `groups="hr.group_hr_user"`. Therefore, a regular user cannot see or edit those fields. This protection must be bypassed to allow read/write access to the regular user's own data. A similar mechanism already exists for `res.users` (for Preferences) The better (least worst) solution found is to reuse this mechanism by adding related fields on `res.users`. Pros: - Don't change security access on hr.employee - Don't implement yet another custom security layer, risking to add new security breaches - A lot of fields are added by other modules on hr.employee. It would have required to integrate them with the custom security layer. - Fields added by other modules on the user's preferences view (normal view, not the profile) are automatically included in the employee's profile view. - Allow the hr.employee form view to be different than the user profile accessible through the Preferences menu. E.g. add custom buttons only relevant to the logged in user such as "Request a leave". Cons: - Each field from hr.employee that you want to appear on its profile must be added as a related field on res.users - Those related fields must be added to user's preferences view (duplicate views) - They also must be added to `SELF_[READABLE | WRITABLE]_FIELDS` Note: When the front-end loads the views it gets the list of available fields for the user (according to its access rights). Later, when the front-end wants to populate the view with data, it only asks to read those available fields. However, in this case, we want the user to be able to read/write its own data, even if they are protected by groups (groups are kept on the related fields on res.users). The front-end need to be made aware of those fields by sending all field definitions. ## Changed modules ### hr_attendance Adds a stat button to this employee profile showing the number of hours worked last month. Remove the Boolean computed field `manual_attendance`. This field is just a shortcut to add/remove the employee's user in the "Manual Attendance" group. The checkbox is confusing on the employee's form and this should be done through the normal group management screens. ### hr_presence Display the presence status on the employee kanban template. The status is a colored chip which can be green (present), orange (to define) or red (absent). Currently, the presence status is only computed when accessing the report view. As this commits displays it on the employee kanban, it should be updated more frequently. The state should not be updated every time the kanban view is loaded since the computation is a bit heavy. Instead: add a cron to update status every hour. -> The status is accurate on the report view (status is still updated when loading the view) -> The status in accurate at 1 hour on the kanban view ### [ADD] hr_attendance_presence Bridge module between `hr_attendance` and `hr_presence`. This PR integrates `hr_presence` module in the employee profile and adds the presence status on the employee kanban view. But `hr_attendance` adds at the same place a similar status icon for checkin/checkout. This bridge module makes the status from `hr_presence` invisible as `hr_attendance` should be the main presence control mechanism. Also, this commit adds the ability (through a new setting option) for `hr_presence` to take into account checkin/checkout to determine the presence status. ### l10n_be_hr_payroll integration with employee profile [ADD] hr_skills: Introduce a new module for employee resumé and skills ======================================================= Purpose ----------- Consultancy companies need resumé and skills of their consultants. For big projects, they often need to send them to their customers. These information are also useful to statistics. Specification ----------------- ### New models #### `hr.resume.line.type` Types of resumé lines. e.g. *Experience*, *Education*, *Hobbies* #### `hr.resume.line` It is a line in the resumé of an employee. #### `hr.skill` Name of a skill. e.g *French*, *Python*, *Piano* #### `hr.skill.type` Skills can belongs to a particular type. A skill type has skill levels associated. e.g. *Languages*, *Dev*, *Music* #### `hr.skill.level` Levels available for a particular skill type. Each level has a label and a progress (between 0 and 100) associated. e.g. *Intermediary (20%)*, *Advanced (85%)*, *Expert (100%)* #### `hr.employee.skill` These are skills which employees have. It links an employee with a particular skill and level. e.g. Mitchell has an *Intermediary* level in *Python* ### Access Rights Only a `hr_user` can create/edit `hr.resume.line.type`, `hr.skill`, `hr.skill.level`, `hr.skill.type`. If employees are allowed to edit their infos (setting), they can also create/edit `hr.resume.line`, `hr.employee.skill` for themselves. ### UI Resumé lines are displayed, grouped by type, in a new 'Resumé' tab in the employee form. Resumé lines can be reordered (handle widget) Emloyee skills are displayed in the Resumé tab, grouped by skill type. [IMP] hr, hr_holidays, hr_expense: Change onchange parent_id behaviour ========================================================= Purpose ----------- When the manager (parent_id) of an employee changes, it doesn't always mean that other responsibles (Leave responsible, expense responsible, coach) should also change. Specification ----------------- When changing the employee's manager, the leave responsible, the expense responsible and the coach should be changed only if the field was not set or if the responsible is the previous manager. In that case, they should be set to the new manager. Otherwise, it means the field was most probably set manually and it should be left unchanged. Task 1913089 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Search panels can now open with multiple filter values already selected when set by context. This helps teams provide more relevant default views and reduce manual filtering for users.
Original PR description
Before this rev., it was possible to specify default values for categories (fields with attribute select="one") in the context (e.g. searchpanel_default_fieldname: 5). It is now possible to specify default values for filters (select="multi") as well (e.g. searchpanel_default_fieldname: [1,2]). Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Product images are now stored and displayed more consistently across the back office and ecommerce pages, with better support for multiple images and product variants. The change improves page performance by using ready-made resized images and helps shoppers see clearer, better organized product galleries.
Original PR description
rebase-ff todo: - [x] maybe: make the mixing in base instead of product? - [ ] drag and drop kanban (depends on task-190280, can be added later if lacking time) - [x] add tests (can be added later if lacking time) - [ ] new task: never resize square, keep aspect ratio - [ ] new task: use mixin for every model with images - [x] squash (some of) the commits (when it's ready) - [x] fix click on carousel preview - [x] fix web/ backend image test - [x] test with a lot of images - [x] fix bug with main image not removable - [x] prevent big resize if original too small
The website editor tools are now loaded only when they are actually needed, instead of slowing down regular page loading. This improves the browsing experience for visitors while keeping editing capabilities available for users who need them.
Original PR description
Issue: wysiwyg asset slow down the loading of the website, error inadvertently introduced: https://github.com/odoo/odoo/pull/29775 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves the speed and reliability of stock, purchasing, sales, and manufacturing processes by grouping related operations together instead of handling them one by one. Large sales orders and multi-step delivery flows should confirm and generate the needed stock, purchase, or production documents much faster, while supplier minimum quantity rules are enforced more accurately.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Bank reconciliation can now find matching counterparts using a check number when check printing is installed. This makes it easier for accounting users to match payments and statements tied to printed checks, while keeping the change limited to the relevant check printing feature.
Original PR description
Task 1881964 Allow to search for counterparts with a check number -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Mobile users can now scroll through Kanban column tabs and jump directly to the column they need, instead of moving one column at a time. This makes Kanban views easier to read and use on small screens, especially when column titles are long, and also fixes cases where columns could fail to load after changing grouping.
Original PR description
This merge change the mobile kanban tabs UX by allowing to scroll through them and go directly from a column A to B. It also improve the readability independently of the title's length. This behavior is heavily inspired by Material Design. See: https://material.io/design/components/tabs.html It's also an opportunity to refactor the mobile kanban renderer code to make it more robust and readable. Task: 1893168
Product fields in sales orders, purchases, invoices, and expenses can now use a mobile barcode scanner when available. This makes product entry faster on mobile devices while keeping the existing selection behavior as a fallback.
Original PR description
This commit change widget to many2one_barcode in these views: - sale_order - purchase - invoice - expense In the fields register 'many2one_barcode' is mapped to many2one as fallback. many2one_barcode is implemented in odoo enterprise Task ID: 1924766 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Delivery users can now print return shipping labels directly from eligible stock pickings when the carrier supports return labels. This makes return processing faster and reduces manual steps for teams handling returned goods.
Original PR description
We want to allow to print return labels on picking that contains retrun moves and having a carrier that support return labels. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The live chat history layout now uses less space by reducing image sizes and padding, making conversations easier to scan. This helps support teams view more chat context on screen without changing the underlying workflow.
Original PR description
The Live chat history was taking too much space and was hard to read. The goal here is to display more information on the screen. The pictures and padding are then reduced. Note that kanban view is not a solution in long term. At it does not allow to squash messages per user (if consecutive messages from same user at close interval of time). As the thread widget will be reviewed by discuss team in a near future, we keep this at the moment and will integrate the new thread widget later, mainly to be able to squash the messages. Task ID : 1913869 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Google Drive configuration is made more user-friendly, especially around setting up the refresh token. Users will now see a clear message when Google Drive is enabled but authorization has not yet been completed, helping avoid incomplete setups.
Original PR description
Task: 1894961 Description of the issue/feature this PR addresses: Improve google drive configuration. Current behavior before PR: The current usability of configuring the refresh token to google drive is terrible. Desired behavior after PR is merged: Improved google drive configuration. Task: https://www.odoo.com/web#id=1894961&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.6062b56d04249f25176f33748332b607 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Course managers can now choose whether a slide is available as a preview directly when uploading it on the website or editing it in the backend. This makes preview content easier to control and helps teams manage what learners can see before full access.
Original PR description
Task #1902304 Purpose ======= The 'is_preview' field implied some functional behavior but it was not manageable from back-end nor front-end. It can now be configured on the slide upload form (front-end view) and on the slide form (back-end view). Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website theme installation screen now presents the currently active theme with an adjusted layout and tooltip placement. This makes it easier for users to identify the active theme and understand related information while managing website themes.
Original PR description
Description of the issue/feature this PR addresses: Change the layout of the active theme in the list Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Studio and website editor resources now load only when needed, reducing unnecessary slowdown during regular website use. This improves the browsing experience while keeping editing tools available when users open them.
The Gantt planning view has been rebuilt without relying on the previous external component. This improves control over the experience and updates related planning views and Studio configuration to work with the new approach.
Original PR description
*hr_holidays_gantt, project_forecast, web_studio The view has been rewritten so the external library dhtmlxGantt is not used anymore. The view definitions and Studio have also been adapted accordingly. Co-authored-by: dmo-odoo <dmo@odoo.com> Co-authored-by: aab-odoo <aab@odoo.com> Co-authored-by: jat-odoo <jat@odoo.com> Task 1856235
Employees can now request appraisals from their profile, see upcoming appraisal information, and access related documents more easily. Manager changes also handle timesheet responsibility more carefully, reducing unwanted updates when an employee's manager changes.
Original PR description
[IMP] hr_appraisal, hr_documents, timesheet_grid: integration to employee profile ============================================================== This PR is part of the new employee profile ###…
[IMP] hr_appraisal, hr_documents, timesheet_grid: integration to employee profile
==============================================================
This PR is part of the new employee profile
### hr_appraisal
This commit integrate appraisals to the new employee profile.
It adds a button to allow a user to request an appraisal (see below)
Also adds a stat button displaying the date of the next appraisal.
The button redirects to the employee's appraisals.
An employee should be allowed to request an appraisal himself
through his profile.
Additionnal settings are added to control requests.
The maximum and minimum appraisal frequency.
e.g.:
max = 6 month and
min = 18 month
-> An employee cannot request a new appraisal if 6 month
haven't passed since the last one.
-> A new appraisal will be created if 18 month (minus 7 days)
have passed since the last appraisal.
### hr_documents
New bridge module allowing to integrate Documents to the new employee profile.
Add a stat button on the employee profile linking to its documents.
### timesheet_grid
Move timesheet responsible in the Managers section of the employee profile
[IMP] timesheet_grid: Change behaviour of onchange parent_id
=================================================
#### Purpose
Currently, when an employee is assigned to a new manager,
his timesheet responsible is also set to this new manager.
However, assigning a new manager to an employee does not
always mean that the timesheet responsible should also change.
#### Specification
When changing the employee's manager, the timesheet responsible
should be changed only if the field was not set or if the
responsible is the previous manager.
In that case, the timesheet responsible should be set to the
new manager.
Otherwise (timesheet responsible is an other person than the
previous manager), leave the responsible unchanged.
Task 1913089Users can now save accounting reports as attachments, making it easier to keep and share official report outputs. When the Documents app is installed, these saved reports can also become document records, improving recordkeeping and access from one place.
Original PR description
This commit adds the possibility to save account reports as attachments in account_reports and make the bridge with the document app to save them as documents.document when this module is installed. Some refactoring was made on accounting report buttons and localization modules to make it work flawlessly. Was task 1889322 Superseeds PR #3077
Users can now create or edit their signature directly from the signature field using the signing widget. This makes it simpler to manage signatures in Odoo Sign and reduces extra steps when preparing signing workflows.
Original PR description
Add widget signature on signature field on res_user id=1929011
FedEx shipping labels now include internal references such as the delivery order and sales order, making packages easier to identify. The update also supports generating return labels when shipping packages and adjusts label wording for paper stock clarity.
Resolved issues and error corrections
Slide views from people who are not members of a course or channel are now counted as public views. This helps teams see more accurate audience engagement, especially when content is viewed during setup or review by website publishers.
The dashboard app layout has been adjusted to work better on smaller screens. This makes dashboards easier to view and use on phones and tablets, reducing display issues for mobile users.
Original PR description
Task Id: 1904747
The task overview table in the Project app now adapts properly on small screens. This prevents content from overflowing off-screen, making timesheet-related task information easier to view on phones and tablets.
Original PR description
On small screens, when we click on the overview of a task inside the "project" app, the displayed table doesn't fit the screen. This commit only add missing parent "div.table-responsive" to add responsive support (cf: git diff --ignore-space-change odoo/master) opw-1907877
This update fixes two issues found during nightly testing: opening the Analytic Report in certain settings no longer causes an error, and Mexican localization test data now installs more reliably. These changes reduce failed automated checks and help keep reporting and localization features stable.
Original PR description
bugfixes on nightly builds
This update removes an outdated Python 2 compatibility reference from the Mexican cash-basis tax tests. It helps keep the module working with the current platform and avoids test failures during maintenance or upgrades.
Original PR description
Fixes: ``` File "/home/odoo/enterprise/l10n_mx_tax_cash_basis/tests/test_account_tax_cash_basis.py", line 8, in <module> from odoo.tools.pycompat import izip ``` Based on https://github.com/odoo/enterprise/commit/61fae488d7daffec4f73ec358f0bb7fce5e10fad
Code cleanup and technical improvements
Manufacturing planning was updated to stay compatible with recent procurement processing changes. This is an internal technical adjustment that helps planned replenishment continue working correctly across company-specific purchasing rules.
Original PR description
Since refactoring of procurement in batch. run take a list of Procurement nametuples.