Friday, June 24, 2022
36 changes · master
Enhancements to existing features
This update removes unused chatbot-related code from the live chat area. It helps keep the system easier to maintain without changing the experience for users or customers.
Original PR description
Task-2891941
The live chat chatbot can now use dedicated welcome steps to start conversations more smoothly. This helps website visitors receive clearer initial guidance and gives businesses a more controlled first interaction in live chat.
Original PR description
*: website_livechat Task-2891987
Live chat internals were updated to make the chat button behavior and chatbot test mode easier to configure. This helps future website live chat changes be added more consistently with limited direct impact on end users.
Original PR description
*: website_livechat This will allow for newly introduced fields to be quite declarative immediately. Task-2892011
Live Chat and Website Live Chat were updated to make new chat button and chatbot test data easier to define and reuse. This supports faster, more consistent rollout of future live chat behavior without changing the customer-facing experience immediately.
Original PR description
*: website_livechat This will allow for newly introduced fields to be quite declarative immediately. Task-2892034
The live chat module now organizes button display and chatbot state handling in a clearer way. This makes it easier to add and manage future live chat options while keeping the customer-facing experience stable.
Original PR description
This will allow for newly introduced fields to be quite declarative immediately. Task-2892041
Live chat conversations can now display a dedicated chatbot name, making automated responses clearer and more personable for website visitors. This helps businesses present a more polished support experience and distinguish bot messages from other live chat interactions.
Original PR description
Task-2891910
The live chat system now uses a dedicated chatbot model and cleaner button state handling, including support for test chatbot data. This makes chatbot behavior easier to manage and helps improve reliability for website live chat experiences.
Original PR description
Task-2891904
Live chat now better tracks the chatbot's last welcome step, helping conversations start more consistently for website visitors. This should make automated chat greetings smoother and reduce confusion when users interact with the chat widget.
Original PR description
Task-2892000
This update improves how the website live chat button connects to its chat channel. It helps make the live chat experience more reliable and easier to maintain without changing the visible workflow for visitors.
Original PR description
Task-2891875
The live chat button now determines chatbot behavior through clearer stored settings instead of scattered logic. This makes chatbot display and testing behavior more consistent across website live chat experiences, reducing maintenance risk while preserving the user-facing flow.
Original PR description
Task-2892067
The live chat module now supports defining new button and session-related settings more directly. This makes future improvements, such as chatbot state handling, easier to add and maintain without changing the customer-facing experience immediately.
Original PR description
This allows defining some new fields immediately in a declarative way, such as `LivechatButtonView/chatbotState` Task-2892083
This update makes the live chat button easier to configure internally, allowing new live chat fields to be defined more quickly and consistently. It supports future enhancements such as chatbot state handling while keeping the visible customer experience largely unchanged.
Original PR description
This allows defining some new fields immediately in a declarative way, such as `LivechatButtonView/chatbotState` Task-2892092
Live chat now manages chatbot-related session and test data in a more consistent, declarative way. This should make the chat button behavior easier to maintain and more reliable across website live chat scenarios, without changing the user-facing workflow.
Original PR description
Task-2892074
Live chat chatbots now have a clearer model for controlling message timing, including delays between chatbot messages. This improves the visitor chat experience by making automated conversations feel more natural and easier to test and maintain.
Original PR description
Task-2892596
The live chat chatbot code has been reorganized around clearer chatbot and chatbot step data models. This makes chatbot behavior easier to maintain and test, supporting more reliable customer conversations on websites.
Original PR description
*: website_livechat Task-2892283
Website management and editing now run inside the main Odoo backend through an embedded website preview. This gives users a more consistent experience across Odoo apps, improves mobile preview/editing, and reduces disruptions when navigating or reloading website pages.
This update prepares the live chat area for a gradual modernization of its underlying interface code. It helps keep existing live chat behavior working while the system transitions to newer components, reducing migration risk without changing the customer-facing experience.
Original PR description
So that models can introduce models, that rely on legacy widgets while code is being converted fully to using models and components Task-2892617
The test setup for chatter features now opens real form views in the web client instead of using a simplified helper. This improves confidence in mail and eLearning behavior and helps unblock related development work without changing end-user functionality.
Original PR description
The createChatterContainer helper was used during tests to mount a chatter container and test it. However, this approach is not very realistic and blocks some waiting PRs. In order to get closer from the reality, let's mount a webClient and open a form view containing a chatter. enterprise: https://github.com/odoo/enterprise/pull/28684
The mail settings interface now gives users clearer guidance about what allowed mail gateway models do and which system setting they affect. The list view is simplified by removing a technical normalized email field and renaming the email label, making the screen easier to understand.
Original PR description
Purpose ======= Add an action helper that explain what does the model and with which system parameter it interacts. Remove the normalized email from the list view and rename the label of the email field. Task-2885455
Survey results now make it easier to see whether answers are correct, incorrect, or skipped, including for date, datetime, and number questions. Scoring fields are only shown when relevant, and missing required scored answers are flagged earlier when saving the question, reducing setup mistakes.
Original PR description
PURPOSE We are able to add scoring for date, datetime and integer question types. The way results are displayed can be improved, that's the main purpose of this PR. Current 1) There is no correct answer displayed on answer page. 2) Input field for point is visible whether score is checked or not. To be 1) Show correct answer For date,datetime and integer in the result page (and also for live survey): 2) Display the input for the score only if score is checked. 3) Trigger the warning "All "Is a scored question = True" and "Question Type: Date" questions need an answer" on the "Save" of the question, not the survey itself. Same way we trigger the missing title:(make it mandatory if score is checked) LINKS PR Task 2276724 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Salesperson and sales team details are now kept consistent between individual contacts and their linked parent companies. This helps ensure portal users see the right person responsible for handling their process, even when contacts and companies are created or linked in different ways.
Original PR description
PURPOSE The Salesperson and sales team values should be set on the individual partner and the parent company if the parent company is linked with an individual partner. This salesperson will display…
PURPOSE The Salesperson and sales team values should be set on the individual partner and the parent company if the parent company is linked with an individual partner. This salesperson will display on the portal to show who will handle the process. SPECIFICATIONS The Salesperson and sales team are set on contact/partner form view. This salesperson is showing on the portal view(website). This value shows who will handle the process. No contact will show on the portal if the salesperson is not set on individual contact/partner. With this commit, we have done two points. 1) If salesperson and sales team values are set on individual contact/partner, pass these values to a parent company which is created from here(individual contact/partner). 2) If the parent company is manually linked to an individual partner and the salesperson and sales team are not set on an individual, these values are getting from the parent company and set on individual contact/partner. This is the goal of this commit. PR #78696 Task-2636290 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update refreshes the web interface framework used by Odoo, fixing several issues that could cause crashes or incorrect behavior in interface components. It also brings small performance improvements and better support for UI templates, helping make the web experience more stable for users.
Original PR description
Note: this PR is a manual forward port. The original PR are: - in saas-15.3 => https://github.com/odoo/odoo/pull/94249 - in saas-15.4 => https://github.com/odoo/odoo/pull/94407 Release notes:…
Note: this PR is a manual forward port. The original PR are:
- in saas-15.3 => https://github.com/odoo/odoo/pull/94249
- in saas-15.4 => https://github.com/odoo/odoo/pull/94407
Release notes:
https://github.com/odoo/owl/releases/tag/v2.0.0-beta-9
https://github.com/odoo/owl/releases/tag/v2.0.0-beta-10
Details:
Fix: event: no crash when using t-on + modifier on slots/components
Fix: component: fix props comparison code
Fix: component: fix wrong behaviour when using t-on on t-component
Fix: component: props values are own property of props object
Fix: t-out: allow expressions evaluating as number
Fix: compiler: add support for #{...} in string interpolation
Fix: compiler: escape backticks in attributes
Fix: crash when dynamic class have leading space
Imp: slots: add support for t-props on slots props
Imp: tooling: add another d.ts file
Imp: app: small scale perf improvement
Imp: app: add fast path for when component has no prop
Imp: validation: add support for value types
Imp: add support for t-call-context
Ref: compiler: remove useless ; in compiled output
Ref: move some code around
X-original-commit: 3c7e2cb5a2224ff624e0899ca392be8b3828b43a
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-prDemo sales orders using timesheets now create a single related project instead of duplicate projects. This keeps sample data simpler and more realistic, making demonstrations and testing easier to understand.
Original PR description
Since 12bc2ab, there are two projects created for each SO instead of one in the demo data. This is because in the sale lines, one product creates a project with a template, but others create a project without a template, which creates two projects. This PR adds a project template to the products without one to create a single project per SO.
Recruitment reports were updated to make their labels and data easier to understand, especially by reducing confusion between applicant source and medium. This helps teams interpret hiring performance more accurately and make better decisions from their reports.
Original PR description
This commit aims to improve the recruitment reports clarity, particularly the confusion between source and medium TaskID : 2837445
Mail component tests now run in an environment closer to real user usage by mounting the full web client instead of a simplified test helper. This improves confidence in future mail changes and helps unblock related development work without directly changing user-facing features.
Original PR description
The createMessageComponent helper was used during tests to mount a message component and test it. However, this approach is not very realistic and blocks some waiting PRs. In order to get closer from the reality, let's mount a webClient so that the message component can be mounted in its real environment. enterprise: https://github.com/odoo/enterprise/pull/28720
The CRM app can now generate sample leads for performance and volume testing. This helps teams validate how CRM behaves with large numbers of leads before real-world usage grows.
The appraisal goals interface now makes it easier for employees and managers to monitor progress and deadlines. Completed goals are clearer to identify, and a new visual progress view supports better follow-up during appraisal cycles.
Original PR description
This commit adds: - progression and deadline tracking - a banner on the completed goals form - a graph view on goals progression taskID 2868693
Testing for enterprise mail message attachments now runs in an environment closer to how users actually experience the application. This reduces the risk of test-only behavior and helps unblock related improvements without changing day-to-day functionality.
Original PR description
The createMessageComponent helper was used during tests to mount a message component and test it. However, this approach is not very realistic and blocks some waiting PRs. In order to get closer from the reality, let's mount a webClient so that the message component can be mounted in its real environment. community: https://github.com/odoo/odoo/pull/94243
Odoo Social now shows users how close a Twitter post is to the 280-character limit before publishing. Posts that are too long are highlighted and blocked from being saved, reducing failed publishing attempts and user frustration.
Original PR description
Before This PR: While posting a message on Twitter, even though it has some character limit, we can still create a long message which eventually crashes on posting. The 'Retry' button which appears…
Before This PR: While posting a message on Twitter, even though it has some character limit, we can still create a long message which eventually crashes on posting. The 'Retry' button which appears after thus crashing of the post has no use then. So the goal of our commit is to limit the message length and prevent it from sudden posting failure due to character limits issues. After This PR: -Twitter post max length as per its documentation is 280 characters, where standard alphabets and space carry a weight of 1 and as well as emojis and new lines carry a weight of 1. This is now taken into account. -Under the 'message' field we have added a read-only text which indicates the current length out of total characters to be fit in the Tweet we are posting. -If the message length is beyond the max-length we have set, the count the sentence will be highlighted as a warning, -If one tries to post a Tweet with more than the max-length, a user error is threw to limit the characters. Task: https://www.odoo.com/web#id=2517821&menu_id=4720&cids=2&model=project.task&view_type=form
Recruitment reports were updated to make applicant source and medium information easier to understand. This reduces confusion when reviewing hiring performance and helps teams interpret recruitment channels more accurately.
Original PR description
This commit aims to improve the recruitment reports clarity, particularly the confusion between source and medium TaskID : 2837445
This update improves how VoIP connections identify users during sign-in, especially for OnSIP-based phone services. It helps ensure calls connect more reliably when the login name differs from the visible VoIP username, while removing outdated setup code that is no longer needed.
Original PR description
Part of task-2804807.
This update brings the embedded spreadsheet engine up to its latest version. Users benefit from improved chart support, new date-related spreadsheet functions, and fixes that make spreadsheet layouts behave more reliably around headers, hidden rows, columns, and figures.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/f4511b6f [IMP] spreadsheet: export chart stuff https://github.com/odoo/o-spreadsheet/commit/690584fb [FIX] xml: escape…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/f4511b6f [IMP] spreadsheet: export chart stuff https://github.com/odoo/o-spreadsheet/commit/690584fb [FIX] xml: escape chars in regex https://github.com/odoo/o-spreadsheet/commit/be1c78c1 [IMP] Functions: Add several date related functions https://github.com/odoo/o-spreadsheet/commit/cb557f1b [IMP] spreadsheet: export some utilities https://github.com/odoo/o-spreadsheet/commit/b88a5fac [FIX] Figure container: Crop figures to avoid overlap with headers https://github.com/odoo/o-spreadsheet/commit/9e12eaee [FIX] SheetPlugin: clear hidden cols/rows references in plugin https://github.com/odoo/o-spreadsheet/commit/ad019c5a [REF] Header Sizes: rename internal variable https://github.com/odoo/o-spreadsheet/commit/521c9b04 [REF] viewport: merge viewport and snapped viewport https://github.com/odoo/o-spreadsheet/commit/aa18b44e [FIX] header sizes: some small fixes https://github.com/odoo/o-spreadsheet/commit/8e11dd74 [REF] sheet: move header visibility out of sheet plugin https://github.com/odoo/o-spreadsheet/commit/108d337f [REF] sheet: put header size in its own plugin
Website editing tools and related menus are being moved from the public website interface into the Odoo backend. This makes content creation, appointment setup, media selection, and customization more consistent across apps while cleaning up older website editing assets.
Original PR description
*: planning, web_studio, website_appointment, website_helpdesk, website_sale_renting, website_sale_renting_comparison, website_sale_renting_wishlist, website_sale_stock_renting, website_twitter_wall See community counterpart for more details. task-2687506 Related: https://github.com/odoo/odoo/pull/89223 Related: https://github.com/odoo/design-themes/pull/572 Related: https://github.com/odoo/upgrade/pull/3464 Co-authored-by: Younn Olivier <yol@odoo.com> Co-authored-by: Arthur Detroux <ard@odoo.com> Co-authored-by: Mehdi Outagant <mou@odoo.com> Co-authored-by: Benjamin Vray <bvr@odoo.com>
The test setup for chatter-related features now uses a fuller application flow instead of a simplified test-only container. This helps make automated testing closer to real user behavior and reduces the risk of future changes being blocked by unrealistic test assumptions.
Original PR description
*: account_invoice_extract, approvals, voip. The createChatterContainer helper was used during tests to mount a chatter container and test it. However, this approach is not very realistic and blocks some waiting PRs. In order to get closer from the reality, let's mount a webClient and open a form view containing a chatter. community: https://github.com/odoo/odoo/pull/94175
Odoo Studio now lets users choose the field used to consolidate Gantt views when setting up consolidated planning views. This makes it easier for businesses to build meaningful workload or capacity summaries directly in Studio, while avoiding unsuitable fields like record IDs.
Original PR description
TASK:- https://www.odoo.com/web#view_type=form&model=project.task&id=40680&active_id=40680 PAD:- https://pad.odoo.com/p/r.4a8172a3a7c3fa59ebefc2fb6c649ab5 When a type of gantt view is 'consolidate', we need to set an extra attribute named 'consolidation'. Using studio, we were able to set the type of a gantt view, but could not set consolidation attribute in case of consolidated gantt view. This commit adds an option to choose the consolidation attribute from supported field types (integer, float or monetary). ID filed is excluded from the supported fields as it doesn't make sense to see a gantt consolidated by ID. Task: #40680
Internal users who create helpdesk tickets will now receive email links that take them to the backend when they have the right access. This helps staff reach the fuller ticket view faster, instead of landing on a limited customer-facing page.
Original PR description
Purpose ======= When an internal user creates a helpdesk ticket, they will get a link by email to the front end which does not contain a lot of information. If the user is part of the group_helpdesk_user group Task-2680414
Original PR description
*: auth_signup, knowledge, mass_mailing, portal, survey, test_website, test_website_modules, test_website_slides_full, web, web_editor, web_tour, web_unsplash, website_blog, website_crm,…
*: auth_signup, knowledge, mass_mailing, portal, survey, test_website, test_website_modules, test_website_slides_full, web, web_editor, web_tour, web_unsplash, website_blog, website_crm, website_crm_partner_assign, website_customer, website_event, website_event_exhibitor, website_event_meet, website_event_track, website_forum, website_hr_recruitment, website_knowledge, website_links, website_livechat, website_mail_group, website_mass_mailing, website_membership, website_sale, website_sale_autocomplete, website_sale_comparison, website_sale_loyalty, website_sale_slides, website_sale_wishlist, website_slides, website_slides_forum, website_twitter, base A new client action is introduced, to display the website in an iframe. This allows to remove the "frontend" Odoo UI entirely. Everything related to the website configuration (and especially the edit mode) will now be done on the backend side. The idea behind this mainly comes from the fact that we needed the website in an iframe during edition to be able to render a mobile preview properly. It was also required so that options which reloads the page... are able to only reload the page and not the entire editor with it. From there, it was decided that actually, since the website is in an iframe, it could be in the backend and every website UI could rely on this. In the end, this comes with many functional and technical advantages. Here are some of them (a few of them are not entirely done with this merge but will follow the merge in the upcoming weeks, see this as a non-exhaustive list of possibilities that are unlocked by this work): Technical: - No duplicated logic for website UI and backend (purple navbar is the backend one, slightly customized). - No conflicting logic for website UI and website content (like dialog opening, ...). - No forced CSS for our website / web_editor UI, no conflict with website themes. - Everything converted in OWL, in backend code (no special OWL for frontend). - "Legacy" code moved as frontend code or removed. - No website content CSS for the case "when there is the Odoo purple navbar at the top". - Backend views & features available (e.g. creating a new event -> form view instead of custom code with onchanges, validations, etc) Functional: - All website features available while editing your website (product configuration, settings, etc), no switch backend/frontend, no redirection, no reload (just the iframe). - All other app features available while editing your website (discuss, calendar, all other apps, ...). - Typing a website URL in your browser reaches your website (very small Odoo UI overlay at the top left as a connected user). - Mobile preview: directly resizing the website rendering, in edit mode too and with a better phone image. - Editor: mobile view edition (the editor is instanciated around the website content instead of inside of it (iframe)) - Can reload the website without reloading all the tools (editor, html editor, menu edition, etc) (customize_show options for instance -> moved as standard editor options which reloads the website only) - Website UI in your language instead of website language On the backend side, some customizations were done so that the UI feels like it works as before (note that it will be reworked in upcoming weeks): - A `website_systray` registry is defined to replace the systray items with the website's one when previewing the website. - The webclient's navbar is patched to display additional dropdown menus related to the website edition. - A website service that holds the global state of the website is introduced. Components from the systray and the dropdown menus can access and modify it. - A component adapter for the wysiwyg (that will display the snippets menu) is added, that allows for caching the wysiwyg libraries, thus improving editions responsiveness. See sub-commits for details. This work is known to not be bug-free and will be bug-fixed, improved and reworked in the upcoming weeks. task-2687506 Related: https://github.com/odoo/enterprise/pull/28448 Related: https://github.com/odoo/design-themes/pull/572 Related: https://github.com/odoo/upgrade/pull/3464 Thanks to the whole team for reviewing and testing ! (ARD, BVR, BSO, GDI, MOU, PDE, QSM, RDE, SOBO, YOL) Co-authored-by: Younn Olivier <yol@odoo.com> Co-authored-by: Arthur Detroux <ard@odoo.com> Co-authored-by: Mehdi Outagant <mou@odoo.com> Co-authored-by: Benjamin Vray <bvr@odoo.com>