Daily updates from Odoo
Navigate
Branch
Friday, December 7, 2018
24 changes
New functionality added to Odoo
Point of Sale can now let staff log in as employees instead of requiring a paid user account for every cashier. This supports employee PIN or barcode login, optional employee access lists per cash station, and lock-screen re-login while preserving manager-only session closing rights.
Original PR description
pos.config ------------ https://drive.google.com/a/odoo.com/file/d/1NimIRaO_c5Z_l0xs-0cPRXlgwvX174kV/view?usp=drivesdk - Add a checkbox : "Login with Employees" - If set to TRUE, an "Allowed…
pos.config ------------ https://drive.google.com/a/odoo.com/file/d/1NimIRaO_c5Z_l0xs-0cPRXlgwvX174kV/view?usp=drivesdk - Add a checkbox : "Login with Employees" - If set to TRUE, an "Allowed Employees" many2many appear - If employees many2many is empty, all employees can log on this PoS (Is it possible to add a tooltip on the field Allowed Employees ?) - If set to FALSE, can only log in with users (that have the PoS User access right) hr.employee --------------- - The field barcode and pin should be moved on the hr.employee https://drive.google.com/a/odoo.com/file/d/1DEAibO3FtfLYyNPi7k5L1WLMqP5vnp-Y/view?usp=drivesdk - Set a barcode and pin by default at the creation of any employee - No Employees module with PoS > need to add dependency PoS session --------------- - on startup filter on allowed employees. Open the PoS if "Log in with Employees" = FALSE -------------------------------------------------------------- - Same behaviour than now, when I open the PoS, I'm logged in with the user, I can directly start working - If I click on the user name, I can choose to connect with another user - The button to close the session is visible Open he PoS if "Log in with Employees" = TRUE ------------------------------------------------------------ - When I open the PoS, the first screen I see is the login screen. 1. I choose my employee and enter my pin code (if there is pin code on my employee, otherwise not required) (I can only see employees that have access to that PoS) 2. I scan my barcode 3. I scan my rfid card (future development) - When I click on the employee name, I can log in with another employee - If the employee is linked to a user that has the pos user/manager access right, I can see the button the close the session. Otherwise I cannot close the session (and thus cannot access backend). - Add field employee on all records created by PoS (and replace the field user by that one) (on pos.orders) Lock Screen --------------- - Improve the PoS Interface : https://drive.google.com/a/odoo.com/file/d/15obVAM7GCr_T9EPsmVuIbCCE16ls2yIp/view?usp=drivesdk - Add a new feature to allow to "lock" the session. When a session has been locked, the user/employee has to re-log-in to access the PoS https://drive.google.com/a/odoo.com/file/d/1XfgBJADA5Nosa7xOZYHSS7nnELZsB7Pd/view?usp=drivesdk - When I try to re-log-in, by default suggest the last employee logged in in the login screen
The reconciliation screen now alerts users when a bank statement line appears to match a sent or invoice-ready sales order. This helps teams quickly confirm the order, create the invoice, and reconcile prepayments with less manual searching.
Original PR description
…ing un-invoiced sale order Task: 1879015 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Enhancements to existing features
This update makes the link tracking form easier and safer to customize by adding named sections to the form layout. It mainly benefits teams and partners who adapt Odoo views, reducing the risk of fragile customizations.
Original PR description
Description of the issue/feature this PR addresses: Allow easier `xpath` expressions Current behavior before PR: No `group` names are set and this view is annoying / unsafe to `xpath` Desired behavior after PR is merged: `group` names are set and this view is easy and safe to `xpath`. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website now reuses the standard live chat channel instead of creating a separate one, making setup easier and more consistent. Demo environments also include the administrator as a default live chat operator, so testing live chat works with less manual configuration.
Original PR description
In order to facilitiate the configuration of a livechat on the website, the first livechat channel that was demo data from im_livechat is now set as data. Website is now using this first livechat channel instead of creating a new one and using it. Merge related to task ID 1912056.
The old mail tour has been turned off because it has been replaced by the OdooBot onboarding experience. This reduces duplication and keeps the retired tour available only for testing purposes.
Original PR description
The `mail_tour` has been replaced by "odoobot onboarding". Thus, `mail_tour` is not useful and should only be used for testing purpose. task: 1916093
This update makes Odoo Discuss and live chat easier to use with clearer typing indicators, combined channel lists, quick search, better notifications, and improved emoji placement. It also adds small conversation-management improvements such as custom direct-message names, reply cancellation in the inbox, and seen indicators, helping users communicate with less friction.
Original PR description
*: bus, im_livechat, mail_bot, website_livechat Several improvements for Discuss app: 1. Improved "is typing..." notification 2. Merged private & public channels 3. Quick channel search 4. No push…
*: bus, im_livechat, mail_bot, website_livechat
Several improvements for Discuss app:
1. Improved "is typing..." notification
2. Merged private & public channels
3. Quick channel search
4. No push notification right after accepting them, and transparent odoo bot icon in native notification
5. Selected emojis are inserted in composer based on cursor position
6. Set surname to people for DMs name
7. Discard replying to a message in Inbox
8. Broadcast "seen" notification ('v' and 'vv' on messages)
[1] [image1](https://drive.google.com/file/d/11_H6ZJh0wFaegAV0fTLdc68z37nhVKnW/view?usp=sharing), [image2](https://drive.google.com/file/d/1s9g_hUCMesuTLAqpeGMwLWzHCYnzanr6/view?usp=sharing)
[2] [image1](https://drive.google.com/file/d/1WUBqc2lScfWV8Yrtq6Zk4MO4jC0CdaiG/view?usp=sharing), [image2](https://drive.google.com/file/d/13XVcW0Nookwea_4xz02mIwPi5dPhXu18/view?usp=sharing)
[3] [image1](https://drive.google.com/file/d/1FuV3xH9cK6qR7ljd5vELOHc4icvHIJTF/view?usp=sharing), [image2](https://drive.google.com/file/d/1hwuu5ejlj9ou02NF5XmL-XHTiD-Ty6XT/view?usp=sharing)
[4] [image](https://drive.google.com/file/d/1si1TYtCpdyOgw9IRaMWmxuUb1d8M4ccF/view?usp=sharing)
[5] [video](https://drive.google.com/file/d/19knQ47F1wzlNvxT2nJH3A9V34wO1D9Bn/view?usp=sharing)
[6] [image1](https://drive.google.com/file/d/11ot_DtySN2cIN_bM8n7fhFV2JXNoz0lH/view?usp=sharing), [image2](https://drive.google.com/file/d/1aNyapzKePIRg903woCo3kXJhy-ZFwfEG/view?usp=sharing), [image3](https://drive.google.com/file/d/1AtVlOG67YjsS8ax1ErWhXfSDOtKhLQhC/view?usp=sharing)
[7] [image](https://drive.google.com/file/d/1U-VEut7M7-t9WzdKVagfyy6ZrbOJrflp/view?usp=sharing)
[8] [image1](https://drive.google.com/file/d/1_32q8iqPBhW4sPhAtY5mIO968gj1o9o-/view?usp=sharing), [image2](https://drive.google.com/file/d/1Ne6HMEgJxHAWYN3e3SlrF6Qqg70LDvAW/view?usp=sharing)
Task-ID 1881001When a signature request is sent, eligible internal users who need to sign now automatically receive a To Do activity called "Sign document." Completing the signature marks the activity as done, helping teams track pending signatures without changing the document if the task is manually closed.
Original PR description
When you ask for a signature, To Do "Sign document" activity is created for each internal users that have to sign the document. Signing the document marks the activity as done, but marking the activity as done has no impact on the document. Task : https://www.odoo.com/web#id=1912199&action=333&active_id=965&model=project.task&view_type=form&menu_id=4720
The salary contract app removes an unused generic template model that did not fit real-world usage. This simplifies the setup behind salary package configuration and should reduce maintenance without changing core business workflows.
Original PR description
It was a failed attempt to make somethig generic. Sometimes we are not the only ones to choose.
Resolved issues and error corrections
Survey test mode now uses a dedicated testing link instead of a hidden placeholder token. This keeps real survey access tokens reserved for invited participants and limits test access to authorized survey staff, reducing accidental or unauthorized use.
Original PR description
Purpose of this commit is to clean a bit the test mode of surveys before working a bit on ACLs and survey access. Currently when taking a survey with a magic 'phantom' token it generates a test…
Purpose of this commit is to clean a bit the test mode of surveys before working a bit on ACLs and survey access. Currently when taking a survey with a magic 'phantom' token it generates a test answer allowing to go through the survey process. However it has several drawbacks : * 'phantom' is not a real token. Token parameter should be used only for real tokens and avoid having corner case when managing simple parameter; * token should only be used to ensure people have been granted access to answering surveys; * it is currently available for every users; * it is pure unwanted magic; In this commit we add a separate route for testing surveys that create the test answer and then redirects to the survey with this answer. It is now also limited to survey managers or survey officers testing their own surveys. Survey JS tour now uses the standard URL and not the testing one. Indeed as testing is now limited to survey officers and managers tour should test real life use cases. This commit is linked to task ID 1916034 and PR #29339.
Survey pages on the website now reuse the standard survey styling instead of maintaining duplicated asset lists. This reduces the risk of visual inconsistencies or missing updates while keeping the website look and feel intact.
Original PR description
Purpose ======= Survey assets were incorrectly overridden in the website_survey module and all copy/pasted. This will correctly include the survey_assets template and get rid of these copy/pasted assets references, while keeping the website style on survey pages.
Payroll salary rules can now correctly treat a quantity or rate of zero as an intentional value instead of replacing it with a default. This avoids incorrect payslip totals when a rule is meant to produce no amount.
Original PR description
Fixes https://github.com/odoo/odoo/issues/29205 Should probably be backported to previous versions. /cc @tivisse -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr @xoe-labs
The accounting dashboard now shows invoice counts that match the selected filters. This fixes misleading demo data and dashboard figures so users can rely on the displayed invoice totals.
Original PR description
Issue #27859 Description of the issue/feature this PR addresses: The numbers on the accounting dashboard are not consistent with the number of invoices. Actually it was more a problem in the demo data of l10n_generic_coa Current behavior before PR: Wrong Number of Invoices Desired behavior after PR is merged: Correct Number of Invoices based on Filter -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix corrects an oversight in website page properties related to redirect type handling. It helps ensure website redirects behave as intended when page settings are configured, reducing the risk of incorrect navigation for visitors.
Original PR description
Related to #2924b77b6f5 Similary to #8ca728bb9312 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
A timing issue in an automated test for the Lunch app was corrected. This helps keep daily quality checks reliable, especially before 10 a.m., without changing user-facing lunch ordering features.
Original PR description
In https://github.com/odoo/odoo/commit/e8ac4d79964b852f21e272bc804d151b5b356791 we introduced an error in the test_search_available_today which broke the test before 10 am everyday
This change gives a growing automated Studio test more time to complete. It helps reduce occasional false failures in the testing system, improving confidence in development checks without changing the user experience.
Original PR description
This test tour is growing days after days so it's now time to raise its timeout (it is currently failing on runbot from time to time).
Fixes an issue that could cause the shop coupon walkthrough to fail because it relied on testing-only tools that are not available in normal website use. This makes the coupon-related tour more reliable for users and internal validation.
Original PR description
The tour shop_sale_coupon was changed to use the testUtils.dom.click method when we introduced the new test utility functions. Probably because the filename ends with 'test.js'. Obviously, this is not correct, because the testUtils function is not imported. To prevent issues in the future, we simply remove the two problematic calls. Another solution was to import the testUtils module, however, I think that it is simpler not to use those functions at all in tours, because tours can be executed in the web client/website, and in that case, they do not have access to the test utility functions.
A configuration issue in website calendar appointments was corrected so related records are connected through the proper fields. This helps avoid incorrect or unreliable appointment data relationships in the website calendar feature.
Features or functions removed from Odoo
This change removes an overly generic benefit template model from salary contract handling and moves related configuration into the relevant payroll localization. This should make the setup easier to maintain and better aligned with country-specific payroll needs, with limited direct impact for most business users.
Original PR description
It was a failed attempt to make somethig generic. Sometimes we are not the only ones to choose. 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 invoice extraction configuration is simplified by removing the separate “do not send” option because it now behaves the same as the main invoice extraction option. This reduces duplicate settings and should make company configuration clearer for users.
Original PR description
Remove the no_send option as the option is not company-dependant anymore Task #1909302
Code cleanup and technical improvements
This change reorganizes how Odoo’s web interface builds and manages the control panel and search tools. It should make the interface easier to maintain and extend, especially for dashboards, favorites, spreadsheets, attendance, mail, point of sale, and accounting workflows that rely on these shared controls.
Original PR description
This branch introduces a large-scale reorganization of the component tree generated by the web client. The short version is that now, the control panel is a child of the view controller and no longer…
This branch introduces a large-scale reorganization of the
component tree generated by the web client. The short version is
that now, the control panel is a child of the view controller and
no longer a sibling. Graphically (and simplified), we go from
this:
webClient
/ | \
... ... actionManager
/ \
controlPanel viewController
/ \
to this:
webClient
/ | \
... ... actionManager
|
viewController
/ | \
ControlPanelController
/ \
CPRenderer CPModel
The motivation is that this work moves the code where it should be.
Before this commit, it was kind of weird to have code in the
controllers to render buttons outside of their root node (in
renderButtons). Also, the action manager had to take care of
coordinating search view states between view transitions.
So, this work simplifies the code. It also makes it easier to
extend. We see day after day that Odoo needs to take care of more
complex UI needs, and in many cases, these needs were quite
difficult to implement (we prefer spaghettis in our plates, not in
our code). The changes in this branch should open the way to
implement these features.
For example,
- it will now be easy to add the possibility of views (for example,
the search view or a new ControlPanel view) to add custom buttons
(of type action or object) in the control panel.
- Another need will be to serialize/ restore the state of the
search view across action boundaries (needed by the dashboard).
- Another example is the possibility for views to customize easily
the presence/absence of sub menus (filters/groupbys/favorites/
time range/...)
- Another need is an easier way for views/client action to customize
their control panel.
This commit also contains a large rewrite of the search view (so it
is more inline with our architecture and easier to maintain).
Part of task 1893568
Co-authored-by: Aaron Bohy <aab@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update streamlines how outgoing emails are prepared and sent across Mail-related features. It removes unnecessary internal steps, making email delivery code easier to maintain while preserving existing business workflows for mail, mass mailing, and website channels.
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
Document management has been separated from the general attachment system, making attachments simpler and documents easier to manage as their own business object. The update also restores the attachment button for records without chatter, so users can still find related files where expected.
Original PR description
The first implementation of `documents` was based on `ir_attachment`, adding fields only useful when the attachment was a document. This task splits documents in a new model called documents.documents, and clean the logic accordingly. This task also recovers the "attachment" action button, to list attachments on a model without chatter. related to: odoo/enterprise#3048 task: #1908896
This update restructures how page controls and search options are embedded inside Odoo screens, aligning Enterprise apps with a broader web client change. Users should see the same functionality, while teams benefit from a cleaner foundation for maintaining Studio, reports, dashboards, barcode flows, documents, and other custom actions.
Original PR description
This PR is the enterprise version of PR https://github.com/odoo/odoo/pull/29106. This PR contains the necessary adaptations to the new component structure. The code most impacted is certainly web_studio and custom client actions.
The Documents app was reworked around a dedicated document record, making it easier to support document-specific features without overloading file attachment records. Folder-based access and attachment handling were tightened so documents better inherit the right permissions and cleanup behavior.
Original PR description
Refactor of the module `documents`: - The module is now based on its own record `documents.document` and keeps all its v12.0 features. - Documents now have an attachment_id (`ir.attachment`) that is set only when it is used to store binary content (not for document requests and URL's) - `folder_id` is now a required field and security rules are based on their company and access groups. - Document's attachments are now attached (`res_model`/`id`) to their documents by default, so that they inherit their security rules and the native attachment garbage collection. related to: odoo/odoo#28563 task: #1908896