* chore: Remove unused "rendertest" stuff (#6015)
* fix: restore ability to create status change documents (#5963)
* fix: restore ability to create status change documents
Fixes#5962
* chore: address review comment
* fix: Provide human-friendly status in submission status API response (#6011)
Co-authored-by: nectostr <bastinda96@gmail.com>
* fix: Make name/email lookups case-insensitive (#5972) (#6007)
* fix: Make name/email lookups case-insensitive (#5972)
Use icontains so that looking up name or email is case insensitive
Added a test
Fixes: 5972
* fix: Use __iexact not __icontains
* fix: Clarify no-action-needed (#5918) (#6020)
When a draft is submitted for manual processing, clarify that
no action is needed; the Secretariat has the next steps.
Fixes: #5918
* fix: Fix menu hover issue (#6019)
* fix: Fix menu hover issue
Fixes#5702
* Fix leftmenu hover issue
* fix: Server error from api_get_session_materials() (#6025)
Fixes#5877
* fix: Clarify Questionnaire label (#4688) (#6017)
When filtering nominees, `Questionnaire` implies `Accepted == yes`
so fix the dropdown test tosay that.
Fixes: #4688
* chore: Merge from @martinthomson's rfc-txt-html (#6023)
* fix:no history entry when changing RFC Editor note for doc (#6021)
* fix:no history entry when changing RFC Editor note for doc
* fix:no history entry when changing RFC Editor note for doc
---------
Co-authored-by: Priyanka Narkar <priyankanarkar@dhcp-91f8.meeting.ietf.org>
* fix: avoid deprecation warning on view_list() for objs without CommunityList
Fixes#5942
* fix: return 404 for non-existing revisions (#6014)
* fix: return 404 for non-existing revisions
Links to non-existing revisions to docs should return 404
* fix: change rfc/rev and search behaviour
* refactor: fix tab level
* fix: return 404 for rfc revision for bibtex
* fix: provide date for revisions in bibtex output (#6029)
* fix: provide date for revisions in bibtex output
* refactor: change walrus to if's
* fix: specify particular revision for events
* fix: review refactoring issue
fixes#5447
* fix: Remove automatically suggested document for document that is already has review request (fixes#3211) (#5425)
* Added check that if there is already review request for the document
in question, ignore the automatic suggestion for that document.
Fixes#3211.
* fix: dont block on open requests for a previous version. Add tests
---------
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: IAB statements (#5940)
* feat: support iab and iesg statements. Import iab statements. (#5895)
* feat: infrastructure for statements doctype
* chore: basic test framework
* feat: basic statement document view
* feat: show replaced statements
* chore: black
* fix: state help for statements
* fix: cleanout non-relevant email expansions
* feat: import iab statements, provide group statements tab
* fix: guard against running import twice
* feat: build redirect csv for iab statements
* fix: set document state on import
* feat: show published date on main doc view
* feat: handle pdf statements
* feat: create new and update statements
* chore: copyright block updates
* chore: remove flakes
* chore: black
* feat: add edit/new buttons for the secretariat
* fix: address PR #5895 review comments
* fix: pin pydantic until inflect catches up (#5901) (#5902)
* chore: re-un-pin pydantic
* feat: include submitter in email about submitted slides (#6033)
* feat: include submitter in email about submitted slides
fixes#6031
* chore: remove unintended whitespace change
* chore(dev): update .vscode/settings.json with new taskExplorer settings
* fix: Add editorial stream to proceedings (#6027)
* fix: Add editorial stream to proceedings
Fixes#5717
* fix: Move editorial stream after the irtf in proceedings
* fix: Add editorial stream to meeting materials (#6047)
Fixes#6042
* fix: Shows requested reviews for doc fixes (#6022)
* Fix: Shows requested reviews for doc
* Changed template includes to only give required variables to them.
* feat: allow openId to choose an unactive email if there are none active (#6041)
* feat: allow openId to choose an unactive email if there are no active ones
* chore: correct typo
* chore: rename unactive to inactive
* fix: Make review table more responsive (#6053)
* fix: Improve layout of review table
* Progress
* Progress
* Final changes
* Fix tests
* Remove fluff
* Undo commits
* ci: add --validate-html-harder to tests
* ci: add --validate-html-harder to build.yml workflow
* fix: Set colspan to actual number of columns (#6069)
* fix: Clean up view_feedback_pending (#6070)
- Remove "Unclassified" column header, which caused misalignment in the table body.
- Show the message author - previously displayed as `(None)`.
* docs: Update LICENSE year
* fix: Remove IESG state edit button when state is 'dead' (#6051) (#6065)
* fix: Correctly order "last call requested" column in the IESG dashboard (#6079)
* ci: update dev sandbox init script to start memcached
* feat: Reclassify nomcom feedback (#6002)
* fix: Clean up view_feedback_pending
- Remove "Unclassified" column header, which caused misalignment in the table body.
- Show the message author - previously displayed as `(None)`.
* feat: Reclassify nomcom feedback (#4669)
- There's a new `Chair/Advisor Tasks` menu item `Reclassify feedback`.
- I overloaded `view_feedback*` URLs with a `?reclassify` parameter.
- This adds a checkbox to each feedback message, and a `Reclassify` button
at the bottom of each feedback page.
- "Reclassifying" basically de-classifies the feedback, and punts it back
to the "Pending emails" view for reclassification.
- If a feedback has been applied to multiple nominees, declassifying it
from one nominee removes it from all.
* fix: Remove unused local variables
* fix: Fix some missing and mis-nested html
* test: Add tests for reclassifying feedback
* refactor: Substantial redesign of feedback reclassification
- Break out reclassify_feedback* as their own URLs and views,
and revert changes to view_feedback*.html.
- Replace checkboxes with a Reclassify button on each message.
* fix: Remember to clear the feedback associations when reclassifying
* feat: Add an 'Overcome by events' feedback type
* refactor: When invoking reclassification from a view-feedback page, load the corresponding reclassify-feedback page
* fix: De-conflict migration with 0004_statements
Also change the coding style to match, and add a reverse migration.
* fix: Fix a test case to account for new feedback type
* fix: 842e730 broke the Back button
* refactor: Reclassify feedback directly instead of putting it back in the work queue
* fix: Adjust tests to new workflow
* refactor: Further refine reclassification to avoid redirects
* refactor: Impose a FeedbackTypeName ordering
Also add FeedbackTypeName.legend field, rather than synthesizing it every
time we classify or reclassify feedback.
In the reclassification forms, only show the relevant feedback types.
* refactor: Merge reclassify_feedback_* back into view_feedback_*
This means the "Reclassify" button is always present, but eliminates some
complexity.
* refactor: Add filter(used=True) on FeedbackTypeName querysets
* refactor: Add the new FeedbackTypeName to the reclassification success message
* fix: Secure reclassification against rogue nomcom members
* fix: Print decoded key and fully clean up test nomcom (#6094)
* fix: Delete Person records when deleting a test nomcom
* fix: Decode test nomcom private key before printing
* test: Use correct time zone for test_statement_doc_view (#6064)
* chore(deps): update all npm dependencies for playwright (#6061)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
* chore(deps): update all npm dependencies for dev/diff (#6062)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
* chore(deps): update all npm dependencies for dev/coverage-action (#6063)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
* fix: Hash cache key for default memcached cache (#6089)
* feat: Show docs that an AD hasn't balloted on that need ballots to progress (#6075)
* fix(doc): Unify help texts for document states (#6060)
* Fix IESG State help text link (only)
* Intermediate checkpoint
* Correct URL filtering of state descriptions
* Unify help texts for document states
* Remove redundant load static from template
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* ci: fix sandbox start.sh memcached user
* fix: refactor how settings handles cache definitions (#6099)
* fix: refactor how settings handles cache definitions
* chore: more english-speaker readable expression
* fix: Cast cache key to str before calling encode (#6100)
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Liubov Kurafeeva <liubov.kurafeeva@gmail.com>
Co-authored-by: nectostr <bastinda96@gmail.com>
Co-authored-by: Rich Salz <rsalz@akamai.com>
Co-authored-by: PriyankaN <priyanka@amsl.com>
Co-authored-by: Priyanka Narkar <priyankanarkar@dhcp-91f8.meeting.ietf.org>
Co-authored-by: Ali <alireza83@gmail.com>
Co-authored-by: Roman Beltiukov <maybe.hello.world@gmail.com>
Co-authored-by: Tero Kivinen <kivinen@iki.fi>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Kesara Rathnayake <kesara@fq.nz>
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Paul Selkirk <paul@painless-security.com>
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: Jim Fenton <fenton@bluepopcorn.net>
* feat: support iab and iesg statements. Import iab statements. (#5895)
* feat: infrastructure for statements doctype
* chore: basic test framework
* feat: basic statement document view
* feat: show replaced statements
* chore: black
* fix: state help for statements
* fix: cleanout non-relevant email expansions
* feat: import iab statements, provide group statements tab
* fix: guard against running import twice
* feat: build redirect csv for iab statements
* fix: set document state on import
* feat: show published date on main doc view
* feat: handle pdf statements
* feat: create new and update statements
* chore: copyright block updates
* chore: remove flakes
* chore: black
* feat: add edit/new buttons for the secretariat
* fix: address PR #5895 review comments
* fix: pin pydantic until inflect catches up (#5901) (#5902)
* chore: re-un-pin pydantic
* Added check that if there is already review request for the document
in question, ignore the automatic suggestion for that document.
Fixes#3211.
* fix: dont block on open requests for a previous version. Add tests
---------
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix:no history entry when changing RFC Editor note for doc
* fix:no history entry when changing RFC Editor note for doc
---------
Co-authored-by: Priyanka Narkar <priyankanarkar@dhcp-91f8.meeting.ietf.org>
* fix: Make name/email lookups case-insensitive (#5972)
Use icontains so that looking up name or email is case insensitive
Added a test
Fixes: 5972
* fix: Use __iexact not __icontains
* fix: More small dark mode fixes
* "badge rounded-pill bg-" -> "badge rounded-pill text-bg-"
This sets the text color correctly for more readable badges.
* Same for cards
* Fix tests
* refactor: Remove is_rfc() - test type_id instead
* fix: Guard against unknown pub_date
This should not ever come up - we have a published_rfc event for
every rfc. Should investigate fixing pub_date() to always return a val.
* fix: Fix friendly_state() for drafts in rfc state
* refactor: Change became-rfc to became_rfc for consistency
* refactor: Begin handling RFCs separatly in document_main
WIP
* chore: Hide reviews and conflict reviews for RFCs
* chore: Remove irrelevant fields from rfc doc view
* chore: Remove unused variables
* chore: Remove "Versions" field from document_rfc.html
* chore: Hide "Nits" button for RFC documents
* refactor: Split up get_creation_date to ease testing
* test: Add tests of parse_creation_date()
Note change in expected output when date_elt is None:
instead of returning None, this expects today's date.
* fix: Return today instead of None when date is absent
* fix: Handle empty string for day attribute
* test: Check a couple more parse_creation_date cases
* fix: Revert to returning None when date elt is absent
* style: black
* fix: Do not show "rev" column for rfc document history
* style: Reformat document_history() using Black
* refactor: Use "is not None" instead of "!= None"
* refactor: Convert dict() to dict literal
* fix: Migrate group, stream, and ad from draft to rfc Document
* feat: Link rfc/draft history pages
This adds a table to show the state of all nomcom positions, and lets the
chair set or un-set multiple state flags at the same time.
As a consequence, it moves the email templates to the "Edit position" form.
* refactor: Separately migrate DocAliases to rfc Documents
The gap in numbering is intentional, another migration will be along
shortly.
* feat: Migrate docevents onto rfc documents
* chore: Refining DocEvent migration (WIP)
* chore: Move IANA Action state change docevents to rfc docs
* chore: Fix typo
* refactor: Eliminate "created" rfc state
* chore: Leave "ballot set" comments on drafts
* fix: Correctly indicate "auto" theme is default
* fix: .pnp.js changes were missing
* fix: Use a "-subtle" background color for the menu bar
Because those change correctly with theme changes. That the
non-"-subtle" ones may be a bs5 bug, but enough people complained
about the yellow background in dev mode in dark mode that this change
may be worth it.
* fix: Try and recolor black colors in SVGs for dark mode
* Apply suggestions from @martinthomson
* fix: improve when Message objects are created
* test: further improve feedback test
* fix: improve and test another form
* test: Restructure test infrastructure
* fix: Enforce naming of charter docs in submit()
* style: Reformat submit() with Black
* refactor: Remove redundant check of charter name
* style: Reformat charter_with_milestones_txt with Black
* refactor: Drop canonical_name, use Path in charter_with_milestones_txt
* style: Reformat review_announcement_text() with Black
* style: Reformat action_announcement_text() with Black
* refactor: Change uses of charter.canonical_name() to charter.name
* refactor: Skip docialias when retrieving charter
* refactor: Change canonical_name() to name in utils_charter.py
* refactor: Use Path in read_charter_text()
* refactor: Drop canonical_name, minor refactor of tests_charter.py
* refactor: charter.name instead of canonical_name in milestones.py
* refactor: charter.name instead of canonical_name in tests_info.py
* refactor: Remove unused functions in ietf/secr/utils/groups.py
* refactor: charter.canonical_name -> charter.name in templates
* refactor: Remove charter handling from canonical_name
Temporarily raise an exception for testing
* refactor: Refactor get_charter_text() without canonical_name
* refactor: Remove raise when canonical_name called on a charter
* fix: Add back missing ".txt" extension
* test: Test rejection of invalid charter names
* feat: import IAB minutes from the IAB wordpress site
Work in Progress
* fix: refactor as management commands
* fix: use datetime.timezone.utc for comparisons
* fix: coerce an argument. Command now runs
* chore: extend queryset in a better way
* fix: fetch kesara's repo and move files into place.
* fix: add a DocEvent explaining where the Documents came from
* fix: small optimizations and typo fixes
* fix: performance compromise for very old meetings
* fix: ensure variable is initialized
* fix: avoid operating on null by changing method signature - address review comments
* fix: repair html typo and address pyflake complaint
* chore: run black on a new and changed things
* 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.