* 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>
* 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
* 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>
* 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>
* 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
* fix: work around dataTransfer.getData limitation in agenda editor
* refactor: be slightly more careful checking dataTransfer type
* chore: remove debug statement
* 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
* 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
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.
* 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
* 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
* 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
* 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.
* 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.
* 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
* 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>
* 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
* 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
* Pass settings into the context
Fixes#4340
* fix: test changes to the ipr notification message content
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* 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()
* 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
* 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
* 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>
* 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>
* feat: add field MeetingRegistration.checkedin to track onsite checkin
* feat: add handling of ticket_type, checkedin to get_meeting_registation_data. Fixes#3672
* 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
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.
* 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
* 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
* 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
* 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.
* 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
* 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.
* 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>
* 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.
* 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>
* 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
* 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...
* 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
* 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
* 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
* 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.
* 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
* 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.
* 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>
* 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