Commit graph

11438 commits

Author SHA1 Message Date
Jennifer Richards 63a1baf116
fix: more small timezone-aware fixes (#4489)
* fix: use meeting timezone for agenda_by_(room|type)

* refactor: use timezone.override instead of timezone.activate/deactivate

* fix: add timezone info in create-charter-newrevisiondocevents

* fix: use meeting timezone for recording.html template

* fix: use meeting timezone for slide submission timeslot display

* fix: use meeting timezone for schedule diff template

* fix: use meeting timezone for edit_meeting_timeslots_and_misc_sessions

* fix: use meeting timezone for materials() view

* fix: use meeting timezone for proceedings() view

* refactor: force timestamps to utc in important_dates_for_meeting.ics

Has no effect now, but guarantees consistency with template's assertion
that its timestamps are in UTC.

* fix: use meeting timezone for a couple interim meeting templates

* fix: use meeting timezone for propose_session_slides template

* fix: use meeting timezone for upload_session_*.html

* fix: use meeting timezone for a couple session templates
2022-09-22 12:19:56 -03:00
Jennifer Richards 00cf7cf8ca
fix: use settings.TIME_ZONE for draft date in bibxml_for_draft() (#4487) 2022-09-21 11:49:35 -03:00
Jennifer Richards 1280422e1c
fix: create timeslots in new meeting TZ when duplicating (#4485) 2022-09-20 14:59:35 -03:00
Jennifer Richards fe7fc4b871
fix: miscellaneous tz fixes (#4481)
* fix: use meeting timezone for date comparison in agenda.html

* fix: use meeting timezone in interim_meeting_cancellation_notice.txt

* fix: use meeting timezone in interim_session_cancellation_notice.txt

* fix: use meeting timezone for secr misc sessions tab

* fix: use meeting tz for editing misc sessions

* fix: handle times with day outside usual choices in secr app

* fix: handle TZ correctly for reg sessions and timeslots in secr app

* fix: handle timezone in session_schedule_notification.txt

* fix: fix broken references in interim session cancellation template

* test: use meeting timezone as element id for meeting/timeslot editing
2022-09-20 13:18:05 -03:00
Jennifer Richards cbb639cd58
Merge branch 'feat/tzaware' into dev/jennifer/main-merge 2022-09-20 10:19:31 -03:00
Robert Sparks 7bc6f2b6b2
fix: return same bibxml for versioned and versionless references (#4470)
* fix: return same bibxml for versioned and versionless references

Fixes #4384.

Refactors bibxml production to remove repeated logic.

Abandons the half-implemented idea that returning information
from the Submission object might be better than the Document or
DocHistory objects.

* fix: test for None with `is not` and simplify choice from multiple qs objects

Addresses review comments.
2022-09-19 10:38:57 -05:00
Jennifer Richards a8d4bec70a
chore: remove stray debug statement (#4469) 2022-09-16 16:04:22 -03:00
Jennifer Richards 4dd220b980
fix: restore "add another" button on secr rooms and rolodex edit pages (#4467)
* fix: replace inline JS for "Add another" on secr rooms page

* fix: update rolodex edit page to re-enable "Add another" button

* refactor: use new class instead of reusing inline-related

The "inline-related" class has styling rules, etc. To avoid accidental
styling changes, use "dynamic-inline" as a class to indicate which tr
elements should be managed.
2022-09-16 12:35:32 -05:00
Lars Eggert 4a68b92c03
fix: Add <pre> to restore mailtrigger indentation (#4454)
* fix: Add <pre> to restore mailtrigger indentation

Fixes #4452

* Switch tag order
2022-09-15 12:28:08 -05:00
Jennifer Richards 3cbcfde475
fix: use meeting-local times for agenda editor (#4458)
* fix: use meeting-local times for agenda editor

* test: test agenda editor timezone handling
2022-09-15 13:18:49 -03:00
Jennifer Richards 1366b6de38
Merge branch 'feat/tzaware' into jennifer/main-to-tzaware-conflicts 2022-09-14 12:36:33 -03:00
Ryan Cross 5b6695a04c
fix: save MeetingRegistration.checkedin as boolean value (#4446) 2022-09-14 09:55:08 -05:00
Jennifer Richards 22b87a2b08
chore: fix errors breaking tests (#4448) 2022-09-14 10:22:48 -03:00
Jennifer Richards 0ca02aad1f
refactor: accept tz name in timezone util methods and refactor iana-changes-updates script (#4444)
* refactor: accept tz name strings in ietf.utils.timezone methods

* refactor: use explicitly tz-aware math for iana-changes-updates script

* chore: remove unused "local_timezone_to_utc()" method helper
2022-09-13 13:16:36 -03:00
Lars Eggert 79bf320acc
fix: Only show ADs when assigning ADs for groups (#4440)
* fix: Only show ADs when assigning ADs for groups

Fixes #4302

* Fix test failure
2022-09-13 09:54:12 -05:00
Lars Eggert 5fcf2aa44a
ui: Hyphenate table headers, and optionally force-wrap them (#4441) 2022-09-13 09:07:21 -05:00
Jennifer Richards 54c57e0419
test: refactor tests to avoid shadowing meeting.date with a datetime (#4430) 2022-09-12 11:36:58 -03:00
Jennifer Richards dcb6da947e
fix: use tz-aware meeting datetime to decide when to show ical link (#4429)
* refactor: reimplement Meeting.end_datetime() using datetime_from_date helper

* fix: use tz-aware meeting datetime to decide when to show ical link
2022-09-12 11:35:01 -03:00
Robert Sparks d3f25a67b5
test: address data type issue in reg api tests. (#4428) 2022-09-09 10:34:59 -05:00
Lars Eggert 64b5bdffa7
chore: Update deps (#4383)
* chore: Update dependencies

* Handle new html-validate tests
2022-09-09 08:56:53 -05:00
Ryan Cross ad08ccad27
feat: add checkedin to api_new_meeting_registration() (#4424) 2022-09-09 08:56:13 -05:00
Jennifer Richards 155b3a1e31
fix: refactor ad_workload view so it works when USE_TZ is False (#4423) 2022-09-08 17:11:56 -05:00
Lars Eggert 9db1958bdd
feat: Add column sums to /doc/ad dashboard (#4415)
* feat: Add column sums to /doc/ad dashboard

* Tweak template a bit

* Add trend indicators when logged in as AD

* Shorten column headings more; put full heading into tooltip

* Fix trend colors; add table dividers

* Add note about trend indicators

* Wording fix

* Show which docs make up the delta if there is a trend change

* Fix missing stats

* More space before headings

* Better popover formatting

* Make popover trigger clickable, and add links to docs in the delta

* Improve trends

* Fix tests and shorten headers

* Add button to IESG dashboard to AD dashboards.

* fix: use tz-aware calculations for ad_workload view

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
2022-09-08 14:00:18 -05:00
Robert Sparks 57fd099ea0
feat: add ability to ignore reduction in coverage to the testrunner (#4422) 2022-09-08 13:19:07 -05:00
Jennifer Richards 4084d7d557
fix: record and interpret RFC pub dates in correct timezone (#4421)
* fix: use PST8PDT for published_rfc event timestamps

* fix: find RFCs by PST8PDT year in RfcFeed

* refactor: add const RPC_TZINFO to represent RFC publication timezone

* chore: remove (rather than fix) unused template tags

* fix: always return RPC_TZINFO-local date from Document.pub_date()

* refactor: convert 'published' flag to a Boolean to reflect its usage

* fix: display doc publication dates in correct time zones

* fix: fix various small issues breaking tests
2022-09-08 14:51:19 -03:00
Lars Eggert 228b496662
ui: Add table dividers (#4417)
* ui: Add table dividers

And add some &shy; hyphens while we're here.

* Remove &shy;
2022-09-08 08:57:19 -05:00
Jennifer Richards d0383c7cf1
fix: convert pre-1970 timestamps when migrating to UTC (#4419)
* fix: convert pre-1970 timestamps when migrating to UTC

* fix: simplify migration code and fix typo
2022-09-07 15:17:30 -03:00
Nicolas Giard 9d055f8dd8
test: add agenda-neue cypress tests (#4293)
* fix: move vue app to parent dir

* test: prepare vue for cypress testing

* test: add basic cypress test for vue app

* test: add agenda-neue header tests

* test: meeting generator for cypress tests (wip)

* test: agenda-neue meeting nav + settings button

* test: agenda-neue check settings button position against viewport size

* test: agenda-neue fix viewport + add schedule list header tests

* test: agenda-neue timezone tests + future meeting template

* test: agenda-neue add test floor plan image fixtures

* test: floor-plan-neue - handle floor plan images

* test: floor-plan-neue room selection + pin drop tests

* test: floor-plan-neue - test all viewports

* test: floor-plan-neue add missing header tests

* test: agenda-neue - generate areas + groups

* test: agenda-neue - test filter areas + groups dialog

* test: agenda-neue code cleanup + generate schedule (wip)

* test: agenda-neue - generate schedule (wip)

* test: agenda-neue - generate schedule + test settings dialog (wip)

* test: agenda-neue - settings timezone controls

* test: agenda-neue - settings toggles + agenda table headers tests

* test: agenda-neue - table events + memory fixes

* test - agenda-neue - table events remaining columns tests

* test: agenda-neue - meeting materials dialog + future schedule list table buttons

* test: agenda-neue - remove skips

* test: agenda-neue - search

* test: agenda-neue - remove skips

* test: agenda-neue - use random seed for deterministic results

* test: agenda-neue - set constant clock

* test: add percy to cypress + upgrade cypress

* test: agenda-neue - jump to day tests

* test: agenda-neue - add to calendar tests

* test: agenda-neue - add pick sessions tests

* test: agenda-neue - calendar view tests

* test: agenda-neue - color assignment tests

* test: agenda-neue - skip test not supported in firefox/safari

* test: agenda-neue - live sessions tests

* test: agenda-neue - smaller screens tests

* chore: update workflows to handle modern + legacy cypress tests

* test: fix legacy agenda weekview test + cypress legacy config
2022-09-07 14:14:12 -04:00
Robert Sparks d18b941462
fix: show group meeting dates and weekdays in each meeting's timezone. (#4405) 2022-09-06 15:58:32 -03:00
Jennifer Richards 3e5c1c6365
chore: run timezone.now migrations before converting timestamps to UTC (#4404) 2022-09-06 15:54:03 -03:00
Lars Eggert baf67d1cd5
fix: Use new schedule editor icons picked by @flynnliz (#4407)
Also clean up the related layout somewhat.

Fixes #4378
2022-09-06 12:11:59 -05:00
Jennifer Richards 3cc208c05f
fix: compare last revision and doc timestamps in display TZ (#4418) 2022-09-06 12:48:09 -03:00
Jennifer Richards 32054111df
fix: fix failing tests and eliminate naive datetime warnings (#4402)
* test: fix timestamp construction in several doc tests

* refactor: rename date2datetime to datetime_from_date and clarify code

* chore: helper to get tzinfo for PRODUCTION_TIMEZONE

* fix: fix timezone handling in make_last_call()

* test: fix datetime generation in doc.tests_charter

* refactor: remove PRODUCTION_TIMEZONE setting

Replaces the PRODUCTION_TIMEZONE setting with a constant,
DEADLINE_TZINFO, in ietf.utils.timezone.

* test: be more careful about timezone in tests_charter.py

* test: be more careful about timezone in doc/tests.py

* fix: fix timezone handling affecting doc.tests_draft

* fix: fix timezone handling affecting tests_irsg_ballot.py

* fix: fix timezone handling affecting tests_review.py

* fix: fix timezone handling affecting last ietf.doc tests

* fix: fix timezone handling affecting last ietf.group tests

* fix: fix timezone handling affecting ietf.iesg tests

* fix: handle timezones in get_8989_eligibility_querysets

* fix: handle timezones affecting ietfauth tests

* fix: return tz-aware datetime from utc_from_string

* fix: specify timezone for constants in ipr_rfc_number()

* fix: specify tz for ipr deadlines

* fix: handle timezones affecting liaisons tests

* fix: treat leap day in get_8989_eligibility_querysets()

Manual cherry-pick of 248d6474

* test: treat leap day properly in nomcom tests

* fix: fix timezone handling affecting nomcom tests

* test: fix timezone handling in review tests

* fix: fix timezone handling affecting secr.meetings tests

* fix: handle both pytz and zoneinfo timezones in ietf.utils.timezone

* fix: fix timezone handling affecting secr.proceedings tests

* refactor: use make_aware() helper in secr.meetings tests

* test: fix timezone handling in secr.telechat tests

* fix: fix timezone handling affecting stats tests

* fix: eliminate tz-naive helpers affecting sync email parsing

* fix: include timezone data when serializing DeletedEvent data

* fix: fix timezone handling affecting sync tests

* style: remove unused import
2022-09-01 13:07:28 -03:00
Robert Sparks a4ecccb061
fix: pytz manipulation of dumptime
* fix: pytz manipulation of dumptime

* fix: use pytz correctly. Add test for api/version dumpinfo time.

* fix: actually use pytz correctly
2022-09-01 12:31:06 -03:00
Jennifer Richards b85ecce89f
fix: treat leap day properly in nomcom eligibility calc (#4393)
* fix: treat leap day in get_8989_eligibility_querysets()

* test: treat leap day properly in nomcom tests
2022-08-31 16:03:38 -05:00
Robert Sparks f7f0ca99d3
fix: don't migrate dumpinfo. automate migrations and setting USE_TZ. (#4389)
* fix: don't migrate dumpinfo - it's already in UTC.

* chore: leave mode bits alone

* fix: migrate the container db, automating setting USE_TZ.
2022-08-31 12:38:48 -03:00
Jennifer Richards c2c17cfeb1
chore: enforce USE_TZ setting expectations in migrations (#4386)
* chore: enforce USE_TZ setting expectations in migrations

* chore: keep USE_TZ=False until changed manually
2022-08-30 12:10:59 -03:00
Lars Eggert 79a34e2f4d
fix: Static paths don't need to be prefixed with the base URL (#4382) 2022-08-29 18:03:31 -05:00
Robert Sparks 795415e673
fix: generate aliases for rfcedtyp groups. Fixes #4362. (#4374) 2022-08-29 17:52:59 -05:00
Jennifer Richards a3550c1920
fix: show()/hide() timeslots/sessions on schedule editor (#4385) 2022-08-29 17:52:33 -05:00
Robert Sparks af780e6800
fix: allow shepherds for editorial stream documents. Fixes #4333 (#4379)
* fix: allow shepherds for editorial stream documents. Fixes #4333

* Revert "fix: allow shepherds for editorial stream documents. Fixes #4333"

This reverts commit b089a1099c947a1bf5b72b79fb786478d10e3601.

* fix: allow shepherds for editorial stream documents. Fixes #4333
2022-08-29 17:47:18 -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
Lars Eggert 088d953e7e
fix: provide settings to render_to_string for IPR notification emails (#4357)
* Pass settings into the context

Fixes #4340

* fix: test changes to the ipr notification message content

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-08-26 14:27:37 -05:00
Lars Eggert e666894d55
fix: Fix CSS query selectors (#4372) 2022-08-26 12:51:27 -05:00
Jennifer Richards 42203d7a9c
chore: migrate timestamps for use with USE_TZ=True (#4370)
* chore: add migration to change timestamps to UTC

* 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: 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: be explicit that Meeting.vtimezone can return None

* refactor: remove unnecessary save()
2022-08-26 13:03: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
Lars Eggert 1dfd0cbf47
Fix the interim meeting request approval form (#4356)
Fixes #4355
2022-08-25 10:20:47 -05:00
Ryan Cross a94a87f336
fix: remove test so all deleted or swapped (onsite<->remote) registrations get removed from MeetingRegistrations (#4359) 2022-08-25 10:00:04 -05:00
Lars Eggert 6d585d2f4e
Fix BCP79 reference (#4369)
Fixes #4367
2022-08-25 09:43:04 -05:00
Jennifer Richards 727feabfff
chore: create stale submission cleanup task and other deployment tweaks (#4358)
* chore: disable beat container for dev

* chore: use init option with celery container

* chore: create cancel_stale_submissions task via migration

* chore: revert accidental change included in last commit

* chore: terminate celery docker-init.sh on failed command
2022-08-24 12:29:48 -05:00