* feat: Quietly check submission status before reloading
* chore: Remove misleading "time since" display
* feat: Back off submission status poll frequency
* chore: Fix code comment
* test: Test paste-email-feedback-form with missing headers and/or body
* fix: Don't crash if paste-email-feedback-form doesn't contain a Subject line
* test: Test that paste-email-feedback-form requires headers
* fix: If email headers are missing, prompt the user to try again
* chore: retrigger PR checks
* fix: Don't add "essential people" to session requests by default
Because since #5169 we ask they not be included anymore. (This was part of my
original change but I guess I forgot to add it to the PR...)
* Don't import Person
* fix: tweak Nomination.share_nominator label text
"Share nominator name with candidate" was confusing, because it's
imperative, where it's really intended to be permissive - it's okay to
share with the candidate.
* chore: add migration for label text
* feat: Subclass PyMemcacheCache to tolerate too-large object errors
* fix: Use LenientMemcacheCache to prevent search errors
* fix: Re-raise errors other than "object too large"
* refactor: Eliminate _construct_creation_date helper
* fix: Use xml2rfc method for filling in missing date fields
* fix: Set options.date for xml2rfc writers
* test: Test handling of missing date element/fields
* fix: Accept a Path as source for a PlaintextDraft
* fix: Guard against failure to extract PlaintextDraft title
* fix: Ignore failure to extract text draft title unless it is needed
* fix: make chat room an overrideable property of Session
* test: validate that /meeting/session/<sessionid>/edit shows and sets chat room
* test: validate Session.chat_room_name
pkg_resources warning is caused by a few packages
(django-simple-history. django-widget-tweaks, etc). The datetime_safe
warning is in tastypie, as indicated. The others are deprecated
settings we already have tickets for.
* Specific email subject + requester/secretary in cc
* Send the deadline in the subject
* Use unicode rather than ASCII for reviewer's name
* More log info in the test
* Fix the closing parenthesis
* Fix the email test when review is assigned
* chore: address review comment
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: remove order from DocumentInfo as apparently unneeded (fixes#5245)
Fixes#5245. Includes migration, however I did not test the reverse.
* Merge branch 'main' into pr/Spectre17/5417
* chore: Renumber migrations
* Revert "Merge branch 'main' into pr/Spectre17/5417"
This reverts commit 77b4a46f84e9ece6778dec6e8127aedad71c2625.
---------
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* test: Remove ScheduleEditTests.testUnschedule
Has been disabled under Django 2. Simple refactoring does not make it
functional under Django 3. Probably because we know that Selenium does
not handle HTML5 drag-and-drop well. Discarding until we move to a
better JS testing framework.
* test: Remove unused imports
Not sure why, but if I change the DeprecationWarning filter to
"error", I get a SyntaxError from the \[ because it is an invalid
escape sequence. Not sure why that change triggers it, but
"\[" and "\\[" are the same, so this is a no-op.
* fix: Use relative URL for submission status link
* refactor: Refactor/rename process_uploaded_submission async task
* feat: Add async task to process but not accept a submission
* feat: Replace upload_submission() with an async implementation (WIP)
* fix: Do not put Submission in "uploaded" state if an error occured
* refactor: Improve text/XML draft processing flow
* feat: Extract authors from text in async processing
* fix: Fix call signatures and abort submission on failed validation
* feat: Validate submission name format
* fix: Correctly validate emails from text submission
* fix: Clean up submission validation
* fix: Better display errors on upload_submission page
* feat: Reload submission status page when awaiting validation
* test: Fix call signatures; remove unused imports
* chore: Add type hint
* test: Update tests to match renamed task
* fix: Fix typo in error message
* test: Fix failing Api- and AsyncSubmissionTests
* Rename process_uploaded_submission to process_and_accept_...
* Remove outdated tests
Does not yet test new behavior.
* refactor: Break up submission_file() helper
* test: Refactor tests to run the async processing (wip)
* test: Drop test of bad PDF submission
The PDF submission field was removed, so no need to test it.
* test: Update more tests
* test: Bring back create_and_post_submission() and fix more tests
* fix: Drop to manual, don't cancel, on revision inconsistency
Fixes remaining failing SubmitTest tests
* style: Restyle upload_submission() with black
* test: Verify that async submission processing is invoked on upload
* test: Bring back old do_submission and fix tests
Properly separating the upload and async processing stages of submission
is a bigger refactoring than will fit right now. This better exercises
the submission pipeline.
* fix: Accept only XML for API submissions
* test: Test submission processing utilities
* feat: Improve status display for "validating" submissions
* chore: Remove obsolete code
* test: Update test to match amended text
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: Easy extraction of qualified volunteer list for nomcom chair
* fix: tune test setup to years where eligibility calculations can return nonempty
* chore: revert unintended change
* feat: default string when no affiliation is provided
* ISE may initiate conflict review
Add ISE to list of those roles who can initiate a conflict review.
* fix: improve conditional for conflict review action. Add tests.
* chore: fix comment typo
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: Use session.id to specify session for api_set_session_video_url
* feat: Use session.id to specify session for api_upload_bluesheet
* refactor: Add audio/video stream and onsite tool URLs to Session model
* refactor: Get onsite tool/stream URLs for agenda from Session
* refactor: Use Session methods for onsite tool/stream a few more places
* refactor: Move hard-coded meetecho URLs into settings.py
* feat: Add has_onsite_flag to Session
* chore: Set has_onsite_tool for sessions that had meetecho UrlResources
* fix: Only show onsite tool URLs when Session.has_onsite_tool is True
* test: Update test_api_upload_bluesheet to test deprecated version
* fix: Fix test failure in api_upload_bluesheet view
* test: Add test of new api_upload_bluesheet view
* style: Apply Black style to test_api_upload_bluesheet
* fix: Fix test failures in api_upload_bluesheet()
* test: Update test_api_set_session_video_url to test deprecated version
* fix: Fix test failure in api_set_session_video_url view
* test: Add test of new api_set_session_video_url view
* style: Apply Black styling to new test
* fix: Fix test failures in api_set_session_video_url view
* test: Fix test_meeting_agenda; set has_onsite_tool in SessionFactory
* feat: Add has_onsite_tool to Session list in admin
* feat: Add has_onsite_tool flag to SessionDetailsForm
* feat: Add has_onsite_tool flag to sreq
* feat: Show has_onsite_tool flag on secr view for a submitted request
* feat: Only prompt for has_onsite_tool in sreq for non-wg type groups
* fix: Clean up styling of sreq view a bit
* chore: Renumber migrations
Mention that the schedule is posted to ietf-announce and give a link
to subscribe to that. Use vague wording to handle all cases.
Also add reminder when to not uncheck the "send automatically" box.
* feat: Add TelechatAgendaContent model and related support
* feat: Add UI for managing TelechatAgendaContents
* refactor: Rename _view view to _manage
* feat: Add a view to dump the TelechatAgendaContent as text/plain
* refactor: Point agenda_data() helpers at content in the DB
* refactor: Replace references to settings URLs/paths with new plumbing
* chore: Remove now-obsolete settings from settings.py
* feat: Link to telechat_agenda_content_manage view from iesg agenda
* fix: Use correct view name
* feat: Link from agenda content management page to IESG agenda view
* chore: Create resources
* chore: Add new names to names.json
* chore: Renumber migration after rebase
* chore: Remove unused import
* fix: Clean up partially removed code
* chore: Add admin model for TelechatAgendaContent
* chore: Simplify __str__ method for TelechatAgendaContent
* test: Add TelechatAgendaContentFactory
* test: Test the fill_in_agenda_administrivia() function
* test: Test that agenda contains action_items content
* test: Test that sensitive agenda links are restricted by role
* test: Test the telechat_agenda_content_view view
* test: Add test of telechat_agenda_content_edit view
* fix: Add type attribute to button to satisfy html validator
* test: Filter TelechatAgendaSectionName to used=True for tests
* test: More thoroughly test for likely(ish) permission errors
* fix: Fix typo in "tablist" role
* test: Test telechat_agenda_content_manage view
* style: Put back newlines at EOF
* chore: Add admin for TelechatAgendaSectionName
* chore: Renumber migrations
* fix: Depend on the correct migration
Forgot to update the number, but was also depending on the wrong
migration.
* fix: Do not add user to the top of queue after reject (fixes#4505)
Added a checkbox in the reject review dialog to ask whether user
wants to be added to the top of the queue or not. Default is off.
* Do not change request_assignment_next if wants_to_be_next is not True.
Set the request_assignment_next also in LeastRecentlyUsedReviewerQueuePolicy
so it can be used to override the assignment policy rules (i.e., if
someone has once per month, but he rejects review with wants_to_be_next set
to true, he will get new assignment immediately, not after one month).
* Added wants_to_be_next to test cases too.
* Fixed test function prototypes, they can't have any parameters, only
self. Added test cases for test_return_reviewer_to_rotation_top both
for RotateAlphabeticallyReviewerQueuePolicyTest and
LeastRecentlyUsedReviewerQueuePolicyTest.
* feat: Add summary data to meeting/requests
* feat: Add Group Type and Purpose tables to requests summary
* fix: use self.assertXX instead of raw assert
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* refactor: Remove all existing migrations
* refactor: Create clean set of migrations
* chore: Skip check_statetype_slugs when DB is not yet populated
* fix: Do not cache active_groups_menu on module import
* fix: Do not patch timezone awareness out of oidc-provider
* refactor: Migrate to create postgres schema, only use pgloader for data
* ci: Use migration scripts from feat/pg-migrations branch
* Revert "ci: Use migration scripts from feat/pg-migrations branch"
This reverts commit c82f64c614241ccede4865a50d494725c8a47c15.
* ci: Run check before migrate
* fix: Remove redundant migration caused by merge error
* chore: Add casts/ALTER TABLEs to eliminate pgloader errors/warnings
* chore: Change schema name to match docker image assumptions
* chore: Clear out schema so we get a clean start in case of a retry
This change allows password reset with any email address associated with the
account.
The password reset will only be sent to the active email addresses associated
with the account.
Fixes#5057
* fix(doc): Use text badges for email status
BI's envelope icons with status icons are difficult to read.
Use text labels instead (keeping the same tooltip).
Fixes#3855.
* test(doc): Fix failing ballot message tests
Some ballot message changes have been modified to correctly identify
what type of document this ballot is for.
Works on #3855
* test(doc): Remove debugging statement
Accidental inclusion of debug statement.
Works on #3855
When generating the NomCom volunteer paths, use a plus sign rather
than a comma, so that the output is more CSV-friendly.
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* test: More carefully test event syntax in ical file
* test: Test agenda.ics view with all meeting sessions
* fix: Render complete iCalendar event when show_location is False
* chore: Fix confusing comment