Commit graph

11653 commits

Author SHA1 Message Date
Lars Eggert 5ac3874ce9
fix: Format NomCom feedback table per suggestion of @richsalz (#4625)
Also makes table header alignment the same as for columns, site-wide.

Fixes #4529
2022-10-21 11:04:10 -05: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
Lars Eggert b1bafff2fb
fix: Add value attributes back to buttons to make the logic work (#4617) 2022-10-20 11:57:36 -05:00
Jennifer Richards 000e8431c2
Merge pull request #4615 from painless-security/jennifer/materials-tz
fix: use UTC for materials/proceedings cutoff checks
2022-10-20 11:39:10 -03:00
Lars Eggert 160ca9286a
fix: Don't say that IESG processing has started (#4609)
* fix: Don't say that IESG processing has started

Fixes #4286

* Update ietf/doc/views_draft.py

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>

* Update ietf/doc/views_draft.py

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-10-20 09:02:09 -05:00
Jennifer Richards fb644d7b50
fix: use UTC for materials/proceedings cutoff checks 2022-10-20 09:32:20 -03:00
Jennifer Richards 0346271578
refactor: simplify I-D cutoff calculations and make TZ more explicit 2022-10-19 17:47:07 -03:00
Lars Eggert 76b88b1658
fix: Replace some deprecated jQuery with recommended replacements (#4607) 2022-10-19 14:36:15 -05:00
Lars Eggert cf033352b4
fix: Tweak text as suggested by @richsalz (#4606)
Fixes #4531
2022-10-19 13:01:39 -05:00
Lars Eggert 0cc0281fe8
fix: Fix table sort functionality for tables with colspan attributes (#4605)
Fixes #4555
2022-10-19 11:59:09 -05:00
Jennifer Richards 320d9c3706
chore: renumber migrations 2022-10-18 17:22:37 -03:00
Jennifer Richards 69447d0ba0
Merge branch 'feat/tzaware' into jennifer/main-for-tzaware-merge
# Conflicts:
#	ietf/name/fixtures/names.json
#	ietf/utils/management/commands/send_gdpr_consent_request.py
2022-10-18 16:57:42 -03:00
Robert Sparks 9b4903e2e6
fix: Fix incorrect "GDPR" features/terminology. Fixes #4521. (#4587)
* fix: remove help/personal-information and the prompt-for-consent email management command.

* fix: remove gdpr treatment except for consent checkbox. Rename Submit.

* fix: drom the consent column from Person and Person.History

* fix: remove the consent boolean. Reorganize the account info form.

* chore: reorder migrations
2022-10-18 13:27:19 -05:00
Jennifer Richards 8101b4f057
chore: remove unused imports 2022-10-18 12:50:07 -03:00
Jennifer Richards 2d875d534d
chore: migrate fields whose defaults changed to date_today 2022-10-18 12:46:14 -03:00
Jennifer Richards 3220bf3c40
chore: replace last few datetime.date.today() calls with date_today() 2022-10-18 12:45:47 -03:00
Jennifer Richards 5b5e2dd9f0
chore: use settings.TIME_ZONE for datetime_today() default tz 2022-10-18 12:25:55 -03:00
Jennifer Richards dfe1147e7c
chore: switch a few datetime_today() calls to date_today() 2022-10-18 12:25:25 -03:00
Lars Eggert 66533827e1
fix: Fix status change form (#4598)
* fix: Fix status change form

Also make it so that select2 search fields get focus when they open.

* Remove feat
2022-10-18 09:59:04 -05:00
Jennifer Richards 1804727432
test: use date_today() instead of datetime_today() 2022-10-18 11:54:09 -03:00
Lars Eggert 5f7c585252
feat: Auto-focus select2 search fields when they open (#4599) 2022-10-18 09:42:00 -05:00
Robert Sparks cbb8da73c8
fix: regenerate correct shepherd template. Fixes #4558 (#4595)
* fix: regenerate correct shepherd template

* chore: remove unnecessary extra whitespace

* fix: improve readability of code per review comments
2022-10-18 07:57:08 -05:00
Jennifer Richards fffe0c1991
feat: disallow '/' from Person.name (#4594)
* feat: disallow '/' from Person.name

* chore: migrate Person/HistoricalPerson to include new name validator

* test: test name validation
2022-10-17 15:41:39 -05:00
Jennifer Richards bf6e0af2c9
chore: use settings.TIME_ZONE as default for date_today() 2022-10-17 17:36:47 -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
Robert Sparks 57b30fb967
chore: bring the names test fixture into alignment with the current database (#4583) 2022-10-14 17:53:04 -05:00
Jennifer Richards 354b3ef311
chore: add '-Z' suffix to timestamps in names.json 2022-10-14 16:55:40 -03:00
Jennifer Richards bef7492eda
chore: renumber migrations 2022-10-14 16:51:43 -03:00
Jennifer Richards 44f09ca457
chore: remove files left empty by git merge process 2022-10-14 16:38:42 -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
Jennifer Richards 83db95c4b3
test: extend simulateDragDrop to support dataTransfer.types interface (#4571) 2022-10-13 10:58:20 -05:00
Robert Sparks 6dd6165444
fix: correct meeting attendance calculations (#4536)
* fix: correct meeting attendance calculations

* test: change meetingregistration factory defaults

* test: Setup stats tests to verify counts honor meeting.Attended

But the tests aren't actually looking to see what numbers get generated yet.

* test: add test for attendance cross-talk between meetings

* fix: limit attendance count query to single meeting

* refactor: rename attendance.online to .remote

* fix: only count a given person as onsite or remote, but never both

* test: align tests with cleanup

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
2022-10-13 10:55:57 -05:00
Robert Sparks 50668c97cd
feat: apis for attaching chatlogs and polls to session materials (#4488)
* feat: apis for attaching chatlogs and polls to session materials

* fix: anticipate becoming tzaware, and improve guard against attempts to provide docs for sessions that have no official timeslot assignment.

* fix: get chatlog upload to actually work

Modifications to several initial implementation decisions.
Updates to the fixtures.

* fix: test polls upload

Refactored test to reduce duplicate code

* fix: allow api keys to be created for the new endpoints

* feat: add ability to view chatlog and polls documents. Show links in session materials.

* fix: commit new template

* fix: typo in migration signatures

* feat: add main doc page handling for polls. Improve tests.

* feat: chat log vue component + embedded vue loader

* feat: render polls using Vue

* fix: address pug syntax review comments from Nick.

* fix: repair remaining mention of chat log from copymunging

* fix: use double-quotes in html attributes

* fix: provide missing choices update migration

* test: silence html validator empty attr warnings

* test: fix test_runner config

* fix: locate session when looking at a dochistory object for polls or chatlog

Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-10-13 09:20:36 -05:00
Jennifer Richards 0ad293d6e9
feat: add slides / session materials links to session details modal (#4535)
* feat: add propose/upload slides button to session details modal

* refactor: remove unneeded chaining operator

* test: fix quotes around template string

* feat: link to meeting materials page from AgendaDetailsModal

* refactor: compute session details URL in JS instead of view

* chore: restyle materials page link

* test: fix test case to match changes to session modal
2022-10-12 16:07:23 -05: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 8560bec09c
fix: remove spurious year after nominee name (#4565) 2022-10-12 13:29:08 -05:00
Robert Sparks c1556a3bc5
fix: revert photo-on-menubar enhancement (#4564)
* fix: revert photo-on-menubar enhancement

* fix: revert styling added for menubar photo.
2022-10-12 13:25:47 -05:00
Jennifer Richards 7b1b7f5273
Merge branch 'feat/tzaware' into dev/tzaware-main-merge 2022-10-11 14:57:34 -03:00
Jennifer Richards 9709dbdf1c
fix: work around dataTransfer.getData limitation in agenda editor (#4553)
* fix: work around dataTransfer.getData limitation in agenda editor

* refactor: be slightly more careful checking dataTransfer type

* chore: remove debug statement
2022-10-10 08:48:23 -05:00
Lars Eggert eed58c9753
ui: Add rounded-pill to a few more badges (#4539) 2022-10-10 08:37:58 -05:00
Robert Sparks 97d21800d0
feat: include checkins at the registration desk in nomcom eligibility calculations (#4519)
* chore: rename utility functions to reflect rfc guiding them

* feat: include new checkedin flag in nomcom calculations

* fix: reflect history a bit more accurately.

* fix: address review comment on readability

* fix: finish what c44000d started
2022-10-07 16:17:28 -05:00
Jennifer Richards cb9e576fb4
fix: return False from has_role() when role_names is the empty list (#4541)
* fix: return False from has_role() when role_names is the empty list

* chore: add comments clarifying the effect of Q()
2022-10-07 16:05:37 -05:00
Lars Eggert 15a1d3e379
chore: Update deps (bs to 5.2.2, various others) (#4537)
Also fix html-validate, which now wants a `.json` suffix on config files.
2022-10-07 16:05:04 -05:00
Lars Eggert 43e4a26ca0
fix: Don't show ADs as part of "bethere" contraints. (#4540)
Also tweak some minor UI stuff while I'm here.
2022-10-07 16:02:29 -05:00
Jennifer Richards 0bdfb25c47
feat: include proposed WGs on meeting requests page (#4551) 2022-10-07 15:56:43 -05:00
Jennifer Richards 6cc2fb94a3
fix: update DraftYangChecker for xym 0.6 changes (#4546)
* fix: update DraftYangChecker for xym 0.6 changes

* chore: update xym requirements to >=0.6
2022-10-06 18:03:18 -05:00
Lars Eggert 8a6ff176af
fix: Add reminder to not include ADs in "people who must be present" (#4527)
* fix: Add reminder to not include ADs in "people who must be present"

* Fix typo.
2022-09-30 12:55:36 -05:00
Robert Sparks 2058522a0c
feat: stop setting MeetingRegistration.attended on MeetEcho login. (#4526)
* feat: stop setting MeetingRegistration.attended on MeetEcho login.

We capture attendence through MeetEcho using meeting.Attended now.

* chore: remove unused import

* chore: remove unused import
2022-09-30 10:46:49 -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
Lars Eggert 3e2b1fc92e
feat: Add a bug report link to the menu bar (#4525)
This required making some horizontal room for it, mostly by showing a
user photo or shorter tag when they are logged in.
2022-09-30 09:20:43 -05:00
Robert Sparks 9b896e5869
fix: avoid emptying nomcom session key when openssl complains about derivation (#4524) 2022-09-30 08:05:01 -05:00
Lars Eggert feab9fb385
fix: Fix state order in AD dashboard and colorize some more trends (#4518) 2022-09-29 15:10:51 -05:00
Jennifer Richards 31d55f1d37
fix: remove unused imports 2022-09-28 17:45:11 -03:00
Jennifer Richards a653582cf7
fix: timezone fixes from last few comparisons with tzaware-obe 2022-09-28 13:21:50 -03:00
Jennifer Richards 448cfbb13d
fix: more timezone fixes in liaisons/meeting/message apps 2022-09-27 15:50:10 -03:00
Robert Sparks 9162302941
fix: don't include liaison attachments in main page searches. Fixes #4373. (#4502) 2022-09-27 10:27:50 -05:00
Lars Eggert 2b5a7c0447
ui: Improve the display of information on /meeting/requests (#4493) 2022-09-26 16:54:41 -05:00
Jennifer Richards 2eb5723574
fix: more timezone fixes 2022-09-23 17:12:06 -03:00
Jennifer Richards 981f22a5ee
fix: get LiaisonModelForm initial value at run-time, not load-time 2022-09-23 17:08:29 -03:00
Jennifer Richards 56505147e0
fix: handle timezones in a bunch of places 2022-09-23 16:11:49 -03:00
Jennifer Richards 2e3686b08e
refactor: simplify getting timedelta.days 2022-09-23 12:26:31 -03:00
Jennifer Richards c5e5a00ff3
fix: fill in tzinfo for datetime.fromtimestamp() calls
Unix timestamp is defined to be UTC and fromtimetamp correctly turns
it into whatever timezone you request. In most cases, just need to
specify *something* to avoid creating naive datetimes.
2022-09-22 12:36:35 -03:00
Jennifer Richards ca1320f303
chore: merge main into feat/tzaware
chore: merge main into feat/tzaware
2022-09-22 12:21:38 -03:00
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 d7bdffc89d
chore: import jquery so dynamic_inlines.js source map works (#4482) 2022-09-21 12:04:39 -05: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
Robert Sparks 5c8545eecb
feat: use hmac, sha256, and a better secret for published nomcom hashes. (#4475)
* feat: use hmac, sha256, and a better secret for published nomcom hashes.

* fix: avoid using django secret key for a different secret context

* fix: Only strip the newline

* fix: improve readability by using rstrip
2022-09-20 12:09:11 -05: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
Robert Sparks bd6d19efff
fix: replum settings so that production app configuration can be configured in settings_local (#4361) 2022-08-24 12:22:47 -05:00
Jennifer Richards e319a909b3
chore: suppress deprecation warning for urllib3[secure] extra (#4352) 2022-08-22 13:30:15 -05:00
Jennifer Richards 3705bedfcd
feat: Celery support and asynchronous draft submission API (#4037)
* ci: add Dockerfile and action to build celery worker image

* ci: build celery worker on push to jennifer/celery branch

* ci: also build celery worker for main branch

* ci: Add comment to celery Dockerfile

* chore: first stab at a celery/rabbitmq docker-compose

* feat: add celery configuration and test task / endpoint

* chore: run mq/celery containers for dev work

* chore: point to ghcr.io image for celery worker

* refactor: move XML parsing duties into XMLDraft

Move some PlaintextDraft methods into the Draft base class and
implement for the XMLDraft class. Use xml2rfc code from ietf.submit
as a model for the parsing.

This leaves some mismatch between the PlaintextDraft and the Draft
class spec for the get_author_list() method to be resolved.

* feat: add api_upload endpoint and beginnings of async processing

This adds an api_upload() that behaves analogously to the api_submit()
endpoint. Celery tasks to handle asynchronous processing are added but
are not yet functional enough to be useful.

* perf: index Submission table on submission_date

This substantially speeds up submission rate threshold checks.

* feat: remove existing files when accepting a new submission

After checking that a submission is not in progress, remove any files
in staging that have the same name/rev with any extension. This should
guard against stale files confusing the submission process if the
usual cleanup fails or is skipped for some reason.

* refactor: make clear that deduce_group() uses only the draft name

* refactor: extract only draft name/revision in clean() method

Minimizing the amount of validation done when accepting a file. The
data extraction will be moved to asynchronous processing.

* refactor: minimize checks and data extraction in api_upload() view

* ci: fix dockerfiles to match sandbox testing

* ci: tweak celery container docker-compose settings

* refactor: clean up Draft parsing API and usage

  * remove get_draftname() from Draft api; set filename during init
  * further XMLDraft work
    - remember xml_version after parsing
    - extract filename/revision during init
    - comment out long broken get_abstract() method
  * adjust form clean() method to use changed API

* feat: flesh out async submission processing

First basically working pass!

* feat: add state name for submission being validated asynchronously

* feat: cancel submissions that async processing can't handle

* refactor: simplify/consolidate async tasks and improve error handling

* feat: add api_submission_status endpoint

* refactor: return JSON from submission api endpoints

* refactor: reuse cancel_submission method

* refactor: clean up error reporting a bit

* feat: guard against cancellation of a submission while validating

Not bulletproof but should prevent

* feat: indicate that a submission is still being validated

* fix: do not delete submission files after creating them

* chore: remove debug statement

* test: add tests of the api_upload and api_submission_status endpoints

* test: add tests and stubs for async side of submission handling

* fix: gracefully handle (ignore) invalid IDs in async submit task

* test: test process_uploaded_submission method

* fix: fix failures of new tests

* refactor: fix type checker complaints

* test: test submission_status view of submission in "validating" state

* fix: fix up migrations

* fix: use the streamlined SubmissionBaseUploadForm for api_upload

* feat: show submission history event timestamp as mouse-over text

* fix: remove 'manual' as next state for 'validating' submission state

* refactor: share SubmissionBaseUploadForm code with Deprecated version

* fix: validate text submission title, update a couple comments

* chore: disable requirements updating when celery dev container starts

* feat: log traceback on unexpected error during submission processing

* feat: allow secretariat to cancel "validating" submission

* feat: indicate time since submission on the status page

* perf: check submission rate thresholds earlier when possible

No sense parsing details of a draft that is going to be dropped regardless
of those details!

* fix: create Submission before saving to reduce race condition window

* fix: call deduce_group() with filename

* refactor: remove code lint

* refactor: change the api_upload URL to api/submission

* docs: update submission API documentation

* test: add tests of api_submission's text draft consistency checks

* refactor: rename api_upload to api_submission to agree with new URL

* test: test API documentation and submission thresholds

* fix: fix a couple api_submission view renames missed in templates

* chore: use base image + add arm64 support

* ci: try to fix workflow_dispatch for celery worker

* ci: another attempt to fix workflow_dispatch

* ci: build celery image for submit-async branch

* ci: fix typo

* ci: publish celery worker to ghcr.io/painless-security

* ci: install python requirements in celery image

* ci: fix up requirements install on celery image

* chore: remove XML_LIBRARY references that crept back in

* feat: accept 'replaces' field in api_submission

* docs: update api_submission documentation

* fix: remove unused import

* test: test "replaces" validation for submission API

* test: test that "replaces" is set by api_submission

* feat: trap TERM to gracefully stop celery container

* chore: tweak celery/mq settings

* docs: update installation instructions

* ci: adjust paths that trigger celery worker image  build

* ci: fix branches/repo names left over from dev

* ci: run manage.py check when initializing celery container

Driver here is applying the patches. Starting the celery workers
also invokes the check task, but this should cause a clearer failure
if something fails.

* docs: revise INSTALL instructions

* ci: pass filename to pip update in celery container

* docs: update INSTALL to include freezing pip versions

Will be used to coordinate package versions with the celery
container in production.

* docs: add explanation of frozen-requirements.txt

* ci: build image for sandbox deployment

* ci: add additional build trigger path

* docs: tweak INSTALL

* fix: change INSTALL process to stop datatracker before running migrations

* chore: use ietf.settings for manage.py check in celery container

* chore: set uid/gid for celery worker

* chore: create user/group in celery container if needed

* chore: tweak docker compose/init so celery container works in dev

* ci: build mq docker image

* fix: move rabbitmq.pid to writeable location

* fix: clear password when CELERY_PASSWORD is empty

Setting to an empty password is really not a good plan!

* chore: add shutdown debugging option to celery image

* chore: add django-celery-beat package

* chore: run "celery beat" in datatracker-celery image

* chore: fix docker image name

* feat: add task to cancel stale submissions

* test: test the cancel_stale_submissions task

* chore: make f-string with no interpolation a plain string

Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-08-22 13:29:31 -05:00
Robert Sparks 17786527d4
fix: allow 90m session requests. Prompt for cannot meet at time reasoning. (#4345)
* fix: allow 90m session requests. Prompt for cannot meet at time reasoning.

* test: adjust tests to match new acts_like_wg default.
2022-08-19 09:11:44 -05:00
Nicolas Giard 822a572589
feat: diff crawl docker tool (#4310)
* feat: diff docker tool (wip)

* feat: diff docker tool - download + extract from github

* feat: diff docker tool - pull + create + shutdown containers

* feat: diff docker tool - start app containers + execute prepare script

* fix: many fixes + run target instance server

* feat: diff docker tool - run crawl + options

* fix: diff docker tool - various fixes

* feat: diff docker tool - add tag + commit fetch options

* feat: diff docker tool - handle log save + more options

* feat: diff docker tool - F10 quit option + better exec display + checklist fixes

* fix: diff docker tool - remove latest release option
2022-08-18 12:28:47 -05:00
Kesara Rathnayake 1869d375c4
fix: Update idnits service URL (#4330)
This change introduces a new configuration option: `IDNITS_SERVICE_URL`
to configure idnits service URL.
2022-08-18 12:25:44 -05:00
Robert Sparks c0f1fd2395
chore: update to pytz 2022.2.1 (#4342) 2022-08-18 11:40:51 -05:00
Robert Sparks aa2f843725
chore: track updates to pytz (#4319) 2022-08-12 15:14:46 -05:00
Robert Sparks 0f703a695e
fix: correctly render wg shepherd writeups and test it. (#4316) 2022-08-11 16:21:52 -05:00
Robert Sparks 6a4142e3d0
feat: Area director workload summary view (#4315)
* feat: Add new page as requested in #4242 to list all area directors
and their current workload. Include links to the specific dashboards
for each area director. This new page is in doc/ad/.

* feat: Add new page as requested in #4242 to list all area directors
and their current workload. Include links to the specific dashboards
for each area director. This new page is in doc/ad/.

* Fixed issues from the previous commit by renaming hash to get_hash.

* Making outer () to be non matching

* Fixed RFC Ed Queue Internet-Draft to RFC Ed Queue

* refactor: split the /ad view apart from the /ad/name view.

* fix: make the new template html valid.

* test: start building a test for the new view

* refactor: make the view testable and test it.

* chore: remove unneeded commented lines

* fix: avoid parenthsized-string-looks-like-tuple bug.

* fix: repair bad closing tag in template

Co-authored-by: Tero Kivinen <kivinen@iki.fi>
2022-08-11 15:24:29 -05:00
Robert Sparks c7c366fd41
chore: remove session_purpose_demo mgmt command. Fixes #4290. (#4309) 2022-08-04 11:25:57 -05:00
Robert Sparks 9c236ea2a2
chore: remove unneeded logging and code marked unreachable that has not been reached. (#4305)
* chore: remove unneeded logging and code marked unreachable that has not been reached.

* fix: remove noop save override
2022-08-04 11:25:31 -05:00
Robert Sparks c95679a03b
test: align tests with code changes from #4297. (#4307) 2022-08-02 16:08:30 -05:00
Lars Eggert beab785903
fix: Remove unicode encode from CVS row writer (#4294)
Fixes #4292
2022-08-02 10:23:53 -05:00
Robert Sparks 1b64231e98
test: Convert interleaved migration failure to a warning. (#4301) 2022-08-02 10:23:12 -05:00
Lars Eggert 73931c2ed7
fix: Move Meetecho buttons to separate button group (#4295)
Fixes #4288
2022-08-02 10:20:26 -05:00
Lars Eggert cdb4769a73
fix: Don't require a responsible AD to be identified for new status change (#4297)
Fixes #4159
2022-08-01 09:51:09 -05:00
Lars Eggert 58b4649aef
fix: Show Zulip room URL (#4296). Fixes #4269 2022-07-29 15:42:07 -05:00
Lars Eggert d3d75c1a8c
fix: Show all available formats for archived I-Ds (#4298). Fixes #3881 2022-07-29 15:39:45 -05:00
Robert Sparks 23fc0ea44a
fix: add new search rule to correct group community lists (#4291) 2022-07-28 09:13:29 -05:00
Nicolas Giard 2c522ee169
fix: use white ietf text logo in header (#4283) 2022-07-27 15:43:06 -05:00
Nicolas Giard e0e663f964
fix: agenda - rename Video Stream tooltip to Full Client with Video (#4287) 2022-07-27 09:36:28 -05:00
Ryan Cross 2d48c84360
feat: Add tracking checked-in to MeetingRegistration and the registration API. (#4280)
* feat: add field MeetingRegistration.checkedin to track onsite checkin

* feat: add handling of ticket_type, checkedin to get_meeting_registation_data. Fixes #3672
2022-07-26 13:17:19 -05:00
Mark Donnelly 109c646450
fix: Update timezone on the interim create page (#4262)
* Fix: Update timezone on the interim create page

The interim creation screen will set the timezone to the timezone of
the browser.  Unfortunately, the UI element was never refreshed, so
it remained on its loaded default, thus telling the user the wrong
value.

This change adds a timezone widget refresh to the end of the function that
loads the browser's local timezone into the timezone value.

This change also adds code to update the 'Local timezone' help text
for the start time and end time input bozes to
call out the selected timezone specifically.

Fixes #3898

* Fix: Change var to const for code review
2022-07-26 12:16:14 -05:00
Valery Smyslov a5f27b0a5b
feat: show expired WG/RG drafts at WG/RG Documents page (#4252)
* Show expired WG/RG drafts.

* Update 0009_add_group_exp_rule_to_groups.py

fix dependency on migration file name

* Update forms.py

Simplify condition statements

* Update views.py

Fix - remove erroneous check (never happen)

* Added tests for expired WG drafts filtering rule
2022-07-26 12:02:09 -05:00
Justin Iurman b1aecf9525
fix: dates alignment in group/review_requests (#4268)
Remove "-date" from data-sort fields for all dates, so that all columns
are now much better aligned.

Note: did not find an opened issue related to this after a quick search.
2022-07-26 11:23:44 -05:00
Jennifer Richards 608b8e16a4
feat: only offer IAB/IESG members for bofreq responsible leadership (#4276)
* refactor: avoid using select2 data-* attrs on html elements

Using "data-ajax--url" shadows explicit configuration in our
select2.js wrapper. Use "data-select2-ajax-url" to avoid this.

Also add ability to omit the ajax setup entirely by returning
None from ajax_url().

* chore: hook up a flag to disable ajax for SearchablePersonsField

* refactor: send select2 prefetch data as array and allow config of min input length

* feat: only offer IAB/IESG members for bofreq responsible leadership

* test: area directors/IAB members should be options for bofreq responsible leaders

* test: update tests to match changes to SearchableField

* fix: clean up SearchablePersonsField breakage when searching by email address

* chore: finish incomplete comment
2022-07-26 11:23:00 -05:00
Lars Eggert 28b8ed0c84
fix: Allow searching for non-alphanumeric characters (#4266)
* fix: Allow searching for non-alphanumeric characters

Fixes #3675

@rjsparks, this avoids us needing to fork list.js. If you prefer a fork, let me
know.

* Add a TODO
2022-07-26 09:38:34 -05: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 4e649b9e2c
fix: force open links in agenda session materials html to open in new tab (#4277) 2022-07-26 09:04:24 -05:00
Lars Eggert 236c3f5b3e
fix: Don't run striptags on event descriptions that are emailed (#4267)
* fix: Don't run `striptags` on event descriptions that are emailed

Remove the `textify` filter, which is now unused.

Fixes #3600

* Update ietf_filters.py

* Update notification_email.txt
2022-07-24 11:37:17 -05:00
Lars Eggert 3d49384213
fix: Make the "submit to IESG" workflow less surprising to @LPardue :-) (#4254)
* fix: Make the "submit to IESG" workflow less surprising to @LPardue :-)

Fixes #4209

* Merge part of #4256
2022-07-24 11:28:27 -05:00
Mark Donnelly e1907d0b4d
Fix: Add 'back' button instead of 'cancel' to session request page (#4249)
* Fix: Add 'back' button instead of 'cancel' to session request page

The 'Cancel' button that goes back to the same page was confusing, so change it out for a 'Back' button instead.

Fixes #4007

* Fix: Change absolute target for going back with history.back()

This form can be included from multiple pages, which have differing
navigation for how to land on the form.  Therefore, history.back()
is the single way to navigate back to the previous page.
2022-07-24 10:36:01 -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
Jennifer Richards b4e5cfcf91
fix: link to jabber logs for old meetings (#4250)
* fix: link to jabber logs for old meetings

* test: validate the URL for old Session chat logs
2022-07-24 09:06:23 -05:00
Jim Fenton 3aab73d862
feat(nomcom): Allow nomcom chair to turn volunteer acceptance on and off (#4251)
* feat(nomcom): Allow nomcom chair to turn volunteer acceptance on and off
Fixes #4105
Also allows chair to set date of first call for volunteers. If this should be read-only and set by the code, let me know.

* fix(nomcom): Correct helptext for accepting volunteers
2022-07-24 08:51:57 -05:00
Peter Yee 3a1d8b398d
Fix: corrects the IESG evaluation record summary for approved docs (#4261)
* fix: corrects the IESG evaluation record summary statement for documents where the IESG state is approved (announced or not).

* fix: corrects IESG evaluation record summary for approved docs
This is a correction to a previous fix that didn't pass all the tests
for some documents

* fix: corrects IESG evaluation record summary for approved docs
Corrects the previous fix by removing commented out code. Sigh. At least
these are free.
2022-07-24 07:53:46 -05:00
Justin Iurman f58033e36f
fix: closed review request "by (System)" (#4255)
Only display the user in the "Requested" column if it's a real human
(i.e., not "System").

Fix #3687
2022-07-24 07:28:06 -05:00
Lars Eggert 98af0e8a58
fix: Make dropdowns toggle correctly on click/hover combo (#4265)
Fixes #4095
2022-07-24 07:13:12 -05:00
Robert Sparks de4f1feed2
fix: send status change eval and lc to IANA. Fixes #3504. (#4244) 2022-07-23 12:36:00 -05:00
Justin Iurman 57e729cdc3
fix: add mailtrigger links (#4243)
Replace text by link for a trigger when displayed.
Do the same for a recipient.

Fixes #3886
2022-07-23 12:07:33 -05:00
Lars Eggert e94614e0a8
feat: Add opengraph information to document pages (#4207)
* feat: Add opengraph information to document pages

* Apply suggestions from code review

Co-authored-by: Mark Nottingham <mnot@mnot.net>

* Add IRTF and IAB logo and make card PNGs for all

* Use the cards and restore stuff that somehow got dropped

* Try and make Twitter use the "large image" card format

Co-authored-by: Mark Nottingham <mnot@mnot.net>
2022-07-23 12:07:04 -05:00
Lars Eggert 1ba87890ba
feat: Render the document shepherd writeup templates at two new URLs (#4225)
* feat: Render the document shepherd writeup templates at two new URL.

Those being `/doc/shepherdwriteuptemplate/group` and
`/doc/shepherdwriteuptemplate/individual`.

* Address review comments from @jennifer-richards

* Fixes

* Remove debug statement

* Make bleach sanitizer not strip the `start` attribute of `ol` tags

Also rearrange the code a bit

* Don't sanitize the `python_markdown` output, it destroys wanted formatting

* Restore bleach

* Don't bleach tag `id`s.
2022-07-22 13:43:02 -05:00
Lars Eggert ce050fc508
chore: Update bootstrap to 5.2.0 (#4034)
* bootstrap -> 5.2.0

* Update other deps
2022-07-21 15:56:27 -05:00
Robert Sparks fe1f51aede
fix: Compute 8989 eligibility using actual attendance data. (#4236) 2022-07-21 12:58:32 -05:00
Lars Eggert e465f1f0f0
feat: Replace graphviz with d3 (#4067)
* feat: Use d3 for doc dependencies

* Interim commit

* Progress

* Progress

* Auto pan and zoom

* Arrows

* Remove graphviz and the code that uses it

* More graphviz-related changes

* Interim commit

* Move things into place

* Add test

* Final touches

* Make SVG work in Chrome

* Get the docs more similarly to how the group doc page does it

* Reindent

* Add ability to download the SVG, and use bs fonts.

* Follow @rjsparks' advice on how to compute the reference list

* Interim commit

* Add legend

* Speed up simulation

* Fix tooltips

* fix: escape a period in a new url regex

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-07-21 12:14:45 -05:00
Robert Sparks fcbd5e418f
fix: stabilize the order of related documents shown on status-change pages (#4237) 2022-07-21 11:19:52 -05:00
Robert Sparks add95d36eb
fix: correct json import error for 112 and 113 plenary sessions (#4234) 2022-07-21 11:19:26 -05:00
Lars Eggert 54a8188ab9
fix: Fix various page titles (#4239)
Fixes #4230
2022-07-21 11:11:31 -05:00
Robert Sparks ffe824b7cd
chore: improve ALLOWED_HOSTS in settings (ports are not useful there) (#4232) 2022-07-20 15:16:14 -05:00
Robert Sparks 99d4e16b30
feat: improve admin for Meeting Attended (#4233)
* feat: improve admin for Meeting Attended

* fix: further tweaks to the attended admin
2022-07-20 15:15:48 -05:00
Lars Eggert 0038151bf9
fix: Fix removetags (#4226)
I don't think this ever worked.
2022-07-18 09:39:11 -05:00
Nicolas Giard dde5ed4650
chore: create separate run config for vite dev (#4221) 2022-07-18 08:40:32 -05:00
Robert Sparks 18bf87ea5e
feat: improve the admin for the nomcom volunteer model (#4223)
* feat: improve the admin for the nomcom volunteer model

* fix: restore raw-id for person on nomcom volunteer admin.
2022-07-18 08:36:34 -05:00
Robert Sparks 9d10fb7dd1
fix: correct botched file rename (#4222) 2022-07-15 16:14:44 -05:00
Robert Sparks fccee05aee
fix: add missing field alteration (#4220) 2022-07-15 14:35:37 -05:00
Robert Sparks 6ed4ea0f93
feat: point to Zulip chat rather than jabber. (#4218)
* feat: point to Zulip chat rather than jabber.

* fix: Address review comments from Jennifer and Nick
2022-07-15 13:48:54 -05:00
Jennifer Richards 470adb97a3
fix: suppress profile link if user not linked to a Person (#4214) 2022-07-15 13:42:51 -05:00
Jennifer Richards 067ae17b4e
fix: do not set user template var in ietfauth views (#4216)
Lets the `user` variable pick up `request.user`.
Fixes #3568
2022-07-15 13:37:25 -05:00
Nicolas Giard 744bcc54e8
fix: set vite base path during deploy build + allow google fonts (#4217)
* fix: set vite base path during deploy build + allow google fonts

* ci: only set vite base path if build is for production release

* test: add html-validate ignore rules for vite generated content that is valid

* fix: show buttons on regular sessions without agenda materials + link to legacy agenda

* fix: temporarily hide left menu on agenda-neue and floor-plan-neue

* fix: set resize handler to whole app

* fix: apply html-validate ignore to agenda-neue only + deploy/build.sh fix

* test: change old agenda cypress to always take the same elements to avoid #3564
2022-07-14 18:55:55 -05:00
Lars Eggert 8b3cf2a9fc
fix(ui): Make the heading and textarea font sizes a bit smaller (#4212)
* ui: Make the heading and textarea font sizes a bit smaller

* Address review commit from @NGPixel
2022-07-13 16:22:08 -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
Lars Eggert 495df36a77
chore: Make newer bibtexparser versions work with the tests (#4205)
* chore: Make newer bibtexparser versions work with the tests

* Fix test
2022-07-12 11:18:52 -05:00
Lars Eggert 629bff0f88
fix: Better agenda display on phone screens (#4156)
* fix: Better agenda display on phone screens

* Remove comment

* Conditional <br>

* Retain existing columns on non-small screens
2022-07-08 16:34:40 -05:00
Lars Eggert 091144d7c1
Update deps (#4203)
* chore: Update deps

There are these yarn messages, which I don't understand, but @NGPixel may.

```
➤ YN0000: ┌ Resolution step
➤ YN0060: │ @parcel/optimizer-image@npm:2.6.2 provides @parcel/core (pec760) with version 2.5.0, which doesn't satisfy what @parcel/workers requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p1835f) with version 2.5.0, which doesn't satisfy what @parcel/fs requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p40766) with version 2.5.0, which doesn't satisfy what @parcel/workers requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p60182) with version 2.5.0, which doesn't satisfy what @parcel/cache requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (pe24cb) with version 2.5.0, which doesn't satisfy what @parcel/package-manager requests
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed
```

* Use .yarnrc.yml from @NGPixel

* Fix tests.

I have no idea why they started failing, the both the js code and the tests have
not changed in months...
2022-07-08 16:07:57 -05:00
Lars Eggert 01abc93cce
fix: Add popup to explain colors for liaisons needing action. Rework how aria-label is supplied for several input fields. Update vnu.jar. Adjust some field styling. (#4115)
* fix: Add popup to explain colors for liaisons needing action

Also fix the search field styling while I'm here.

* Also fix some other field styling issues while I am here
2022-07-07 14:01:21 -05:00
Lars Eggert fd087d4e16
fix: Avoid crashes in urlize_ietf_docs (#4161)
* fix: Don't crash when urlreverse fails as part of urlize_ietf_docs

Also fix an HTMLization nit.

* Fix more corner cases found during test-crawl

* Handle "I-D.*"" reference-style matches

* Refactor use of bleach. Better Markdown linkification and formatting.

* Address review comment from @rjsparks
2022-07-07 12:27:30 -05:00
Robert Sparks 64272b5d9f
fix: update date inside shepherd writeup template (#4201) 2022-07-07 12:04:52 -05:00
Lars Eggert 21452b7ecc
fix: Update document shepherd writeup template based on community review (#4042)
* fix: Update document shepherd writeup template based on community review

* Point to the new "content guidelines" page @JayDaley added

* Suggestion from Jane Coffin

* Also extend this to contributors

* Fix grammar nits

* Revise question 5 based on suggestions from @cabo

* fix: Update document shepherd writeup template based on community review

* Point to the new "content guidelines" page @JayDaley added

* Suggestion from Jane Coffin

* Also extend this to contributors

* Fix grammar nits

* Revise question 5 based on suggestions from @cabo

* Apply suggestions from code review

By @richsalz

* Update ietf/templates/doc/shepherd_writeup.txt

* Update ietf/templates/doc/shepherd_writeup.txt

* Update ietf/templates/doc/shepherd_writeup.txt

* Update ietf/templates/doc/shepherd_writeup.txt

* Apply suggestions from code review

* Question 12 from Brad

* Update ietf/templates/doc/shepherd_writeup.txt

* Rewrap

* Fix test
2022-07-07 11:44:49 -05:00
Robert Sparks 2934ae27ba
fix: dont serialize Submission.first_two_pages through /api/v1. (#4145) 2022-07-06 14:45:27 -05:00
Robert Sparks b988850985
fix: avoid mutables as defaults. Compute date default arguments at runtime rather than loadtime. (#4144) 2022-07-06 14:39:36 -05:00
Lars Eggert 75bb797d9e
fix: Fix floorplan (#4160)
* fix: Fix the floorplan location highlighter

* Revert erroneous commit
2022-07-06 14:18:44 -05:00
Robert Sparks 087265118d
feat: csv export of nomcom volunteers. Fixes #4127. (#4146) 2022-07-06 14:13:41 -05:00
Lars Eggert 34b78aff94
fix: Rendering of email templates needs access to settings (#4163)
Since #4104.
2022-07-06 14:07:17 -05:00
Robert Sparks 0ba50999d9
feat: isolate py27 code interfacing with mailman from py39 code interfacing with django. (#4140)
* feat: isolate py27 code interfacing with mailman from py39 code interfacing with django.

* fix: improve memory footprint and remove unneeded import.

* fix: make new bin command executable.
2022-06-29 16:14:15 -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
Robert Sparks aa8e4e6e5e
feat: use author-tools for idnits. (#4135) 2022-06-29 09:49:10 -05:00
Robert Sparks 7de5d93a5e
fix: remove duplicate / in login path. Fixes #4128. (#4129) 2022-06-28 11:00:30 -05:00
Jennifer Richards aac5cd808e
fix: display the agenda warning note more prominently (#4124) 2022-06-27 17:13:51 -05:00
Robert Sparks 10396d6f01
chore: remove more tools.ietf.org server only related things. (#4103)
* chore: remove more tools.ietf.org server only related things.

* chore: remove use of tools.ietf.org floorplans\n\nThe data will move into the FloorPlan models instead.
2022-06-22 14:11:46 -05:00
Jennifer Richards 7da2795565
fix: increase timeslot widths in editor so swap buttons fit (#4119) 2022-06-22 14:11:15 -05:00
Lars Eggert c09fd9dad2
chore: Use URL resolver in more places (#4104)
* chore: Use URL resolver more

* Use settings.IDTRACKER_BASE_URL

* More fixes

* Use URL resolver for things under /accounts

* Use URL resolver for things under /stream

* Use URL resolver for things under /iesg

* Use URL resolver for things under /meeting

* Fix bugs

* Use URL resolver for things under /help

* Use URL resolver for things under /ipr

* More changes

* Revert vnu.jar

* Fix typos

* Address review comments by @rjsparks

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-06-22 14:10:16 -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
Robert Sparks 1b95fdf58a
revert: use author-tools for idnits. (#4102) (#4116)
This reverts commit caf2227813.
2022-06-22 12:21:52 -05:00
Lars Eggert d06219388f
fix: Remove stray space from end of href (#4113)
This caused the testcrawl to fail, because the new icons were a 404. Also
fix some similar stray spaces in some other tags.
2022-06-22 12:00:54 -05:00