* 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>
* 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
* feat: insensitive username matching at django authentication
* feat: use iexact when using the User object manager
* fix: more places to ignore username case
* fix: remove unused management command
* fix: avoid get when probing for object existance
* fix: force lowercase new usernames in secr/rolodex
* fix: use explicit arguments when creating user
* feat: enable editorial stream adoption and balloting
* fix: bring tests into line with refactor
* feat: force intended_std_level to Informational when adopting into a non-ietf stream.
* fix: improve blocking position labels and email content
* fix: simplify pointer to group on doc main page for rswg docs
* fix: recover from merge typos
* fix: correct defer and clear ballot behavior
* fix: improve publication request access logic
* fix: clean up broken editorial state
* fix: adjust test to match migrations
* chore: Use codespell to fix typos in code.
Second part of replacement of #4651
@rjsparks, I probably need to revert some things here, and I also
still need to add that new migration - how do I do that?
* Revert migrations
* Migrate "Whitelisted" to "Allowlisted"
* TEST_COVERAGE_MASTER_FILE -> TEST_COVERAGE_MAIN_FILE
* Fix permissions
* Add suggestions from @jennifer-richards
* Handle single-word author names
* Some i18n names, e.g., "शिला के.सी." have a dot at the end that is
also part of the ASCII, e.g., "Shilaa Kesii." That trailing dot breaks
extract_authors(). Avoid this issue by stripping the dot from the
ASCII.
* Honorifics need to be part of the extracted ASCII name (e.g., "Lady Garcia")
* feat: stop supporting pre-tzaware migration database dumps. (#4782)
* feat: stop supporting pre-tzaware migration database dumps.
* chore: remove unnecessary env variable
* chore: Use `codespell` to fix typos in comments. (#4794)
First part of replacement of #4651
* feat: Only show IPR search form when not showing search results (#4793)
* feat: Only show IPR search form when not showing search results
Put it into a collapsible that is only expanded by default when not
showing search results.
Fixes#4569
* Don't use example target name
* fix: Don't show reorder UI fixtures unless user can reorder (#4785)
Fixes#4773
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* chore: Update deps and fix resulting HTML validation issues (#4790)
* ci: add missing build matrix config for test-playwright-legacy step
* Single-letter last names exist (e.g., "Carolina de la O")
* Align regex with others
* Fix extraction of very long author names
* Need to be more general
* Add comment
* Also handle i18n names with trailing semicolons
* Name suffixes need to be part of the extracted author names
* Handle i18n names with embedded commas
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
* Search for escaped name in HTML output
* Need to check for `plain_name()` in sent emails
* Normalize i18n Unicode names in the same way the database does
* 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
* 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>
* 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
* 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
* 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
* 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.
* 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