Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIG] event_session: Migration to 14.0 #263

Merged
merged 17 commits into from
Mar 25, 2022

Conversation

chienandalu
Copy link
Member

@chienandalu chienandalu commented Mar 16, 2022

Migration highlights:

  • event has changed the state field for a relation to configurable stages. We had to adapt to this new workflow.
  • Some old features were dropped as obsolete, so we drop them from event sessions as well (seats_min).
  • event_event.seats_availability select field changed to the new seats_limited boolean one. We adopt the same change in event sessions and a migration scrip is added to convert the data.
  • Record rules are updated to adapt to the new multicompany behavior.
  • Some fixes in tests.

cc @Tecnativa TT34351

please review @ernestotejeda @pedrobaeza

chienandalu and others added 16 commits March 16, 2022 13:56
* Rename 'date' to 'date_begin' for being homogeneous with event fields
* Split tests
* Remove 'start_time' and 'end_time' as no needed
* Convert hours to UTC for avoiding timezone issues
- Fix tz in calculated name
- Fix tests
- Add event sessions count to reports
- Fixes computing update of stored value
- Fixes views and reports
- Fixes generator not creating last day sessions
- Totalizations in session tree view
- Security config
- Adds es_ES translations
- Fixes seats limits on sessions
- Fix report query
- Adds progress bar to sessions tree view
- Improves tests
- Fixes seats limit check
The big issue with this kind of code is that if you have a user with a
certain locale being used, it will override the locale system wide and
the next request on the server may have the dates formatted with
strftime in a different language than expected...

The other issue is that some systems do not provide a set of actual
locales so on a server running in docker without manually modifying
a dockerfile to install a set of locales, it may fail to switch
the locale to a non existing one. It will just fail to compute the field.

Babel is already a dependency of odoo and it's a bit strange to not use it.

Get the locale the same way ir.qweb.fields do

This commit use the same method as ir.qweb.fields to get the locale
to use to translate a date. The previous code didn't took into account
a case where the lang is undefined and this case also use the same
default language as defined in odoo en_US.

As a result, the behaviour of event_session is more in line with
the current behaviour in odoo which is to default to en_US if locale
is undefined. With the global locale setting, the default locale
would be the system one so it may give different result or strange
behaviours or simply prevent correctly working without manual
intervention on the host.. While babel is already supported and used
by odoo.

Modified the test to actually test correctly the date formatted

As the default lang is en_US the format of a date is the following:

- month/day/year

And time format is on 12 hours so not 22:00 to 23:00 but 10:00 PM to 11:00 PM

With those changes, setting the locale to en_UK,en_CA will render the correct date using

- day/month/year and hours on 24h.

Added tests to confirm the translations work correctly on some locales

Check case when locale=None should default to en_US
Check that lang change is correctly taken into account.
Check that it works with languages returning unicode text (Russian)
When we create a session with seats_max = 0, we get an error when we try
to view it.

Doing this changes we achieve to avoid None values on the fields
seats_available and seats_available_pc
Attendee count is failing because records are being accumulated without taking into account possible changes in event.registration

With these changes, it is possible to correctly calculate the count of attendees.

TT29930
@chienandalu chienandalu marked this pull request as ready for review March 17, 2022 12:15
@pedrobaeza
Copy link
Member

/ocabot migration event_session

@OCA-git-bot OCA-git-bot added this to the 14.0 milestone Mar 18, 2022
@OCA-git-bot OCA-git-bot mentioned this pull request Mar 18, 2022
13 tasks
event_session/models/event_mail.py Outdated Show resolved Hide resolved
event_session/models/event_mail.py Outdated Show resolved Hide resolved
@OCA-git-bot
Copy link
Contributor

This PR has the approved label and has been created more than 5 days ago. It should therefore be ready to merge by a maintainer (or a PSC member if the concerned addon has no declared maintainer). 🤖

@pedrobaeza
Copy link
Member

/ocabot merge nobump

@OCA-git-bot
Copy link
Contributor

What a great day to merge this nice PR. Let's do it!
Prepared branch 14.0-ocabot-merge-pr-263-by-pedrobaeza-bump-nobump, awaiting test results.

OCA-git-bot added a commit that referenced this pull request Mar 22, 2022
Signed-off-by pedrobaeza
@OCA-git-bot
Copy link
Contributor

@pedrobaeza your merge command was aborted due to failed check(s), which you can inspect on this commit of 14.0-ocabot-merge-pr-263-by-pedrobaeza-bump-nobump.

After fixing the problem, you can re-issue a merge command. Please refrain from merging manually as it will most probably make the target branch red.

@pedrobaeza
Copy link
Member

Travis is now red

@pedrobaeza
Copy link
Member

It seems the depends you have re-added are not OK

Comment on lines 56 to 57
"session_id.date_begin",
"session_id.date_end",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can keep only these two.
api.depends will add new ones when overriding, but it will keep the original ones

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks :) I'm never completly sure about that

@chienandalu
Copy link
Member Author

@ernestotejeda can you update your review?

@pedrobaeza
Copy link
Member

/ocabot merge nobump

@OCA-git-bot
Copy link
Contributor

What a great day to merge this nice PR. Let's do it!
Prepared branch 14.0-ocabot-merge-pr-263-by-pedrobaeza-bump-nobump, awaiting test results.

@OCA-git-bot OCA-git-bot merged commit 39d3570 into OCA:14.0 Mar 25, 2022
@OCA-git-bot
Copy link
Contributor

Congratulations, your PR was merged at b9b74b9. Thanks a lot for contributing to OCA. ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet