Commit graph

366 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
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
Jennifer Richards 4f34c0478e
fix: Authorize interim session requests using data-driven group roles (#4120)
* fix: only use non-empty Q object as interim group filter

* refactor: add with_meetings queryset to GroupManager

* test: users can only request interims for managed groups

* fix: find managed groups from groupman_roles/authroles

* feat: let chair manage directorate groups

* test: remove debug statements and unused imports

* test: remove do-nothing code from test
2022-06-22 14:00:44 -05:00
Lars Eggert 63d80bff4c
chore: Remove various unused template tags (#4101)
* chore: Remove various unused template tags

* Replace rfcnospace with parameterized prettystdname

* Use URL resolver

* Use the URL resolver more
2022-06-21 14:05:02 -05:00
Lars Eggert 86e548c952
chore: remove ietf/group/colors.py, which is unused (#4100)
* chore: remove ietf/group/colors.py, which is unused

* Rip out more
2022-06-20 10:31:20 -05:00
Jennifer Richards 30d1067082
test: update search in test to match template changes (#3814)
Fixes test failure caused by ietf-tools#3803.
2022-04-12 19:30:22 -03:00
Robert Sparks 0944312c20
feat: remove room-view. Fixes #3810. (#3815)
Also changes .editorconfig to not strip trailing whitespace
2022-04-12 17:35:07 -03:00
Jennifer Richards 3619d3bfbf
fix: handle invalid fields properly in proc material upload form (#3784) 2022-04-07 22:58:01 -03:00
Jennifer Richards 7738319c2a
fix: render meeting schedule editor icons using bootstrap-icons (#3777)
Uses template tags to render `ConstraintName` instances as HTML. Fixes #3557.
2022-04-05 18:57:08 -03:00
Jennifer Richards 016ee71855
feat: persist timeslot types made visible in the schedule editor (#3778)
This adds a POST action to the edit_meeting_schedule view that sets a list
of currently visible timeslot types in the user's session. On display of
the schedule editor, this is consulted before defaulting to show only 'regular'
timeslots. An ajax request is made to update the session when changing the
settings in the editor.
2022-04-05 16:00:59 -03:00
Jennifer Richards 2859c43677
fix: allow import of rev00 minutes and let secretariat edit materials (#3776)
* fix: show "Edit materials" button for all groups for a secretariat user

Fixes ietf-tools#3763

* fix: show "import minutes" button to import initial revision

* test: validate that import session minutes buttons are shown

* test: validate that "Edit materials" links are shown
2022-04-01 12:49:20 -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 300f717c3d
fix: avoid needlessly blocking import of session minutes (#3761)
Fixes #3558
2022-03-30 18:38:47 -03:00
Lars Eggert 870fed030f
fix: More fixes for narrow screens (#3662)
* fix: More fixes for narrow screens

Need to keep checking for issues, there are more.

* Make columns more narrow on narrow screens

* More fixes

* More fixes

* Test fixes

* Fix more tests

* Close tbody
2022-03-24 12:40:48 -03:00
Jennifer Richards fd2adc86eb
fix: redirect to renamed schedule after saving a name change (#3696)
Fixes #3427
2022-03-21 16:22:28 -03:00
Robert Sparks 9df659b06e
fix: better draft name validation. Fixes #3539. (#3671) 2022-03-18 18:01:25 -05:00
Lars Eggert 52969aefca
feat: Mobile agenda improvements (#3655)
* fix: Improve agenda page for mobile (narrow) screens

* Remove unrelated change

* Remove FIXME
2022-03-16 09:30:21 -05:00
Jennifer Richards 077e7e2262 Merged from 7.40.1.dev0
Properly URL-encode and -decode a bunch of query parameters. [from revision 19,981]
 - Legacy-Id: 19986
2022-02-24 17:52:28 +00:00
Lars Eggert 07e0eb84d9 Properly URL-encode and -decode a bunch of query parameters.
- Legacy-Id: 19981
2022-02-24 14:23:46 +00:00
Jennifer Richards 6c260a5b7e Merge 7.45.1.dev0 into Bootstrap 5 update branch. Made a first pass at reconciling differences.
- Legacy-Id: 19945
2022-02-17 20:09:49 +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
Lars Eggert bbf088e18b Hopefully the final check-ins.
- Legacy-Id: 19909
2022-02-08 17:29:15 +00:00
Lars Eggert ed30521e14 Many more HTML fixes.
- Legacy-Id: 19908
2022-02-03 07:49:34 +00:00
Lars Eggert 53089a94f6 And more fixes.
- Legacy-Id: 19902
2022-02-01 07:47:25 +00:00
Lars Eggert 335a39d4fc More fixes.
- Legacy-Id: 19884
2022-01-28 13:00:47 +00:00
Lars Eggert cf629a42ad And more fixes.
- Legacy-Id: 19877
2022-01-25 10:14:25 +00:00
Jennifer Richards 64e904804d Link to the timeslot editor when meeting has no timeslots. Fixes #3511. Commit ready for merge.
- Legacy-Id: 19841
2022-01-14 15:48:03 +00:00
Lars Eggert 5132661b06 More test fixes
- Legacy-Id: 19803
2022-01-05 11:25:25 +00:00
Robert Sparks 9b54c9d3c9 Merged in [19763] from jennifer@painless-security.com:
Add ability to import session minutes from notes.ietf.org. Mock out calls to the requests library in tests. Call markdown library through a util method. Fixes #3489.
 - Legacy-Id: 19767
Note: SVN reference [19763] has been migrated to Git commit fd0df6f619
2021-12-09 22:43:19 +00:00
Jennifer Richards fd0df6f619 Add ability to import session minutes from notes.ietf.org. Mock out calls to the requests library in tests. Call markdown library through a util method. Fixes #3489. Commit ready for merge.
- Legacy-Id: 19763
2021-12-09 17:16:19 +00:00
Lars Eggert f974fd3c04 Fix more things
- Legacy-Id: 19762
2021-12-09 06:41:00 +00:00