* refactor: change references from User to Person (#5821)
* refactor: Change CommunityList reference from User to Person
* refactor: Convert more user references to person
* refactor: Change augment_docs_and_user_with_user_info to person
* refactor: Change Nomination and Feedback references from User to Person
* refactor: Change a few test case function signatures to be more pythonic
* refactor: Harmonize how profile and photo views look up email_or_name
* refactor: Rework community views to operate on Person instead of User (#5859)
* test: Update tests to try all of the person's emails and aliases
* fix: Recode a test case to avoid an exception if there's Unicode in the URL
This only happens using the form-filling and submission feature of
WebTest, which is only used in this one test case, so just it rip out.
* test: Add duplicate-person tests
* fix: If there are multiple matching users, prefer the logged-in one.
* chore: We no longer use WebTest, so don't include it.
* fix: Address review comments
* fix: case-insensitive person name or email matching (#6096)
* chore: Renumber migrations
* fix: Update merged code so tests pass (#6887)
* fix: Use refactored method
* fix: Don't assume user has person
* fix: Use new view param name
* chore: Drop community lists w/o person; cleanup (#6896)
* fix: Don't assume user has person
* fix: user->person in update_community_list_index.py
* feat: Remove CommunityLists without Person
* refactor: Speed up nomcom migrations
---------
Co-authored-by: Paul Selkirk <paul@painless-security.com>
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
* 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: improve when Message objects are created
* test: further improve feedback test
* fix: improve and test another form
* test: Restructure test infrastructure
* 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
* 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
Use a simpler widget for the public key file when editing a nomcom to remove confusion between clearing keys and clearing the form control. Fixes#2299.
- Legacy-Id: 13519
Note: SVN reference [13501] has been migrated to Git commit ca76f5c8f0fbf0832440680381380995b0092ea7
This set of changes focuses on improvements to the nomcom portion of
the datatracker.
These changes:
- Simplify the nomcom form for comments. Make it more obvious who
receives mail when a comment is supplied. Fixes#1849.
- Simplify the nomcom form for nominations. Provide a primary workflow
where nominations choose an existing Person, and a secondary
workflow for nominating new people.
- Allow nominees to add a comment when accepting or declining a
nomination. Fixes#1845.
- Organize the list of nominees on the feedback page. Fixes#1786 and
#1809.
- Simplify the mechanisms used to display feedback message counts.
- Regroup the feedback view to make it easier to see where to spend
review effort. Fixes#1866.
- Capture when nomcom members last reviewed feedback for a given
nominee. Add badges when new feedback is avaliable. Improve the
layout of the feedback index page. Fixes#1850.
- Reorganize the tab navigation on the nomcom private pages. Made it
more obvious when the chair is doing something that only the chair
gets to see. Fixes#1788 and #1795.
- Regroup multiselect options to make classifying pending feedback
simpler. Make the control larger and resizable. Fixes#1495.
- Simplify the chair's views for editing nominee records. Replace the
merge nominee form with a request to the secretariat to merge Person
records. Fixes#1847.
- Added merging nominees to the secretariat's persson merging script.
- Show information for concluded nomcoms. Close feedback and
nomination for concluded nomcoms. Fixes#1856.
- Improve the questionnaire templates, reminding the nominee that
receiving the questionnaire does not imply they have accepted a
nomination. Fixes#1807.
- Remove the description field from Postion. Simplify the Position
list and the Position edit form. Make the nomcom pages more self
documenting. Add a page to help nomcom chiars through setting up a
new nomcom. Fixes#1867 and #1768.
- Remove the type from the template pathname for the requirements
templates. Make the requirements views work for both types plain and
rst. Changed the default type for new nomcom requirement templates
to rst.
- Remove 'incumbent' from the models. Fixes#1771.
- Adjust the models for Nominee and Nomination to better associate
Nominee objects with Person objects.
- Remove BaseNomcomForm and the implementation of custom fieldsets.
- Replace the custom message framework with the django provided
messages framework.
- Improve SearchablePersonField to show the primary email address for
any search result where a name appears more than once.
- Add the use of factory-boy for generating test data. Normalize
management of a test directory for test nomcom public keys.
Significantly improve test coverage of the nomcom related code.
- Legacy-Id: 10703
Note: SVN reference [10629] has been migrated to Git commit c8bbfbad78
Simplified the edit nominee form.
Replaced the merge nominee form with a request to the secretariat to merge Person records. Fixes#1847.
Added merging nominees to the secretariat's person merging script.
Restructured the person merging script to make it testable.
Updated some tests to match changes to the mailtriggers that hadn't made it to the fixtures.
- Legacy-Id: 10625