Tuesday, January 3, 2023
6 changes · master
Enhancements to existing features
The Knowledge and Gantt apps now use the label "New" instead of "Create" for starting a new item. This makes the action clearer for users by indicating they will open a blank page or record to fill in, reducing confusion across apps.
Original PR description
This commit tries to unify the name of the create buttons in different apps. "New" is used over "Create" to avoid confusion regarding its effect. "Create" could be interpreted as we want the current record to create a new one. But "New" implies that the user will land on an empty page that can be filled. community part: https://github.com/odoo/odoo/pull/108439 task id: 3074472
Grid view editing now supports familiar keyboard actions: Enter saves the edited cell and moves focus downward, while Escape cancels the change and exits editing. This makes data entry faster and more consistent with editable list views.
Original PR description
PURPOSE
In an editable listview, the user can save his changes by hitting 'Enter' while in a record being edited.
The purpose of this task is to implement the same behaviour in the grid view.
allow the user to save the cell update with 'Enter',
and to discard the cell update with 'Escape'
SPECIFICATION
When editing a gridview cell:
hitting 'Enter' should validate the cell update and move the focus to the cell below
NB: the behaviour is similar to hitting 'Tab', with the only difference that the focus should move to the cell below
hitting 'Escape' should discard the cell update and remove the focus from the gridview
NB: the gridview switches to readonly
TASK 2618994Gantt views can now group records by fields that allow multiple selections, such as tasks with several collaborators. This makes planning and workload views more flexible, and Studio now lets users add these fields to search/grouping options.
Original PR description
PURPOSE Allow to group records by many2many fields. Use case: turn the user_id m2o field on project.task into a user_ids m2m field in order to assign multiple collaborators on a task SPEC Add many2many fields to the 'list of groupable fields'. in gantt view. TASK 2508608
The Gantt view now extends the hover highlight from a total row up to the related date, making it easier to see which date the total belongs to. This improves readability and reduces ambiguity when reviewing schedule totals.
Original PR description
Purpose: When hovering on the total_row, the purple highlight should go all the way up to the date SPECIFICATIONS: Include the date when hovering on a total_row. LINKS: Task- 2579233
Studio was updated to stay compatible with a related change in how list footers display tooltips. This helps ensure tooltip behavior continues to work correctly for users editing list views in Studio.
Original PR description
This commit is the counter part of odoo/odoo#108894 which moves the tooltip from the footer cell to a span inside the cell, in lists.
The pull request updates how Odoo modules read visitor location information, aligning them with a newer, more reliable geolocation system. This helps appointment and signing features continue using location details correctly while reducing the risk of errors when location data is unavailable.
Original PR description
request.geoip is no more a dictionnary cached in the session. It is now a full blown object with lazy and smart geolocalisation capabilities. Among other things, the previous dictionnary API is now deprecated. The changes are: * `request.geoip['country_name']` -> `request.geoip.country_name` * `request.geoip['country_code']` -> `request.geoip.country_code` * `request.geoip['city']` -> `request.geoip.city.name` * `request.geoip['latitude']` -> `request.geoip.location.latitude` * `request.geoip['longitude']` -> `request.geoip.location.longitude` * `request.geoip['region']` -> `(request.geoip.subdivisions[0].iso_code if request.geoip.subdivisions else None)` * `request.geoip['time_zone']` -> `request.geoip.location.time_zone` It is safe to access all the attributes. Doing `request.geoip.city.name` when the geolocalization failed (missing db, invalid address, ...) evaluates to None. It does not raise an AttributeError. Task: 2848206 Related to odoo/odoo#91337