Friday, February 24, 2023
11 changes · master
New functionality added to Odoo
This change adds a demo express checkout flow so businesses can preview and test the customer checkout experience without configuring a real payment provider. It helps teams understand how express checkout works in website sales and delivery scenarios before going live.
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
Enhancements to existing features
The state selection dropdown now keeps the current choice visible in the list and marks it with a checkmark. This makes the control clearer and removes the need for an unintuitive tooltip, improving day-to-day usability for users changing statuses.
Original PR description
This commit revamps the UX of the StateSelection field widget. Now, instead of filtering the options by removing the current selected value, the field displays the entire list in the dropdown, and the selected item has a checkmark to indicate its status. This allows us to remove the tooltip, since its presence was not useful anymore, and was unintuitive to use. This changes required to adapt some tests asserting its presence, as well as the number of items shown in the dropdown menu. task #3177182
Resolved issues and error corrections
Weekly filters now start on the correct day for the user's language and country settings, such as Sunday for U.S. English and Monday for Belgian French. This makes weekly views align with dashboard reporting and avoids confusing date ranges in business workflows like accounting bills.
Original PR description
Steps to reproduce: - Make sure language preference is 'en_US' - In accounting, in the dashboard click on bills - Filter 'due_date' by week Issue: The start day is Monday and should be, for 'en_US',…
Features or functions removed from Odoo
Odoo has removed the PayPal quick onboarding option from website payment settings because PayPal no longer allows merchants to receive payments without an account. Businesses using PayPal will now need to complete the standard account-based setup to accept payments.
Original PR description
PayPal no longer supports receiving payments without an account. task-3166217 See also: - https://github.com/odoo/upgrade/pull/4354
Course section pages now display how many slides they contain and the estimated time needed to complete them, making it easier for learners to plan their progress. Time estimates from video and document providers are rounded up to full minutes, and course content can be searched with additional filters such as responsible person, course, and tags.
Original PR description
This commit intends to add information about the number of slides, as well as the time needed to finish said slides to the slide sections. We now also round completion time values up to minute when getting said values from Youtube, Google drive or Vimeo. Task-3054391 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds a demo express checkout flow so users can see how express checkout works without connecting a real payment provider. It helps sales and implementation teams demonstrate the payment experience more easily in demo environments.
Original PR description
Demo data without forms 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
Payment providers can now define extra transaction statuses only for the specific flows that need them, instead of applying those allowances across all providers. This reduces unnecessary flexibility in payment handling and helps make refunds and transactions behave more consistently by provider.
Original PR description
Some providers require additional allowed states due to their refund or transaction process justifying it. Until now, these extra states were specified in the `payment` module, which was not ideal as it allowed every provider in every flow to accept these additional states. With this commit, additional states are now specified only in the corresponding flow of a provider that requires them. task-2869678
Survey managers can now filter results using all question types, including text, number, date, and datetime answers. This makes it easier to narrow survey analysis to specific responses and get more relevant insights from completed surveys.
Original PR description
Purpose ======= Improve the results page filter to allow the filtering on questions of type text_box, char_box, numerical_box, date and datetime. Specifications ============== Updating the URL filters representation to avoid passing the question types directly in the URL parameters. Answer matching per question type: - char_box, text_box: 'ilike' - numerical_box, date, datetime: '=' Adding a new filter restricts the current filter results. Handling the filters depending on the 2 different answer models: 'survey.question.answer': matrix, simple_choice, multiple_choice 'survey.user_input.line': char_box, text_box, numerical_box, date, datetime. The filters can be combined but their query count doesn't add up if their related answers data are stored in the same model. Task-3138245
The web editor toolbar and command menu have been cleaned up and made easier to use, especially on mobile devices. The update fixes visual alignment, dropdown behavior, and related display issues in mass mailing so editing content is smoother across screen sizes.
Original PR description
Prior to this PR, there were unnecessary scss for the floating toolbar and the powerbox in the web editor. First commit also fixes some design issues like alignement for the icons in the list of the powerbox, box shadows, and the responsiveness of the floating toolbar on mobile. In commit [1], the toolbar dropdown had the display static added, but it causes problems to the responsiveness. 2th commit put the display back to dynamic on the dropdown and so, fixes the dropdown not showing on mobile because of the overflow-x on auto. The dynamic state also allows the dropdown to change direction (dropdown to dropup) when there's not enough space for the content of the dropdown. 3th commit adds IsMobile 4th commit uses isMobile on the all editor toolbars (frontend and backend) The layout of the toolbar, for mobile, is modified for a better behaviour and design. Prior to this, it's was a horizontal scroll. [1]: 459d4e27a860f3f0308ee0984de6f789baa65424 task-3087826
Odoo now keeps the Amazon feed reference created when a delivery is confirmed and checks its final processing status. This helps users see whether Amazon synchronization succeeded or failed, so they can correct delivery information and resend it when needed.
Original PR description
With the Amazon Connector, confirming a delivery sends a so-called "feed" to Amazon. When the feed is created, Amazon responds to the request with only the feed id. It is then processed asynchronously by Amazon and its final status is never communicated by Amazon to Odoo, hence preventing the user from being aware of synchronization issues. Keeping the feed id allows us to query Amazon about its status and process it to know if the synchronization succeeded or not, to keep track of what happens to the picking, and inform the user that he needs to change something to his picking before sending the information back to Amazon should the need arises. task-2801067 See also: - https://github.com/odoo/upgrade/pull/4146 - https://github.com/odoo/documentation/pull/3193
Steps to reproduce:
- Make sure language preference is 'en_US'
- In accounting, in the dashboard click on bills
- Filter 'due_date' by week
Issue:
The start day is Monday and should be, for 'en_US', Sunday as it is the case in the dashboard view in accounting (see appendix)
Cause:
The query uses the `date_trunc('week', date)` which in postgress retrieves the first day of the week as Monday.
Solution:
Create an offset in the query depending on the first day of the locale variable.
Note:
the `web/tests/test_read_progress_bar.py` has been modified: since the default language is 'en_US' there will be an offset of one day.
To make it less confusing, I used only two anglo-saxons countries so the day offset is not the variable tested.
(for this matter, pleaser refer to `test_read_group/tests/test_read_group_process_groupby.py`)
Appendix:
Language (english-US)
VIEW (per week) | DASHBOARD
___________________________________________________________________
W23 -> 06/05 | 05/29 -> 06/04
W24 06/06 -> 06/12 | 06/05 -> 06/11
W25 06/13 -> | 06/12 -> 06/18
(Monday - Sunday) (Sunday - Saturday)
Language (french-BE)
VIEW (per week) | DASHBOARD
___________________________________________________________________
W22 -> 06/05 | 05/30 -> 06/05
W23 06/06 -> 06/12 | 06/06 -> 06/12
W24 06/13 -> | 06/13 -> 06/19
(Monday - Sunday) (Monday - Sunday)
```
First day of the week as in Babel:
>>> import babel
>>> locale = babel.Locale('en', 'US')
>>> locale.first_week_day
6
>>> locale.days['format']['wide'][locale.first_week_day]
'Sunday'
>>> locale = babel.Locale('fr', 'BE')
>>> locale.first_week_day
0
>>> locale.days['format']['wide'][locale.first_week_day]
'lundi'
```
opw-2747066Reports and views that group information by week now use the correct first day of the week for the user's locale. This makes weekly figures align with local business expectations and reduces confusion when comparing date-based results.
Original PR description
Companion of https://github.com/odoo/odoo/pull/93053