Commit graph

140 commits

Author SHA1 Message Date
Lars Eggert 6eabd4a3a1
chore: Use codespell to fix typos in comments. (#4794)
First part of replacement of #4651
2022-11-28 10:36:36 -06:00
Jennifer Richards d55280d0b1
Merge pull request #4638 from ietf-tools/main
chore: merge main into feat/tzaware
2022-10-24 12:57:11 -03:00
Robert Sparks 26e2e23418
fix: reduce agenda data calculation time (#4622)
* fix: reduce agenda data calculation time

* doc: improve docstring for preprocess_assingments_for_agenda
2022-10-21 11:03:11 -05:00
Jennifer Richards 8b52d27b02
refactor: refactor timestamp handling so tests in meeting app pass (#4371)
* 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
2022-08-26 16:53:19 -03:00
Jennifer Richards ebebdbed3e
refactor: replace datetime.now and datetime.today with timezone.now (#4211)
* 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: renumber migrations
2022-08-25 13:45:16 -03:00
Jennifer Richards 40c33b1281
fix: better handle corner cases for pre-IETF-64 agenda redirects (#3775)
Fixes #3669
2022-03-31 17:16:21 -03:00
Jennifer Richards 82ea659ed4 Use correct UTC time when creating Meetecho conferences. Fixes #3565. Commit ready for merge.
- Legacy-Id: 19969
2022-02-23 20:51:18 +00:00
Robert Sparks f8c7be6df9 Merged in [19917] and [19930] from jennifer@painless-security.com:
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
2022-02-14 19:08:10 +00:00
Robert Sparks 216ebe2b94 Provide the complete context to the template for mail about approved interim requests. Fixes #3534. Commit ready for merge.
- Legacy-Id: 19907
2022-02-03 03:16:11 +00:00
Jennifer Richards d7f20342b6 Tear out old meeting schedule editor and related code
- Legacy-Id: 19551
2021-11-04 17:07:22 +00:00
Jennifer Richards 7b35c09c40 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
- Legacy-Id: 19550
2021-11-04 17:06:06 +00:00
Jennifer Richards b6ac3d4b1d Allow hiding/blurring sessions and timeslots based on TimeSlotType in the schedule editor
- Legacy-Id: 19438
2021-10-19 01:07:56 +00:00
Jennifer Richards 1054f90873 Snapshot of dev work to add session purpose annotation
- Legacy-Id: 19415
2021-10-12 17:08:58 +00:00
Robert Sparks 4cb03a24cc Merged in [19183] from jennifer@painless-security.com:
Add 'Select Sessions' tab to agenda pages.
 - Legacy-Id: 19185
Note: SVN reference [19183] has been migrated to Git commit 82ad0402f8
2021-07-02 00:58:34 +00:00
Jennifer Richards 82ad0402f8 Add 'Select Sessions" tab to agenda pages. Commit ready for merge.
- Legacy-Id: 19183
2021-07-01 23:45:25 +00:00
Robert Sparks 0d33a8dde2 Revert the removal of the decoration of session with order_number made in r19074. The attribute is used in the templated URLs associated with Rooms (such as for the Meetecho session URL). Commit ready for merge.
- Legacy-Id: 19168
2021-06-30 18:07:52 +00:00
Robert Sparks 3571a4cd86 Merged in [19074] from kivinen@iki.fi:
Adds new filtering tags for sessions which have multiple sessions. I.e., in addition to wg,area,type there is wg-sessa, wg-sessb or wg-sessc etc on the tags, so now you can filter either all wg sessions or only specific sessions. Also removes the unused session.order_number, but not yet the session.order_in_meeting() function (which I think is unused too).
 - Legacy-Id: 19080
Note: SVN reference [19074] has been migrated to Git commit ddefdecca7
2021-06-04 20:21:49 +00:00
Tero Kivinen ddefdecca7 Adds new filtering tags for sessions which have multiple sessions. I.e., in addition to wg,area,type there is wg-sessa, wg-sessb or wg-sessc etc on the tags, so now you can filter either all wg sessions or only specific sessions. Also removes the unused session.order_number, but not yet the session.order_in_meeting() function (which I think is unused too).
- Legacy-Id: 19074
2021-06-03 20:03:14 +00:00
Mark J. Donnelly e3ee370981 First swipe at making past sessions unchangable for official schedules
This change locks down the schedule of any meeting that is fully in the past.  It leaves open sessions that have finished for meetings that have not yet finished.

Addresses (partially) issue #3083.  Commit ready for merge.
 - Legacy-Id: 19030
2021-05-21 20:38:51 +00:00
Jennifer Richards 516abc5725 Drop parent group filter keyword from special group agenda items. Fixes #3115.
- Legacy-Id: 18927
2021-03-31 15:42:39 +00:00
Robert Sparks 09809b874e Merged in [18689] from kivinen@iki.fi:
New version of the timezone support for agenda. Now the ongoing
bars work. This also moves the javascript from the agenda.html
to separate timezone.js file. This commit does not include the
moment and moment-timezone javascript libraries that are
needed to get this working, they need to be added to
ietf/externals/static separately.
 - Legacy-Id: 18800
Note: SVN reference [18689] has been migrated to Git commit f18fe23ea5
2021-01-25 16:28:34 +00:00
Robert Sparks 3697180cc1 Reverted merge of timezone-aware migration efforts.
- Legacy-Id: 18792
2021-01-12 16:54:20 +00:00
Henrik Levkowetz 59b49c846b Fixed a number of TimeSlot-related issues, in particular related to getting the correct date from a timeslot. Also fixed the displayed slot times in the new schedule editors to show local times, not UTC times.
- Legacy-Id: 18785
2020-12-19 22:55:11 +00:00
Henrik Levkowetz 774e752a54 Snapshot of timezone-aware datatracker code. Tests pass, and the test-crawler shows only expected differences. Trunk changes merged in up to r18768.
- Legacy-Id: 18770
2020-12-16 23:53:37 +00:00
Robert Sparks 91b2994a9b Merged in [18729] from rcross@amsl.com:
Add argument 'days' to get_meeting() to allow specifying lag time
 - Legacy-Id: 18758
Note: SVN reference [18729] has been migrated to Git commit 3c29c111a4fa474f876ed12f265c5844ebb3c94d
2020-12-11 21:42:51 +00:00
Robert Sparks 8ab7a30ba3 Merged in [18724] from jennifer@painless-security.com:
Allow cancellation of individual sessions of multi-session interim meeting. Fixes #2959.
 - Legacy-Id: 18757
Note: SVN reference [18724] has been migrated to Git commit 79971e14c7
2020-12-11 21:13:33 +00:00
Henrik Levkowetz 8d3217ac7f Added sorting of agenda filter keywords to make page rendering stable.
- Legacy-Id: 18737
2020-12-08 14:08:09 +00:00
Jennifer Richards 79971e14c7 Allow cancellation of individual sessions of multi-session interim meeting. Fixes #2959. Commit ready for merge.
- Legacy-Id: 18724
2020-12-01 17:37:09 +00:00
Tero Kivinen f18fe23ea5 New version of the timezone support for agenda. Now the ongoing
bars work. This also moves the javascript from the agenda.html
to separate timezone.js file. This commit does not include the
moment and moment-timezone javascript libraries that are
needed to get this working, they need to be added to
ietf/externals/static separately.
 - Legacy-Id: 18689
2020-11-12 22:15:23 +00:00
Henrik Levkowetz 7384c03859 Merged in ^/personal/jennifer/7.17.1.dev0 from jennifer@painless-security.com:
This adds support for the simpler show/hide filtering to the ical agenda
views. It also significantly rearranges (and, I hope, improves the
organization of) the tests. In particular, it specifically tests that
the ical and HTML views include equivalent sets of events. Finally, the
agenda_filter.html template is reworked to be more modular.
 - Legacy-Id: 18631
2020-10-23 18:50:42 +00:00
Henrik Levkowetz 517ebfa15b Merged in [18616] from rjsparks@nostrum.com:
Email requesters when an interim moves into the announcement queue. Partially addresses #3016 and #3099.
 - Legacy-Id: 18630
Note: SVN reference [18616] has been migrated to Git commit ff3f3bd99a
2020-10-23 18:00:27 +00:00
Jennifer Richards d67b298512 Use reworked filtering for ical agendas; refactor filter UI with office hours buttons and nicer formatting
- Legacy-Id: 18619
2020-10-16 16:06:07 +00:00
Robert Sparks ff3f3bd99a Email requesters when an interim moves into the announcement queue. Partially addresses #3016 and #3099. Commit ready for merge.
- Legacy-Id: 18616
2020-10-13 22:45:31 +00:00
Robert Sparks b0eeaecca0 Allow anyone to see the pending and awaiting announcement tabs on the upcoming meeting view. Fixes #2929. Partially addresses #3016. Commit ready for merge.
- Legacy-Id: 18589
2020-10-09 20:19:16 +00:00
Jennifer Richards 1b1bc24744 Rework agenda filters with show/hide keywords in place of 'types' and add bof / AD office hours buttons
- Legacy-Id: 18563
2020-10-05 13:55:52 +00:00
Ole Laursen ca057911ea Compute session order from available data instead of going through the
database again (saves ~2800 queries on the IETF 106 agenda page)
 - Legacy-Id: 18414
2020-08-25 14:56:40 +00:00
Ole Laursen a39fa7f967 New branch from trunk @ r18382 for meeting improvements, with iola/meeting-improvement-r17835 merged in
- Legacy-Id: 18385
2020-08-20 09:36:41 +00:00
Ole Laursen c78ffbcd18 Introduce support for setting a base schedule on a schedule. All
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
2020-08-11 17:34:32 +00:00
Robert Sparks 2b10465aa7 Convert IRTF area groups into their own group type rather than attempting to overload AG. Fixes #3027. Commit ready for merge.
- Legacy-Id: 18298
2020-07-28 18:54:44 +00:00
Henrik Levkowetz c44dd5c5ea Added support for a meeting session order_number (denoting first session for this group in the meeting, second session, etc.) when filling in URL templates with session info using the 'format' filter. Used for the Meetecho video straming url for a session.
- Legacy-Id: 18174
2020-07-15 13:08:55 +00:00
Ole Laursen 45ed2c5a2c Add support in the new meeting schedule editor for making a tombstone
session when rescheduling a session after the schedule is made the
official meeting schedule.

Show both cancelled and rescheduled sessions as tombstones in the new
meeting schedule editor.

Add support for showing rescheduled tombstones in the meeting agenda
views.

Adjust the Secretariat session tool so that it's not possible to
(re)cancel cancelled or rescheduled tombstones.
 - Legacy-Id: 18108
2020-06-30 16:55:24 +00:00
Ole Laursen a373f1d55c Prefetch a couple of things in the agenda view to reduce the number of
queries for IETF 106 from about 3800 to about 235.
 - Legacy-Id: 18103
2020-06-30 12:46:36 +00:00
Russ Housley 5dc4931f87 Add /meeting/<num>/agenda pages to the slowpages cache. While I was in the template, I also did a recent ticket. Fixes #2992.
- Legacy-Id: 17864
2020-05-21 14:42:37 +00:00
Robert Sparks 9ba71bebac Better use of group type in interim announcement tools. Fixes #2989. Commit ready for merge.
- Legacy-Id: 17797
2020-05-14 22:38:02 +00:00
Robert Sparks fb8e5c6842 Allow IAB programs to use normal meeting mechanics. Fixes #2970. Commit ready for merge.
- Legacy-Id: 17764
2020-05-08 21:11:25 +00:00
Henrik Levkowetz f10ddadc0e Merged in changes from trunk up to r17584.
- Legacy-Id: 17593
2020-04-07 16:02:52 +00:00
Robert Sparks 35759c2580 Allow an out-of-area AD assigned as the AD for a WG to approve interim requests for that WG. Fixes #2930. Commit ready for merge.
- Legacy-Id: 17538
2020-03-25 18:58:17 +00:00
Henrik Levkowetz c6b2e8e479 Merged in [17425] from rjsparks@nostrum.com:
Make required AD approval of virtual interims configurable. Fixes #2912.
 - Legacy-Id: 17426
Note: SVN reference [17425] has been migrated to Git commit 6248706959
2020-03-12 21:13:22 +00:00
Robert Sparks 6248706959 Make required AD approval of virtual interims configurable. Fixes #2912. Commit ready for merge.
- Legacy-Id: 17425
2020-03-12 19:12:57 +00:00
Henrik Levkowetz 60e302ab5a Avoid trying to open meeting documents with empty .uploaded_filename.
- Legacy-Id: 17417
2020-03-10 17:59:56 +00:00