Commit graph

11653 commits

Author SHA1 Message Date
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
Lars Eggert cfa0886343
fix: Make the IPR search form work when enter is pressed (#4114) 2022-06-22 11:59:32 -05:00
Jennifer Richards c2fb5e5b66
fix: Group.used_roles overrides default_used_roles (#4118) 2022-06-22 11:17:48 -05:00
Robert Sparks eda494a299
fix: adjust migration leaves (#4109) 2022-06-21 16:04:17 -05:00
Robert Sparks 8b90ecd4aa
feat: add pronouns to Person and oidc claims. Fixes #4043. (#4059)
* feat: add pronouns

* fix: include migrations

* fix: correct daggers on person form.

* fix: clean pronouns

* feat: add choices to pronouns

* feat: show pronouns on public profile

* feat: add pronouns to oidc userinfo

* fix: move pronouns to new claim. Add tests.

* fix: improve html generated by new widget

* feat: use a MultiWidget for pronouns

* refactor: use two fields on Person for the two types of pronoun entry.

* chore: update copyrights
2022-06-21 15:02:02 -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 bbeb9aece7
fix: Various accumulated fixes (#4106)
This makes (more) sure the table sort chevron doesn't wrap, by removing trailing
whitespace from table headers.

It also fixes various whitespace nits related to buttonlists.
2022-06-21 13:00:41 -05:00
Jennifer Richards 9b629f6bc4
fix: link 'Save' button with form on secr rooms template (#4108) 2022-06-21 12:28:05 -05:00
Robert Sparks b3c39bebd8
fix: make the shedule editor fit better on laptop lenses and smaller external monitors. (#4107) 2022-06-21 11:43:35 -05:00
Robert Sparks caf2227813
feat: use author-tools for idnits. (#4102) 2022-06-20 17:38:40 -05:00
Robert Sparks 07bfa68a75
feat: explicitly model session attendance (#4025)
* feat: add model to track session attendance

* feat: add model to track session attendance

* feat: add api to set session attendees

* fix: use user pk instead off person pk in the attended api.

* feat: calculate three of five from attended

* feat: management utility to populate Attended model history

* docs: document why nomcom calculations don't use Attended yet.

* fix: add migration to add new personalapikey endpoint to choices

* test: verify very old last login prevents api key use,

* chore: address review nits

* chore: comment on some idiosyncracies of the expected input to populate_attended

* fix: add unique_together constraint for the Attended model

* fix: correctly handle empty querysets passed to three_of_five_eligible functions.
2022-06-20 10:46:36 -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
rpcross 698f031b7f
feat: separate MeetingRegistration rows for each registration type. updates the registration API (#3641)
* Registration API Update

- change MeetingRegistration.reg_type field to hold only one type
- allow multiple MeetingRegistration records per person/meeting
  (one for each reg_type)

* Fix scope claims

* Add meeting 114 to MeetingRegistration migration

* fix: update stats views for MeetingRegistration model use changes

* refactor: remove unused imports
2022-06-16 15:39:34 -05:00
Lars Eggert 411b5f4747
fix: Fix some HTML validation errors that came in via #4035 (#4066)
* fix: Fix some HTML validation errors that came in via #4035

Also make validation errors display a bit better.

* content -> color for mask-icon (caught by @jennifer-richards; thanks)
2022-06-16 11:59:12 -05:00
Lars Eggert 01c73b8c7c
fix: Make attention indicators less subtle again (#4069)
* fix: Make attention indicators less subtle again

Fixes #4009

* Go back to per-action-holder badges, but make them smaller
2022-06-15 13:47:28 -05:00
Lars Eggert 6e97628a64
fix(ui): badge -> badge rounded-pill (#4076)
* ui: badge -> badge rounded-pill

To make badges look a little less like small buttons.

* Rip out copy&paste error
2022-06-15 13:43:49 -05:00
Lars Eggert 7fc601ee69
fix: Don't let the sort chevron wrap (#4075)
I couldn't figure out a way to not let it wrap *and* float it to the right,
however,

Fixes #4071
2022-06-14 17:37:06 -05:00
Lars Eggert d0e6fd62cb
fix: Make document revisions in timeline clickable again (#4065)
Fixes #4064
2022-06-13 11:16:41 -05:00
Jennifer Richards 53dde975ec
fix: validate group type/acronym properly in admin. Fixes #4028. (#4070)
* fix: validate group type/acronym properly in admin

* chore: remove unused import
2022-06-13 11:14:26 -05:00
Lars Eggert 3d9310818b
fix: Don't allow sorting milestone by order if group doesn't use dates (#4074)
Fixes #4072
2022-06-13 11:08:23 -05:00
Lars Eggert 514944d24e
fix: Fix ballot icon overlapping document title (#4077) 2022-06-13 11:01:06 -05:00
Lars Eggert 7f4a6c19fb
fix: Fix some more underlined whitespace around links (#4053)
* fix: Fix some more underlined whitespace around links

* Another one

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-06-03 11:52:41 -05:00
Robert Sparks 7dfb645678
fix: improve how status is displayed for old draft versions. Fixes #3974. (#4055) 2022-06-03 11:45:01 -05:00
Robert Sparks 13ae0738bf
fix: test web manifest (#4047) 2022-06-02 11:10:11 -05:00
Robert Sparks 02942a6954
chore: bring test names fixture up to match the current database (#4054) 2022-06-02 11:09:47 -05:00
Lars Eggert 525ce6bc68
fix: Correctly scroll to URL fragment after augmenting tables (#4040)
* fix: Correctly scroll to URL fragment after augmenting tables

* feat: Only add search field to longer tables

* Tweak vertical whitespace around search field

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-06-01 11:56:25 -05:00
Lars Eggert 8b339b74e4
fix: Fix include of bootstrap-icons (#4039)
This got broken in #4035, which included some things it wasn't meant to.
2022-06-01 10:55:01 -05:00
Lars Eggert 60ba38defe
fix: Nav links got broken in #3980 (#4032)
Righthand-nav links were no longer clickable since #3980. Fix that.
2022-05-31 17:06:15 -05:00
Lars Eggert 74f2a85d64
refactor: replace flot with highcharts (#4030)
* chore: Replace flot with highcharts

Since flot hasn't been updated since 2014 and was only used in one
place. Simplify how highcharts is initialized and used, and re-enable
pre-bs5 export functionality.

* Fix tests

* Remove some console.log statements
2022-05-31 17:05:27 -05:00
Lars Eggert 337d2ad387
feat: Switch to SVG logo; use it (and new bitmaps) in more places (#4035)
* feat: Switch to SVG logo; use it (and new bitmaps) in more places

* Run images through image_optim

* Copy icons from base template

* Tint icons red when in dev mode
2022-05-31 17:03:43 -05:00
Lars Eggert 159f89ebf3
chore: Remove six and pathlib2 from deps (#4031)
Fixes: #3895 and #3892
2022-05-31 09:12:45 -05:00
Robert Sparks 2f4b493575
fix: Don't show To Subscribe on group about when there's no url to subscribe with. Fixes #4022. (#4023) 2022-05-25 14:52:44 -05:00
Robert Sparks 0e599ea864
fix: show session name on meeting/upcoming. Fixes #4010. (#4017)
* fix: show session name on meeting/upcoming. Fixes #4010.

* fix: remove stray right paren
2022-05-24 15:23:47 -05:00
Lars Eggert bf22223877
Update d3 (#4016)
* Over to slate

* Port to d3@4

* Port to d3@5

* Port to d3@7 (current release)

* Fix axis font size
2022-05-24 11:07:14 -05:00
Lars Eggert 9a24ee7e94
fix: Make AD position colors more noticeable (#4013)
* fix: Make AD position colors more noticeable

Also remove the striping of the table, which makes it easier to notice which
documents are missing a ballot.

* Make "yes" a bit darker

* Stripe the table for non-ADs
2022-05-24 09:51:34 -05:00
Lars Eggert 0a8641cc75
fix: Fix whitespace at end of link (#4015) 2022-05-24 08:55:59 -05:00
Robert Sparks 49cf639f16
fix: improve person selection when receiving IANA email (#3993) 2022-05-20 16:20:26 -05:00
Robert Sparks c89f7c89c5
feat: begin supporting the new rfc editor model (#3960)
* feat: restructure rfcedtype groups. add rpc, rswg, rsab.

* feat: show rfc editor groups on menu

* feat: add the editorial stream

* fix: repair broken html and extent dest coverage.

* chore: address Lars review comment

* chore: update copyright notices.
2022-05-20 12:22:17 -05:00
Lars Eggert fa17ddd705
refactor: tweak the horrible code in SearchableField (#3957)
* Fix: Tweak the horrible code in SearchableField so another corner case works

Fixes #3940. Hopefully doesn't break anything.

* fix: remove incorrect remaining loop.

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-05-19 12:38:10 -05:00
Lars Eggert 8ef92312d0
fix: Don't urlencode all resource URLs (#3988)
While this does suppress errors, it breaks even valid URLs. Instead, just
suppress the validation error for those few cases in the database.
2022-05-19 12:31:29 -05:00
Lars Eggert f39e70a0a0
fix: Don't add newlines at EOF, it cause visible whitespace for HTML includes (#3989) 2022-05-19 08:21:12 -05:00
Lars Eggert a1518e4dcb
fix(ui): debounce the scroll event to make chrome happy (#3958)
* fix: Debounce the scroll event, to make Chrome happy

* Address review comments

* fix: Prevent overscrolling from scrolling the main content

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-05-18 14:01:22 -05:00
Lars Eggert de6d8b2b2a
fix: Prevent righthand-nav from overlapping the footer on short screens (#3980)
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-05-18 13:19:23 -05:00
Lars Eggert de7ff7e84e
test: fix more validation issues (#3975)
* fix: Avoid numeric IDs on NomCom pages

* fix: Correctly group last names with lowercase/i18n parts

* Remove some unneeded CSS

* fix: Remove extra div closing tag
2022-05-18 10:58:39 -05:00
Jennifer Richards 4a5583845e
fix(ui): import moment.js library with moment-timezone support in wrapper (#3977)
* fix: import moment.js library with moment-timezone support in wrapper

Packaging changes broke the mechanism used to make moment.tz available
to javascript code. This eliminates the separate moment.js and
moment-timezone-with-data-10-year-range.js wrappers and instead
imports the timezone-augmented version directly. This provides both
the timezone support and the regular moment features.

* refactor: put moment on window instead of global for consistency
2022-05-18 09:23:07 -05:00
Robert Sparks 249db17ae7
chore: keep the database in sync with django-simple-history (#3967) 2022-05-14 08:12:35 -05:00
Nicolas Giard 8a7f67d4d1
test: make tests run without root access (#3968) 2022-05-14 08:11:44 -05:00
Lars Eggert f4ce041dcc
fix: Add whitespace before "for" (#3951) 2022-05-13 14:13:14 -05:00
Lars Eggert 75a32d2210
fix: Link to reviews from search status column (#3955)
* fix: Link to reviews from search status column

Fixes #3953

* fix: Make the notices about exceeded state times less obtrusive

* Fix tests
2022-05-13 14:05:42 -05:00
Lars Eggert b265bac1fe
fix: Fix action holder form buttons (#3956)
Fixes #3943
2022-05-13 14:01:14 -05:00
Lars Eggert 39525a1cd0
fix: escape the ballot comments (#3952)
I wonder if other fields that have class `pasted` would need to be escaped, too?
2022-05-12 12:17:48 -05:00
Jennifer Richards cb996c5c0b
fix: refactor/correct calculation of week-view event start/end times (#3947)
* fix: use DST-friendly tz calculation for TimeSlot end times

Around DST changes, localize(time + duration).astimezone() is not
the same as localize(time).astimezone() + duration. The latter allows
tz-aware times to do their magic and give correct clock times.

* fix: refactor/correct calculation of week-view event start/end times

There were bugs in the timestamp calculations around DST switchover.
This corrects those and tries to clarify and improve documentation in
the relevant code.
2022-05-11 16:08:47 -05:00
Lars Eggert 5f8d4ed718
More HTML nitfixing (#3934)
* Unicode messages are triggered by both db content and tests

* Make ids unique

* Avoid "No value found" message on page

* Strip HTML from history entries, it's often broken

* Check HTML sources for occurrences of "** No value found for" and fix them

* Fix another occurrence of "** No value found for"

* Fix more occurrences of "** No value found for"

* Fix document revision stripping

* Force breaks of long (garbage) words

* Check URL validity before urlizing them

* Handle some additional corner cases

* Linkify action items

* Don't create profile/email links for System

* Handle headings with HTML elements in them better

* Fix comment

* Fix another occurrence of "** No value found for"

* Better I-D URLization that handles more edge cases. Also, test for them.

* Remove print

* Handle charters better

* Cache for one day
2022-05-10 12:37:14 -05:00
Robert Sparks 47b89c1112
chore: alter CSP to enable analytics (#3941) 2022-05-09 13:38:50 -05:00
Robert Sparks cdd86b9d5e
ci: show makemigrations output (#3932)
* ci: show makemigrations output

* chore: remove unused releasetest settings
2022-05-03 20:54:25 -05:00
Robert Sparks def13a872a
chore: catchup with pytz country (#3933) 2022-05-03 20:54:02 -05:00
Robert Sparks d4ebbe41e8
feat: improve notes imports by using de-gfm -4. Related to #3851. (#3930) 2022-05-03 18:04:48 -05:00
Lars Eggert 5598762608
fix: add more HTML validation & fixes (#3891)
* Update vnu.jar

* Fix py2 -> py3 issue

* Run pyupgrade

* test: Add default-jdk to images

* test: Add option to also validate HTML with vnu.jar

Since it's already installed in bin. Don't do this by default, since it
increases the time needed for tests by ~50%.

* fix: Stop the urlizer from urlizing in linkified mailto: text

* More HTML fixes

* More HTML validation fixes

* And more HTML fixes

* Fix floating badge

* Ignore unicode errors

* Only URLize docs that are existing

* Final fixes

* Don't URLize everything during test-crawl

* Feed HTML into vnu using python rather than Java to speed things up

* Allow test-crawl to start vnu on a different port

* Increase retry count to vnu. Restore batch size to 30.

* More HTML validation fixes

* Use urllib3 to make requests to vnu, since overriding requests_mock is tricky

* Undo commit of unmodified file

* Also urlize ftp links

* Fix matching of file name

* More HTML fixes

* Add `is_valid_url` filter

* weekday -> data-weekday

* urlencode URLs

* Add and use vnu_fmt_message. Bump vnu max buffer.

* Simplify doc_exists

* Don't add tab link to mail archive if the URL is invalid

* Run urlize_ietf_docs before linkify

Reduces the possibility of generating incorrect HTML

* Undo superfluous change

* Runner fixes

* Consolidate vnu message filtering into vnu_filter_message

* Correctly handle multiple persons with same name

* Minimze diff

* Fix HTML nits

* Print source snippet in vnu_fmt_message

* Only escape if there is something to escape

* Fix snippet

* Skip crufty old IPR declarations

* Only include modal when needed. Add handles.

* Fix wordwrap+linkification

* Update ietf/doc/templatetags/ietf_filters.py

* Update ietf/doc/templatetags/tests_ietf_filters.py

* Don't right-align second column
2022-05-03 13:55:48 -05:00
Lars Eggert 19796c56c9
fix: Stretch righthand-nav to viewport edge (#3921)
* fix: Stretch righthand-nav to viewport edge

Fixes #3848

* Also improve tz-select display, while we're here

* Change func name
2022-05-03 09:35:10 -05:00
Lars Eggert 169ab1c10f
fix: Adopt -> Manage adoption (#3922)
Fixes #3877
2022-05-03 09:32:24 -05:00
Lars Eggert f4b8fc1d0d
fix: 2023 -> 2023 in document shepherd template (#3923) 2022-05-03 09:30:17 -05:00
Jennifer Richards 681fae2af5
test: decode email payloads before validating (#3926) 2022-05-03 09:29:42 -05:00
Robert Sparks 8fc8e9af4f
fix: guard against reviews without reviewassignments. Fixes #3906. (#3915) 2022-04-29 18:43:35 -05:00
Robert Sparks d7362609b8
fix: re-align html and view for submit-to-iesg. Fixes #3913 (#3914) 2022-04-29 14:55:21 -05:00
Robert Sparks 86923dfe96
chore: update dependency requirements (#3904)
* chore: cleanup requirements.txt. Unpin factory-boy, ignoring resulting mypy complaints.

* chore: remove the upper limit as many dependencies as possible

* chore: remove unintended bookmark

* chore: normalize spaces before comments

* chore: improve comment explaining pinned Tastypie

* chore: shift dependencies minimum version requirements forward
2022-04-28 11:06:17 -05:00
Jennifer Richards 4e4569acc1
fix: use ModelMultipleChoiceField for 'bethere' when hidden (#3894)
The select2-based fields do not behave well on the SubmissionForm when
hidden=True. The ModelMultipleChoiceField is enough for this case.
2022-04-26 16:53:45 -05:00
Lars Eggert 53a2b61bbc
feat: Make the "report a bug" links more visible (#3883)
* feat: Make the "report a bug" links more visible

Also rework the page footer somewhat, while we're here.

* Revert empty change

Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-04-26 12:30:21 -05:00
Lars Eggert 9db1d48258
fix: Correctly linkify all current TLDs (#3868)
* fix: Correctly linkify all current TLDs

* Pass a list to the build_*_re functions, not a string

* Need to sort TLDs by length to force longer ones to match first

* chore: silence incorrect mypy complaint.

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-04-26 12:25:18 -05:00
Lars Eggert 955d9ac489
fix: Spacing issues and colorization in conflict review display (#3882)
Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-04-26 12:24:33 -05:00
Nicolas Giard 8ea883cb7e
chore: switch to Yarn 3 (#3819)
* refactor: switch to yarn 3

* chore: add other os+cpu to yarn supported architectures

* chore: add gitattributes

* chore: add missing yarn native modules rebuild step

* chore: replace npx with yarn in test_runner + update readme

* chore: remove bootstrap-datepicker github dependency, use local instead
2022-04-25 15:54:05 -05:00
Lars Eggert cd9a2ee229
fix: Color the background of table rows for an AD based on their ballot (#3867)
Instead of just adding a colored bar on the right-hand side.
2022-04-22 11:05:37 -05:00
Robert Sparks f4b0b459cb
feat: add analytics infrastructure (#3862) 2022-04-21 18:06:14 -05:00
Lars Eggert ec13e071ba
fix: Whitespace issue ballot popup (#3860) 2022-04-21 11:55:48 -05:00
Lars Eggert 92e67aca8f
fix: Make the author button work on doc submit (#3850) 2022-04-20 10:52:54 -05:00
Lars Eggert 3fdfa3a6ef
fix: Show all liaison groups by default (#3852)
Requiring two characters to be entered before any options are shown makes no
sense here.
2022-04-20 10:51:50 -05:00
Lars Eggert cef7b05981
fix: Don't change text color on hover for badge links (#3845) 2022-04-20 10:50:24 -05:00
Kesara Rathnayake 6b06542fab
fix: fix OIDC authorization bug (#3842) 2022-04-20 10:47:47 -05:00
Nicolas Giard a32976c819
chore: set base dev version to 8.0.0-dev 2022-04-19 17:44:30 -04:00
Robert Sparks 87fac4e12a
test: align tests with new shepherd writeup template. (#3838) 2022-04-19 11:44:59 -05:00
Lars Eggert f8c06fa5cf
fix: Use unique data-sort attributes (#3836)
* fix: Use unique `data-sort` attributes

So list.js properly sorts columns.

* Address @rjsparks' comments
2022-04-19 10:16:32 -05:00
Lars Eggert ea22b0fd3b
fix: Update the document shepherd template (#3797)
* fix: Update the document shepherd template

Along the lines of https://github.com/ietf-chairs/chairs.ietf.org/pull/5

* Rewrap manually

* Use relative Markdown links to improve readability
2022-04-19 09:32:39 -05:00
Jennifer Richards 43952a8c69
fix: do not prematurely dereference status change RelatedDocuments (#3835)
* test: add tests of the person_link tag

* fix: do not prematurely dereference status change RelatedDocuments

The urlize_related_source_list template tag expects the RelatedDocument
instances, not the source Document.

* test: add test cases for status changes on document_main view
2022-04-19 07:04:38 -05:00
Jennifer Richards b8912a4eff
fix: treat str input as None in the person_link tag (#3832) 2022-04-15 15:49:16 -05:00
Robert Sparks eef29cf35d
fix: improve ietf doc string urlization. Fixes #3828. (#3831)
* fix: improve ietf doc string urlization. Fixes #3828.

* fix: dont urlize names immediately after - or /. Avoids urizing in the middle of urls.

* fix: cover some additional corners when urlifying document names.

* chore: remove unnecessary code complication
2022-04-15 15:43:32 -05:00
Nicolas Giard 23fdf61ed4
fix: point to github releases in about page (#3827) 2022-04-14 16:21:51 -05:00
Robert Sparks 7c4205d49b
feat: reflect breaking change in internal release description (#3826)
BREAKING CHANGE: the datatracker now uses bootstrap 5 and html 5
see also 6eeae80207
2022-04-14 15:04:09 -05:00
Lars Eggert 81fe7a15cf
fix: add flex-wrap to pagination elements (#3822)
They seem to be one of the only bs5 elements that do not by default wrap, which
causes display issues on narrow screens when there are lots of page elements,
e.g., on http://127.0.0.1:8000/doc/draft-ietf-ipwave-vehicular-networking/

Adding `flex-wrap` (per https://github.com/twbs/bootstrap/issues/23504) makes
this better, but unfortunately doesn't fix it completely, because the layout
still jumps when the window is narrowed by the used. It does fix the issue on
first load and after a reload though.
2022-04-14 15:36:24 -03:00
Jennifer Richards 310e828262
fix: offset scrollspy so righthand-nav highlights the correct entry (#3820)
Also rewrites scroll_to_element() using javascript. This seems to be less flaky
than the ActionChains implementation. Slight change in behavior - now scrolls
the requested element to the middle of the window instead of barely into view.
2022-04-14 15:35:07 -03:00
Lars Eggert 79c7081181
* fix: Correctly urlize bis documents
The old code would first substitute the "rfx<nnnn>" part, and then again
on the full draft name. This now only ever applies one substitute,
and does longer ones first.
2022-04-14 15:33:47 -03:00
Jennifer Richards 966e1c806a
chore: remove editor_label field from ConstraintName model (#3783) 2022-04-14 15:30:11 -03:00
Jennifer Richards a29965f37d
fix: remove potentially duplicate html entity id (#3818) 2022-04-13 11:42:14 -03: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
Lars Eggert d2edc5bda3
fix: Misc template fixes (#3813)
* fix: Remove extra whitespace around parentheses

* fix: Make heading capitalization consistent, colorize a "No"

* fix: Pagination element, spacing, replace text with icon
2022-04-12 12:07:22 -03:00
Lars Eggert 4f1dcd6f41
fix: Don't make a <tbody> for each row (#3808)
Fixes #3805.
2022-04-12 12:04:57 -03:00
Jennifer Richards c14a30392c
fix: clean up agenda personalization links (#3803) 2022-04-12 12:03:13 -03:00
Lars Eggert 09a898e88e
fix: Improve the layout of the photo pages (#3807) 2022-04-12 12:02:16 -03:00
Lars Eggert f98cb8a4cd
fix: No need to escape here (#3806) 2022-04-12 11:27:52 -03:00
Robert Sparks 0b1388c39f
fix: report seven character prefix of release hash (#3804) 2022-04-11 15:57:25 -03:00
Lars Eggert 3245678e10
fix: Hide tooltips after review wish icon is clicked (#3799)
Similar how it's done with the track/untrack icon.

Also remove duplicate javascript for this functionality.
2022-04-08 14:55:41 -03:00
Lars Eggert 19e639f779
fix: .visually-hidden -> .d-none (#3800)
In bs5, `.visually-hidden` is the equivalent of bs3's `.sr-only`, i.e., it's
still shown on screen readers, which is not what we want. Use `.d-none` instead,
which is the equivalent of bs3's `.hidden`.
2022-04-08 14:53:56 -03:00