* chore: rename create_dummy_meeting to create_test_meeting
* chore: reword comments to match renamed command
* chore: rename make_dummy_nomcom to create_test_nomcom
Avoids non-inclusive language and better matches other command naming.
* chore: reword comments to match renamed command
* refactor: replace datetime.now with timezone.now
* refactor: migrate model fields to use timezone.now as default
* refactor: replace datetime.today with timezone.now
datetime.datetime.today() is equivalent to datetime.datetime.now(); both
return a naive datetime with the current local time.
* refactor: rephrase datetime.now(tz) as timezone.now().astimezone(tz)
This is effectively the same, but is less likely to encourage accidental
use of naive datetimes.
* refactor: revert datetime.today() change to old migrations
* refactor: change a missed datetime.now to timezone.now
* chore: renumber timezone_now migration
* chore: add migration to change timestamps to UTC
* refactor: move tz instantiation/caching from TimeSlot to Meeting
* fix: assume utc if meeting.time_zone is blank
* chore: make datetime.combine() calls tz aware in the meeting app
* ci: correctly use meeting.tz in TimeSlotFactory
* chore: compute TimeSlot utc / local times assuming tz-aware times
* chore: use tzaware math for agenda editor timeslot layout
* chore: fill in Meeting.time_zone where it is blank
Nearly all interim meetings on or before 2016-07-01 have blank
time_zone values. This migration fills these in with PST8PDT.
* chore: disallow blank Meeting.time_zone value
* refactor: no need to handle blank time_zone case in TZ migration
* refactor: remove now-unnecessary checks that meeting has time_zone
* chore: fix timezone handling in agenda.ics and Meeting.updated()
* chore: fix tz handling in interim_request_details, exercise in tests
* chore: fix timezone handling for test_interim_send_announcement
* chore: fix timezone handling in agenda_json()
* chore: fix timezone handling in old agenda
* chore: fix timezone handling for EditTimeslotsTests
* refactor: refactor a few fixes for more consistent timezone handling
* chore: add timezone info to timestamps in fixtures
* chore: remove naive datetime warnings found in meetings.tests_views
* chore: fix a few more test failures in meetings.tests_views
All tests in meetings.tests_views now passing
* chore: remove unused import
* chore: fix timezone handling in test_schedule_generator.py
* chore: fix timezone handling affecting meeting.tests_js
* chore: fix timeslot test bug when local date != UTC date
* test: fix a few failing tests, all meetings tests now pass
(for me, anyway)
* chore: renumber migrations
* chore: update timestamp conversion migration
The django-celery-beat package introduces tables with timestamp
columns. These columns are stored in CELERY_TIMEZONE. Because we run with
this set to UTC, the migration ignores these columns.
* chore: fix pytz-related change in migration
* chore: remove duplicate migrations
* chore: remove CELERY_BEAT_TZ_AWARE setting now that USE_TZ is True
* test: avoid failure in test with bogus timezone
* feat: add model to track session attendance
* feat: add model to track session attendance
* feat: add api to set session attendees
* fix: use user pk instead off person pk in the attended api.
* feat: calculate three of five from attended
* feat: management utility to populate Attended model history
* docs: document why nomcom calculations don't use Attended yet.
* fix: add migration to add new personalapikey endpoint to choices
* test: verify very old last login prevents api key use,
* chore: address review nits
* chore: comment on some idiosyncracies of the expected input to populate_attended
* fix: add unique_together constraint for the Attended model
* fix: correctly handle empty querysets passed to three_of_five_eligible functions.
Create/delete Meetecho conferences when requesting/canceling interim sessions. Fixes#3507. Fixes#3508.
- Legacy-Id: 19934
Note: SVN reference [19917] has been migrated to Git commit 81cd64da2bc0122f733df02f7db634665c9b309a
Note: SVN reference [19930] has been migrated to Git commit c64297e495010f3c147726ad61c24ca436c324da
Create dev branch for session purpose work (from revision [19414])
Snapshot of dev work to add session purpose annotation (from revision [19415])
Allow non-WG-like groups to request additional sessions/durations and bypass approval (from revision [19424])
Add 'closed' session purpose, assign purposes for nomcom groups, and update schedule editor to enforce timeslot type and allow blurring sessions by purpose (from revision [19427])
Add management command to set up timeslots/sessions for testing/demoing 'purpose' field (from revision [19430])
Update session purposes and group type -> purpose map to match notes page, change 'session' purpose to 'regular' (from revision [19433])
Redirect edit_schedule urls to edit_meeting_schedule view (from revision [19434])
Allow hiding/blurring sessions and timeslots based on TimeSlotType in the schedule editor (from revision [19438])
Disable session purpose/timeslot type hiding on schedule editor when only 0 or 1 options (from revision [19439])
Improvements to the timeslot and schedule editors (move new toggles to modals, handle overflowing session names, fix timeslot editor scrolling, add buttons to quickly create single timeslot, accept trailing slash on edit URL) (from revision [19449])
Update purpose/types after discussions, add on_agenda Session field, prevent session requests for groups with no allowed purpose, handle addition fields in session request, fix editing session requests, add session edit form/access from schedule editor, eliminate TimeSlotTypeName "private" field, add server-side timeslot type filtering to schedule editor (from revision [19549])
Eliminate the officehours timeslot type, update/renumber migrations, mark offagenda/reserved TimeSlotTypeNames as not used, add a 'none' SessionPurposeName and disallow null, update agenda filter keywords/filter helpers, fix broken tests and general debugging (from revision [19550])
Tear out old meeting schedule editor and related code (from revision [19551])
Fix merge errors in preceding commits (from revision [19556])
- Legacy-Id: 19570
Note: SVN reference [19415] has been migrated to Git commit 1054f90873
Note: SVN reference [19424] has been migrated to Git commit 5318081608
Note: SVN reference [19427] has been migrated to Git commit 173e438aee
Note: SVN reference [19430] has been migrated to Git commit 7a2530a0a6
Note: SVN reference [19433] has been migrated to Git commit 3be50d6e39
Note: SVN reference [19434] has been migrated to Git commit 3e3d681e5f
Note: SVN reference [19438] has been migrated to Git commit b6ac3d4b1d
Note: SVN reference [19439] has been migrated to Git commit 446ac7a47e
Note: SVN reference [19449] has been migrated to Git commit 5cbe402036
Note: SVN reference [19549] has been migrated to Git commit 3dfce7b850
Note: SVN reference [19550] has been migrated to Git commit 7b35c09c40
Note: SVN reference [19551] has been migrated to Git commit d7f20342b6
Note: SVN reference [19556] has been migrated to Git commit 2b1864f5a0
Find AD conflicts using AD person pk instead of role pk. Fixes#3354.
- Legacy-Id: 19239
Note: SVN reference [19238] has been migrated to Git commit 73e0120eac
assignments on the base schedule are shown in the pages for the
schedule, read-only.
This allows managing things like breaks and misc sessions separately
from the regular WG sessions.
Base schedules are not allowed to be the base of other base schedules
(the hierarchy can only be one level deep) to simplify the mental
model and the code.
Add link for creating new schedules instead of relying on copying
Empty-Schedule and change the meeting creation code to no longer
create the special Empty-Schedule. Instead a "base" schedule is
created and a first schedule with the name and permissions of the user
creating the meeting, using "base" as base.
Speed up a couple of the Secretariat/AD agenda views by adding
prefetches.
- Legacy-Id: 18355