Friday, May 24, 2024
8 changes · master
Enhancements to existing features
Appointment setup screens now use clearer wording and controls to distinguish recurring appointments from one-time bookings. Confirmation pages have been redesigned so customers can more easily see appointment status, calendar options, video meeting access, and cancellation guidance.
Original PR description
Improve the appointment type form view design by: - Rewording fields - Adding 2 new radio buttons to better distinguish the recurring and the punctual appointment type categories. The 2 buttons switching between showing the max schedule date field (recurring) and the daterange widget (punctual). Improve the appointment validation template by: - Removing the "Schedule another" button - Moving the "Google Agenda", "Add to iCal/Outlook" buttons under the appointment date so that users best spot them as they were often forgotten at the bottom of the page. - Hiding the videoconference link in the provider's name and add a copy button for convenience. - ... For more details see commit messages Task-3877550
Products are now presented with a clearer goods type and a separate option to track inventory, replacing the older storable product category. This makes product setup easier to understand and ensures inventory tracking options only appear when relevant.
Project sharing tests were updated to stay aligned with related changes in the community edition. This helps ensure sales timesheet features continue to be validated correctly after the shared wizard behavior changed.
Original PR description
This commit adapts the using of `project.share.wizard` wizard due to the changes made in the related PR in community. Community PR: odoo/odoo#165065
This update makes translated messages more reliable by naming placeholders in text that contains multiple dynamic values. It helps translators reorder words naturally for different languages, reducing awkward or incorrect translations across affected Odoo Enterprise modules.
Original PR description
## The problem Translating text in a language sometimes involves reordering words. Positional arguments are always inserted in the same order, which order matches English syntax, but this isn't…
Instagram Professional Account users can now publish posts with up to 10 images at once. Previews, validation, publishing, and feed display have been updated so multi-image posts are easier to create and review consistently.
Original PR description
Purpose ======= Allow Professional Accounts to post multiple pictures at once. Specifications ============== 1> Up to 10 images can be posted at once. 2> Instagram preview and error validation has been adapted. 3> 'social_post_instagram_image' controller has been adapted for single/multiple images to be processed. 4> Feed view has been adapted so that multiple images can be shown of the post. 5> Disable the hover effect on social_* preview. Task-3446492
The appointment booking screens have been visually refreshed with a simpler, cleaner layout and clearer emphasis on appointment start times. The booking progress indicator is now available directly in Appointments, so users can benefit from guided steps even without the website appointment app installed.
Original PR description
Revamped UI for Appointments: -Eliminated card borders and background colors. -Enhanced visibility by highlighting start time. -Furthermore, moved the appointment progress bar from website_appointment to appointment module, enabling users to benefit from it without the website dependency. Task-3912312
Knowledge embedded views now show a helpful empty-state message when there are no records to display. This gives users clearer guidance and helps them create their first record directly from the embedded view.
Original PR description
This work will enable the no-content helper of the embedded views of Knowledge. When the embedded views are empty, they will now show a no-content helper indicating to the user that there is no record to display. The no-content helper will provide guidance to the users and help them creating their first record. It also includes two small refactorings: * For the `_insertEmbeddedView` method: wrap all distinct prop arguments it received in one unique `props` argument. * The display name of embedded views will now be modified through the standard `setDisplayName` instead of a DOM manipulation. task-3381729
The Documents menu is reorganized so upload, request, link, spreadsheet, and workspace creation actions sit under a clearer New dropdown, while Share is easier to access as its own button. This makes common document actions easier to find and gives document managers a direct way to create workspaces from the current location.
Original PR description
Improve the burger menu ui: - reducing the labels size. - regrouping all the actions related to a document addition (upload, request, link, spreadsheet) under a "New" button dropdown. - Get the "share" button out of the dropdown, styled secondary. - Add the possibility to create a workspace from the "New" dropdown. Only available for the users with the group "group_documents_manager". Technical: As the "groups" attribute doesn't work in the ControlPanel xml, retrieving the user groups from the js. Removing the test named "when no sharable workspace is present, check the visibility of dropdown button inside 'All' workspace" as the dropdown button is now renamed "New" and is always enabled. Task-3889854
Original PR description
**In this commit we have adapted the changes for the following improvement:** - The detailed_type 'storable product' is removed and instead we add a Boolean field to track inventory. - The tracking field should be visible only after the boolean field to track inventory is enabled **Task**: 3526304
## The problem
Translating text in a language sometimes involves reordering words. Positional arguments are always inserted in the same order, which order matches English syntax, but this isn't necessarily right for every syntax of every language in the world.
Here's an eloquent example of the problem, taken from the GNU gettext documentation:
```c
printf(gettext("String '%s' has %d characters\n"), s, strlen(s));
```
which one could translate in German as follows:
```c
"%d Zeichen lang ist die Zeichenkette `%s'"
```
Even without knowing any of German, you could notice that the positions of `%d` and `%s` have been swapped; yet printf would still insert its arguments in the same order.
That's the reason why, whenever there is more than one “format specifier” (`%s`), you should always use keyworded arguments so that the translators can freely reorder the words without any problems.
## The fix
This pull request fixes the problem by naming providing a name to the placeholders of every call to gettext with more than two placeholders.
Part of task-3869533
Community: https://github.com/odoo/odoo/pull/166014