Friday, May 5, 2023
14 changes · master
Enhancements to existing features
This update polishes several CRM and related sales screens to make forms clearer, reports cleaner, and lead assignment status easier to notice. It also improves activity user avatars and lead enrichment messages so sales teams can read key information more quickly.
Original PR description
Purpose ======= Improve some UI display of the CRM and CRM related modules. CRM v16.3 promenade. Specifications =========== web ------ * Increase the maximum input field size to handle a larger…
Purpose
=======
Improve some UI display of the CRM and CRM related modules.
CRM v16.3 promenade.
Specifications
===========
web
------
* Increase the maximum input field size to handle a larger number
of characters.
crm,crm_iap{_enrich}{_mine},sale,sales_team
-------------------------------------------------------------------
* Improve some small UI display like placeholders, search filters,
the wording of the lost reason modal, the fields alignments,
always underline certain fields, set certain fields as optional in
the reporting tree views, ...
crm
------
* Modify the informative lead count field to be displayed as a muted text
sentence with text color warning when it exceeds the maximum month count.
crm{_sms}
---------------
* Remove the reporting pipeline tree view buttons as the view is not
an operational one so those won't be used by the manager.
mail
-------
* Add a m2o avatar widget to a field.
iap_mail
-------------
* Improve the display of the lead enrichment message appearing in the
chatter after an enrichment.
More details in underlying commits.
See: https://github.com/odoo/enterprise/pull/38498
Task-3204763Email templates sent automatically when a record is created now appear after the original incoming message, making conversations easier to follow. Replies to those automated template emails are now treated as regular discussions so followers can be notified appropriately.
Original PR description
When setting up an alias, if a tracked value was set to send a mail template on creation of a record, the template would be marked as sent before the original message was received. This commit puts them back into order by processing the reception of the original message within the method of creation of the record. Responding to that template with an e-mail would not notify the followers of that record. This template is now marked as mt_comment. Task-2834304 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo now uses a single modern date and time picker for dates, times, and date ranges, replacing older third-party tools. This makes date entry more consistent across apps and simplifies how date ranges are configured, though some list views can no longer sort by the range end date.
Bank and cash journals now automatically use the company's currency when no currency is manually selected. This helps prevent payment and accounting issues caused by missing currency settings, while keeping user-defined currencies unchanged.
Original PR description
Setting company's currency on bank/cash journals, if they are not set by the user, helps avoid issues described in Task 2834678. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The mail module’s automated tests now use a shared command system instead of hardcoded instructions. This makes the tests easier to maintain and reduces the risk of unreliable test behavior, helping support smoother future updates.
Original PR description
Using hardcoded ORM commands in tests is cumbersome and not reliable. This commit introduces the same system as the one used on the server.
This update makes several event, SMS marketing, phone blacklist, and email template screens clearer and easier to use. It adds helpful placeholders and avatars, hides empty or unavailable information, improves wording, and aligns SMS marketing navigation with Email Marketing so users can complete common tasks with less confusion.
Original PR description
Purpose ======= Improve UI in various modules Specifications =========== event{_booth}{_crm}, website_event{_meet}{_track}{_track_live}…
The demo payment module can now simulate capturing only part of an authorized payment. This helps businesses and implementers test payment flows that involve split shipments, partial fulfillment, or adjusted order amounts before using a live payment provider.
Original PR description
support partial capture feature in demo payment task-2803352
This update adds missing internal checks for spreadsheet and manufacturing overview screens so invalid configuration is caught earlier. It helps make these views more reliable for users without changing day-to-day workflows.
Original PR description
Task: [3297417](https://www.odoo.com/web#id=3297417&cids=1&model=project.task&view_type=form) 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
Favorite buttons across Knowledge views now use one shared styling approach. This reduces duplication and helps keep the user experience consistent when favoriting articles in different parts of the app.
Original PR description
Purpose: - Currently, the toggle favorite buttons in the different knowledge views have the same style, but through different classes. This commit makes sure that we only use one class for these buttons, to remove redundancy and to make sure that these buttons keep the same style. Task-3284518
Spreadsheet-related components now include additional validation to ensure they receive the expected information before use. This reduces the risk of hidden configuration issues and helps keep spreadsheet features more stable for users.
Original PR description
Task: [3297417](https://www.odoo.com/web#id=3297417&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
The appointment interface now hides the lead count when there are no related leads and prevents users from creating unrelated opportunities from that shortcut. The appointment booking email template description was clarified so users understand it notifies followers of the appointment type, not every person who books.
Original PR description
Purpose ======= Improve UI in appointment and appointment crm Specifications =========== - Hide the appointment type lead count stat button when the count is equal to 0. - Remove the possibility to create opportunities from the appointment type stat button as one should not be able to, and especially since they won't be linked to the type anyway. - Reword the appointment booked template description because the template will not be sent to all people who book the appointment but to all followers of the appointment type when an appointment is booked. Task-3280602
This update introduces a new, unified date and time picker across Odoo, replacing older third-party tools and simplifying how date ranges are configured in views. Users should see a more consistent experience when choosing dates, times, or ranges, though some list views can no longer sort by the range end date.
Original PR description
The CRM Enterprise pipeline reporting list now uses the updated reporting view from CRM. This removes operational buttons that were not needed in reporting, making the view simpler and more focused for users reviewing pipeline data.
Original PR description
Change the pipeline reporting tree view by the new one created in crm which removes some unnecessary operational buttons from the reporting view. See: https://github.com/odoo/odoo/pull/115326 Task-3204763
The Knowledge app is easier to use on mobile devices with a collapsible article menu and a better default view for deleted articles. This makes browsing and managing knowledge content more comfortable on smaller screens.
Original PR description
This PR will greatly improve the usability of the main view of Knowledge for mobile users by turning the aside block listing the articles into a foldable menu. task-2867059
Original PR description
# Owl DateTimePicker (community) This PR introduces a date picker OWL component meant to handle the following use-cases: - date picker - date & time picker - date range picker - date & time range…
# Owl DateTimePicker (community)
This PR introduces a date picker OWL component meant to handle the
following use-cases:
- date picker
- date & time picker
- date range picker
- date & time range picker
Basically, this component is the union of the two previous third-party
libraries handling these cases: TempusDominus and DateRangePicker.
## New components introduced:
* The main addition of this commit is the `DateTimePicker` itself which
handles the display and interactions of the calendar and time pickers.
> see @web/core/datetime/datetime_picker
* The picker can then be coupled to an input using the
`useDateTimePicker` hook. The purpose of this hook is to handle events
on a given input element and syncronize its value to a date picker it
will spawn in a popover.
> see @web/core/datetime/datetime_hook
* Lastly, a simple `DateTimeInput` component will render an input and
call the hook mentioned above to handle it. This component is
effectively replacing the previous DatePicker and DateTimePicker
components (note that it does not handle range values).
> see @web/core/datetime/datetime_input
## Date range declarations in views
Another noticeable change of this commit is the definition of daterange
fields in views:
- Previously, the arch would have to define both fields
and bind them via their options, while also adding an arrow between
inputs or other forms of connection.
- In the new implementation, only the start date field must be declared,
and a date range can be spawned by providing an `end_date_field` in its
options.
Example:
```xml
<field
name="start_datetime"
widget="daterange"
options="{'end_date_field': 'end_datetime'}"
/>
```
## ⚠️ Added limitations
- this new way of declaring date ranges means that templates have been
revised to declare one field tag instead of two. This means that list
views using date ranges have lost the ability to be sorted on their end
date fields.
> Justification: the current use cases have been reviewed and it has
been decided that it was not needed to sort on the end date on the
affected list views.
> Workaround: drop the date range and declare both fields as simple date
pickers (i.e. without the end_date_field option).
- all modifiers applied to a field using a date range will be copied and
applied to the end date field. There is no way to define modifiers
specific to one field or the other.
> Justification: there was no use case where one of the two fields
needed specific modifiers.
> Workaround: same as the previous point: split the range into 2 simple
date picker fields.
## Additional notes:
- the `widget="daterange"` is not mandatory in form views, but is required
in list views because only fields with explicit widgets will not be
rendered as simple <span> elements. The date range feature will be
available as soon as an end_date_field is specified.
- as the end date field is not explicitly defined in the view anymore,
any modifier depending on it need to have it defined as invisible
somewhere in the arch.
## Links
- Enterprise PR: https://github.com/odoo/enterprise/pull/38569
- Documentation PR: https://github.com/odoo/documentation/pull/4330
- Task ID: [3121497](https://www.odoo.com/web#id=3121497&cids=1&menu_id=4720&action=333&active_id=133&model=project.task&view_type=form)
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prPurpose
=======
Improve UI in various modules
Specifications
===========
event{_booth}{_crm}, website_event{_meet}{_track}{_track_live}
-------------------------------------------------------------------------------------------
- The reporting fields, the chat room and the participant count
of the meeting room form should not be showed while the record
is not created.
- Rewording on event track "Button appears" and "Color" field.
- Remove unnecessary helpers in event track form.
- Remove "Wishlisted By" stat button when the count is equal to 0.
- Add many2one widget avatar on lead rule "Saleperson" field and
event track "Responsible" field.
- Add placeholders in event booth form view, event location
tree view, event tags categories form view and event stages
form view.
mail, mass_mailing_sms, phone validation:
---------------------------------------------------------------
- Add sample data in the mass_mailing_sms blacklist phone
numbers tree view.
- Update the mass_mailing_sms demo data so that, instead of
the sms being stuck due to a lack of credits, they are
all sent.
- Swap the mass_mailing_sms list view with the kanban view
so that the list view is the main one like in Email Marketing.
- Rename the reset mail template confirm button from "Proceed"
to "Reset Template" to make the action more explicit.
Task-3280602
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr# Owl DateTimePicker (enterprise) This PR introduces a date picker OWL component meant to handle the following use-cases: - date picker - date & time picker - date range picker - date & time range…
# Owl DateTimePicker (enterprise)
This PR introduces a date picker OWL component meant to handle the
following use-cases:
- date picker
- date & time picker
- date range picker
- date & time range picker
Basically, this component is the union of the two previous third-party
libraries handling these cases: TempusDominus and DateRangePicker.
## New components introduced:
* The main addition of this commit is the `DateTimePicker` itself which
handles the display and interactions of the calendar and time pickers.
> see @web/core/datetime/datetime_picker
* The picker can then be coupled to an input using the
`useDateTimePicker` hook. The purpose of this hook is to handle events
on a given input element and syncronize its value to a date picker it
will spawn in a popover.
> see @web/core/datetime/datetime_hook
* Lastly, a simple `DateTimeInput` component will render an input and
call the hook mentioned above to handle it. This component is
effectively replacing the previous DatePicker and DateTimePicker
components (note that it does not handle range values).
> see @web/core/datetime/datetime_input
## Date range declarations in views
Another noticeable change of this commit is the definition of daterange
fields in views:
- Previously, the arch would have to define both fields
and bind them via their options, while also adding an arrow between
inputs or other forms of connection.
- In the new implementation, only the start date field must be declared,
and a date range can be spawned by providing an `end_date_field` in its
options.
Example:
```xml
<field
name="start_datetime"
widget="daterange"
options="{'end_date_field': 'end_datetime'}"
/>
```
## ⚠️ Added limitations
- this new way of declaring date ranges means that templates have been
revised to declare one field tag instead of two. This means that list
views using date ranges have lost the ability to be sorted on their end
date fields.
> Justification: the current use cases have been reviewed and it has
been decided that it was not needed to sort on the end date on the
affected list views.
> Workaround: drop the date range and declare both fields as simple date
pickers (i.e. without the end_date_field option).
- all modifiers applied to a field using a date range will be copied and
applied to the end date field. There is no way to define modifiers
specific to one field or the other.
> Justification: there was no use case where one of the two fields
needed specific modifiers.
> Workaround: same as the previous point: split the range into 2 simple
date picker fields.
## Additional notes:
- the `widget="daterange"` is not mandatory in form views, but is required
in list views because only fields with explicit widgets will not be
rendered as simple <span> elements. The date range feature will be
available as soon as an end_date_field is specified.
- as the end date field is not explicitly defined in the view anymore,
any modifier depending on it need to have it defined as invisible
somewhere in the arch.
## Links
- Community PR: https://github.com/odoo/odoo/pull/112171
- Documentation PR: https://github.com/odoo/documentation/pull/4330
- Task ID: [3121497](https://www.odoo.com/web#id=3121497&cids=1&menu_id=4720&action=333&active_id=133&model=project.task&view_type=form)
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr