Commit graph

150 commits

Author SHA1 Message Date
Jennifer Richards 2fb550ffce
feat: add room_id param to createRoom API (#7308)
* feat: add room_id param to createRoom API

* test: update tests_helpers.py
2024-04-09 11:21:35 -05:00
Robert Sparks 8cb7f3dcae
feat: Import IESG artifacts into the datatracker (#6908)
* chore: remove unused setting

* feat: initial import of iesg minutes

* fix: let the meetings view show older iesg meetings

* feat: iesg narrative minutes

* feat: import bof coordination call minutes

* wip: import commands for iesg appeals and statements

* feat: import iesg statements.

* feat: import iesg artifacts

* feat: many fewer n+1 queries for the group meetings view

* fix: restore chain of elifs in views_doc

* fix: use self.stdout.write vs print in mgmt commands

* fix: use replace instead of astimezone when appropriate

* chore: refactor new migrations into one

* fix: transcode some old files into utf8

* fix: repair overzealous replace

* chore: black

* fix: address minro review comments

* fix: actually capture transcoding work

* fix: handle multiple iesg statements on the same day

* fix: better titles

* feat: pill badge replaced statements

* fix: consolodate source repos to one

* feat: liberal markdown for secretariat controlled content

* fix: handle (and clean) html narrative minutes

* feat: scrub harder

* fix: simplify and improve a scrubber

* chore: reorder migrations
2024-02-20 16:35:08 -06:00
Jennifer Richards d1909fd0c3
fix: Combine Group and GroupHistory when counting (#6701)
* fix: Combine Group and GroupHistory when counting

* refactor: Use same symbol in parallel iterators

* fix: Handle group acronym changes in assertion

* refactor: Avoid reference to GroupHistory in assertions

* chore: Revert so assertion fails on changed acronym

The filtering and meeting displays disagree on how to handle this,
so let's get a notification if it comes up in production.
2023-11-28 14:06:36 -06:00
Lars Eggert 97df94f41d
fix: Add footer with group interim ics calendar to announce email (#5279)
* fix: Add footer with group interim ics calendar to announce email

Fixes #2939

* Fix test
2023-03-03 10:32:15 -06:00
Jennifer Richards 9a1de57c9e
fix: Only consider ietf meetings as "next" for agenda_ical or agenda_json (#5238)
* style: Clean up get_meeting() signature and code style

* chore: Remove unused parameter from agenda_ical() view's signature

* fix: Only consider ietf meetings as "next" in agenda_ical

* fix: Only consider ietf meetings as "next" in agenda_json

* test: Test agenda_json "next meeting" and clean up agenda_ical test

* style: Reformat new tests using Black style
2023-02-28 11:47:20 -06:00
Jennifer Richards a2bdd3109c
fix: Use session.order_in_meeting() in the agenda (#5222) 2023-02-27 12:18:12 -06:00
Jennifer Richards 5a1fc4c2ab
fix: use a single Meeting instance for all assignments in agenda views (#4877) 2022-12-12 16:33:08 -06:00
Jennifer Richards 40fd46a293
fix: be more sure to create interim's timeslot / update duration (#4846) 2022-12-07 14:45:00 -06:00
Jennifer Richards 0abebf2f10
feat: add 'IETF Meetings' filter to upcoming meetings page (#4826)
* feat: add 'IETF Meetings' filter to upcoming meetings page

* feat: apply 'ietf-meetings' filter to upcoming.ics

* fix: also filter upcoming IETF meetings in the graphical calendar

* test: update tests to match changes

Includes fixing an error in test_upcoming_view_filter_hide_type().
Due to a copy/paste error, it claimed to be testing with a type
both shown and hidden but was not actually hiding a type at all.
2022-12-05 15:19:36 -06:00
Robert Sparks 0b3f9f5dc5
refactor: clarify handling what groups looked like at past session times (#4767)
* refactor: clarify handling what groups looked like at past session times

* fix: replace missed instance of historic_parent reference

* fix: reflect that group_at_the_time always returns something

* chore: update copyright lines
2022-11-29 11:08:16 -06:00
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