Commit graph

395 commits

Author SHA1 Message Date
Robert Sparks f8113cb862
fix: close open things (#5593)
* fix: close open things

* fix: clean up test created files

* fix: remove one close too many
2023-05-10 11:19:34 -05:00
Jennifer Richards 09ff9c6ced
refactor: Tie Meetecho resources to Session pk (#5281)
* feat: Use session.id to specify session for api_set_session_video_url

* feat: Use session.id to specify session for api_upload_bluesheet

* refactor: Add audio/video stream and onsite tool URLs to Session model

* refactor: Get onsite tool/stream URLs for agenda from Session

* refactor: Use Session methods for onsite tool/stream a few more places

* refactor: Move hard-coded meetecho URLs into settings.py

* feat: Add has_onsite_flag to Session

* chore: Set has_onsite_tool for sessions that had meetecho UrlResources

* fix: Only show onsite tool URLs when Session.has_onsite_tool is True

* test: Update test_api_upload_bluesheet to test deprecated version

* fix: Fix test failure in api_upload_bluesheet view

* test: Add test of new api_upload_bluesheet view

* style: Apply Black style to test_api_upload_bluesheet

* fix: Fix test failures in api_upload_bluesheet()

* test: Update test_api_set_session_video_url to test deprecated version

* fix: Fix test failure in api_set_session_video_url view

* test: Add test of new api_set_session_video_url view

* style: Apply Black styling to new test

* fix: Fix test failures in api_set_session_video_url view

* test: Fix test_meeting_agenda; set has_onsite_tool in SessionFactory

* feat: Add has_onsite_tool to Session list in admin

* feat: Add has_onsite_tool flag to SessionDetailsForm

* feat: Add has_onsite_tool flag to sreq

* feat: Show has_onsite_tool flag on secr view for a submitted request

* feat: Only prompt for has_onsite_tool in sreq for non-wg type groups

* fix: Clean up styling of sreq view a bit

* chore: Renumber migrations
2023-04-23 18:15:01 -05:00
Ryan Cross 1bd5c5e2f1
feat: Add requests summary (#5439)
* feat: Add summary data to meeting/requests

* feat: Add Group Type and Purpose tables to requests summary

* fix: use self.assertXX instead of raw assert

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-03-30 08:07:59 +09:00
Robert Sparks 01b4a91bfe
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-29 10:41:47 +09:00
Jennifer Richards bc9c74ef50
fix: Render complete iCalendar event when show_location is False (#5394)
* test: More carefully test event syntax in ical file

* test: Test agenda.ics view with all meeting sessions

* fix: Render complete iCalendar event when show_location is False

* chore: Fix confusing comment
2023-03-26 14:13:58 +09:00
Robert Sparks 88a78cf1ab
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-20 13:46:32 -05:00
Ryan Cross b654b49d6b
refactor: Remove secr proceedings (#5256)
* refactor: remove import_audio_files() and related code

* refactor: move functions from proc_utils to meeting/utils

* refactor: remove secr/proceedings
2023-03-10 15:33:01 -06:00
Robert Sparks 4b4e876305
Merge branch 'main' into feat/postgres 2023-03-09 11:43:38 -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
Robert Sparks 82f23da2b3
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-02-28 16:25:46 -06:00
Jennifer Richards 91a6c9a0df
chore: Remove unused ajax_get_utc() view and related plumbing (#5239)
* chore: Remove unused get_ajax_utc() view and related plumbing

* chore: Remove accidentally committed code
2023-02-28 14:36:55 -06:00
Jennifer Richards 0377ebdd28
feat: Put agenda.csv in meeting TZ and add agenda-utc.csv endpoint (#5226)
* fix: Let csv.writer handle encoding for agenda_csv view

* style: Use 'is None' instead of '== None'

* feat: Display times in meeting time for agenda.csv

* feat: Provide agenda-utc.csv view

* test: Test agenda.csv time zone and agenda-utc.csv endpoint
2023-02-28 14:31:07 -06:00
Robert Sparks 1f990bce1d
Merge branch 'main' into feat/postgres 2023-02-28 14:19:59 -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 8e16b4405b
fix: Support time zones in agenda.txt; restore agenda-utc.txt (#5233)
* fix: Format times in display timezone in agenda.txt template

* chore: Remove unused and non-timezone-friendly TimeSlot.time_desc()

* feat: Dispatch agenda-utc.txt URL

* refactor: Use None to indicate lack of utc parameter to view

* feat: Show display timezone in agenda.txt template

* refactor: Combine URL regexes for the agenda.txt to a single entry

* test: Update tests for agenda.txt/agenda-csv.txt

* fix: Remove ':' added to time formats in agenda.txt template
2023-02-28 10:16:39 -06:00
Ryan Cross e469addcb2
feat: move IETF Activity reports from external text based to HTML pages (#5180)
* feat: move IETF Activity reports from external text based to HTML pages

* fix: use date_today(), fix fencepost problem

* fix: use is_meeting_report template variable instead of is_monthly_report
2023-02-27 16:58:59 -06:00
Robert Sparks f010766654
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-02-27 12:55:47 -06:00
Jennifer Richards 91be593c82
fix: Use more robust filename/rev matching for meeting materials (#5192)
* fix: Use more robust filename/rev matching for meeting materials

* chore: Remove debug statement

* test: Update test to catch bug fixed by this PR

* fix: Be more discerning when parsing revision

* test: Update test to exercise revision parsing/validation

* style: Apply Black styling to replaced code
2023-02-24 12:26:53 -06:00
Jennifer Richards 42096989ec
feat: Include remote instructions and onsite tool in ics files (#5182)
* feat: Add remote_instructions for sessions to agenda.ics

* feat: Add webex/meetecho/remote_instructions to upcoming.ics

* fix: Remove location-based details from interims in upcoming.ics

Interim sessions don't ever seem to have locations, so they won't use
the new code anyway. Leave in the remote-instructions.

* test: Test inclusion/exclusion of remote_instructions in upcoming.ics

* test: Test inclusion/exclusion of remote_instructions in agenda.ics

* feat: Include onsite tool link in agenda.ics

* test: Test inclusion of meetecho onsite and remote URLs in agenda.ics
2023-02-22 11:34:28 -06:00
Jennifer Richards f9c2376d27
feat: Return to expected schedule after editing sessions/timeslots (#5158)
* fix: Return to the expected schedule after editing session dteails

* style: Avoid confusing nested double-quotes in html template

* feat: When possible, add "back to agenda" button to edit_timeslots

* chore: Propagate 'sched' to links/includes in timeslot_edit.html

* chore: Propagate 'sched' to links/includes in edit_timeslot() view

* chore: Propagate 'sched' to links/includes in create_timeslot() view

* test: Test sched param propagation in timeslot edit views

* test: Test sched param propagation in session edit view

* test: Fix URL in test_edit_meeting_schedule
2023-02-16 09:57:18 -06:00
Robert Sparks e1206fa91e
Merge remote-tracking branch 'upstream/main' into feat/postgres 2023-02-13 09:17:05 -06:00
Jennifer Richards 6cfbab63ba
fix: Use session name instead of timeslot name on agenda (#5086)
* fix: Use session name instead of timeslot name on agenda

* test: Fix failing playwright test

* test: Test name/slotName values from agenda_extract_schedule()

* chore: Migrate sessions to use timeslot names for IETF meetings
2023-02-07 14:40:23 -06:00
Robert Sparks 2a1602d9bb
Merge remote-tracking branch 'origin/main' into feat/postgres 2023-01-31 16:57:03 -06:00
Robert Sparks afac1f8f19
feat: enable editorial stream adoption and balloting (#5011)
* feat: enable editorial stream adoption and balloting

* fix: bring tests into line with refactor

* feat: force intended_std_level to Informational when adopting into a non-ietf stream.

* fix: improve blocking position labels and email content

* fix: simplify pointer to group on doc main page for rswg docs

* fix: recover from merge typos

* fix: correct defer and clear ballot behavior

* fix: improve publication request access logic

* fix: clean up broken editorial state

* fix: adjust test to match migrations
2023-01-31 13:50:51 -06:00
Robert Sparks 2351629fcc
Merge remote-tracking branch 'origin/main' into feat/postgres 2023-01-23 10:28:14 -06:00
Jennifer Richards c6663eb593
fix: Separately show proceedings sessions with different names (#5005)
* refactor: Update call to deprecated add_event_info_to_session_qs

* feat: Gather proceedings sessions in the view, grouped by name

* feat: Begin using new session data format in templates (WIP)

* feat: Show non-meeting groups (WIP)

Non-meeting groups (all sessions are notmeet) now show up on the proceedings.
Session materials associated with these groups are not shown, need to restore
that functionality.

* refactor: Rework template data, show materials for notmeet groups (WIP)

* fix: Restore "No agenda", etc, when meeting materials are not present

* chore: Remove commented out old code

* fix: Restore contents in non-area sections of proceedings

* chore: Remove commented-out stale code

* fix: Suppress duplicate agendas for a group on proceedings

* refactor: Generalize agenda deduplication and apply to minutes

* refactor: Format multiple items per session; apply to bluesheets

* refactor: Apply _format_materials to recordings, slides, and drafts

* chore: Add comment about limitations of test_proceedings() test

* test: Test separation of named sessions in the proceedings
2023-01-20 15:16:48 -06:00
Robert Sparks 3fb521eb53
fix: test on postgres. POST and check intended pks. (#4949)
* fix: test on postgres. post and check intended pks.

* fix: pass and check intended pks

* fix: pass intended pk

* fix: get an actually usable group type for test

* fix: use a review assignment pk instead of the review request pk

* fix: Use pks of sessions, not schedtimesessassignments

* fix: test for actual pk and do not rely on case-insensitive LIKE

* fix: test for actual pk

* chore: spelling correction: nomine -> nominee
2023-01-10 10:28:43 -06:00
Jennifer Richards ac55b2cb6f
fix: init time inputs in correct tz when editing an interim request (#4838)
* fix: init time inputs in correct tz when editing an interim request

* test: add test

* test: fix old tests that relied on mixing dates, times, and datetimes
2022-12-06 08:46:48 -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
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
Robert Sparks 41eafa2727
fix: Abstract code knowledge of the notes function away from specific implementations (#4761)
* fix: abstract codes knowledge of the note function away from specific implementations.

* refactor: make uses_notes a meeting's responsibility.
2022-11-15 14:10:13 -06:00
Kesara Rathnayake 71dcf9fc8b
fix: Use correct codec for decoding meeting materials (#4697) 2022-11-06 12:13:02 +00:00
Jennifer Richards 594c3f4316
fix: omit session location when timeslot.show_location is False (#4712)
* fix: omit session location when timeslot.show_location is False

* test: test that location is omitted  when show_location is False
2022-11-06 11:51:07 +00:00
Jennifer Richards 3008c4904e
feat: add 'cancel session' button to meeting schedule editor (#4682)
* feat: add 'cancel session' button to meeting schedule editor

* fix: only show edit/cancel session buttons for secretariat

Other users cannot access these views.

* feat: refuse to cancel a canceled session; give feedback to user

* test: test cancel_session view

* test: test that sessions have edit/cancel buttons
2022-11-01 14:41:50 -03:00
Jennifer Richards da70acfdff
Merge branch 'feat/tzaware' into jennifer/yet-more-tz-fixes
# Conflicts:
#	ietf/ietfauth/utils.py
#	ietf/meeting/tests_views.py
#	ietf/stats/tests.py
2022-10-17 16:39:45 -03:00
Jennifer Richards f3bdbf0ed4
Merge branch 'feat/tzaware' into jennifer/main-for-tzaware-merge
# Conflicts:
#	ietf/meeting/tests_js.py
#	ietf/meeting/tests_models.py
#	ietf/meeting/tests_views.py
#	ietf/meeting/views.py
#	ietf/name/fixtures/names.json
#	ietf/templates/meeting/agenda.html
#	ietf/templates/meeting/session_buttons_include.html
#	ietf/templates/meeting/timeslot_start_end.html
2022-10-14 16:35:57 -03:00
Nicolas Giard 6f2114fb0c
feat: replace old agenda with agenda-neue (#4406)
* feat: remove old agenda (django-side)

* fix: bring in latest commits

* test: remove -neue from playwright tests

* test: remove agenda selenium js tests

* test: remove agenda views tests

* fix: remove deprecated agenda views (week-view, agenda-by, floor-plan)

* test: fix failing python tests

* test: remove more deprecated tests

* chore: remove deprecated templates

* test: remove unused import

* feat: handle agenda personalize with filter + move agenda specific stuff out of root component

* fix: redirect deprecated urls to agenda / floorplan

* feat: agenda - open picker mode when from personalize path

* fix: safari doesn't support device-pixel-content-box property on ResizeObserver

* test: move floor plan test into main agenda test

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-10-12 15:46:28 -05:00
Jennifer Richards 7b1b7f5273
Merge branch 'feat/tzaware' into dev/tzaware-main-merge 2022-10-11 14:57:34 -03:00
Jennifer Richards 0bdfb25c47
feat: include proposed WGs on meeting requests page (#4551) 2022-10-07 15:56:43 -05:00
Jennifer Richards f043797742
fix: include IRTF and BoF groups on meeting requests page (#4528)
* fix: include IRTF and BoF groups on meeting requests page

* test: test bof/irtf groups on the meeting requests page

* chore: remove some accidentally committed changes

* style: improve formatting of requests.html template
2022-09-30 10:08:11 -05:00
Jennifer Richards 448cfbb13d
fix: more timezone fixes in liaisons/meeting/message apps 2022-09-27 15:50:10 -03: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
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 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
Nicolas Giard aea533e4dd
fix: add missing slides + minutes tabs to session materials dialog #4274 (#4275)
* fix: handle session dropdown link on mobile view

* feat: agenda session materials API endpoint

* feat: agenda-neue - add slides + minutes tabs to session materials dialog

* fix: remove commented line leftover
2022-07-26 09:30:20 -05:00
Nicolas Giard a605b08de6
feat: load agenda asynchronously via REST endpoint (#4257)
* feat: load agenda asynchronously via REST endpoint

* fix: handle invalid meeting number + pre-64 meetings redirect
2022-07-24 10:34:57 -05:00
Nicolas Giard aa9490faf6
feat(ui): new dynamic agenda view (#4086)
* feat: agenda page in vue (wip)

* feat: scroll to agenda day

* fix: vue 3 composition api + eslint settings

* fix: agenda day scroll match indicator

* fix: convert vite deps to yarn

* fix: missing lodash + legacy build step

* fix: agenda - move calendar into drawer

* fix: improve agenda filter UI

* fix: download ics + move agenda into own component

* feat: use fullcalendar for agenda calendar view (wip)

* feat: add events to agenda calendar

* feat: agenda filter UI improvements

* feat: agenda add to calendar dropdown

* feat: agenda calendar filter + timezone + event coloring

* feat: agenda calendar color improvements

* chore: exclude dist-neue from git

* feat: agenda calendar event modal

* fix: rebuild yarn deps

* chore: add run migration task to vscode

* fix: agenda buttons display flag

* feat: agenda event modal component

* feat: show calendar event quick info on hover

* fix: clear calendar quick info on timezone change

* feat: agenda list view improvements

* feat: agenda list row coloring

* feat: agenda list note

* feat: agenda list icons for office hours + hackathon

* fix: agenda top links

* refactor: use pinia as store for agenda components

* feat: agenda jump to now

* fix: agenda mobile improvements

* feat: agenda search

* feat: agenda search improvements

* feat: agenda event recordings buttons for post-meeting

* fix: agenda switch to meeting timezone on load

* feat: agenda pre & live session buttons

* fix: remove agenda utc + personalize links in top menu

* feat: add pre-vue loading state on page load

* feat: filter from agenda picker mode

* fix: agenda UI improvements

* fix: django-vite non-dev mode

* chore: update yarn dependencies for vue + vite

* feat: agenda settings panel + UI improvements

* feat: agenda settings colors + import/export feature

* feat: agenda color assignments + responsive UI improvements

* feat: agenda realtime red line + debug datetime offset

* feat: agenda add aria labels for settings

* feat: add new agenda path + pages/menu

* fix: bring base/menu.html up to main

* fix: agenda various fixes

* test: add new agenda item to meetings menu for item count

* chore: restore devcontainer extensions list

* fix: agenda UI improvements + montserrat default font

* feat: agenda bolder text + hide event icons options

* feat: agenda warning badge

* fix: agenda various UI improvements + intersectionObserver fix

* feat: agenda floorplan page + various UI improvements

* feat: agenda floor plan pin

* feat: view floor plan room from agenda

* feat: agenda floor plan mobile optimization

* feat: adjust calendar options + default calendar view in settings

* feat: agenda persist picked events + change base font only on new agenda page

* feat: agenda mobile view optimizations

* fix: add .vite to cached volumes

* fix: mobile view for filters, calendar, settings panels

* test: upgrade cypress existing tests to work on bs5 + update dependencies

* fix: use named url patterns to avoid hardcoded URLs. Add rudimentary test coverage for the neue views.

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-07-13 16:20:23 -05:00
Jennifer Richards ba7d468a4d
feat: show meeting requests beyond rg/wg groups (#4134)
* feat: show session requests for all "has_meetings" groups

* test: test changes to groups whose session requests are shown

Note the change in capitalization for the 'active' group state fixes
the test but does not seem to affect production (which I guess uses
case insensitive matching?)

* test: remove leftover debug statement

* feature: exclude admin/social sessions from meeting requests view

* test: test exclusion of admin/social sessions from meeting requests view

* feat: group all non-area groups as "other" on meeting requests page

* fix: prevent doubling of first section header

* test: verify that more of the sreqs are / are not linked
2022-06-29 09:49:33 -05:00