Commit graph

430 commits

Author SHA1 Message Date
Jennifer Richards 608b8e16a4
feat: only offer IAB/IESG members for bofreq responsible leadership (#4276)
* 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
2022-07-26 11:23:00 -05:00
Robert Sparks b988850985
fix: avoid mutables as defaults. Compute date default arguments at runtime rather than loadtime. (#4144) 2022-07-06 14:39:36 -05:00
Robert Sparks eda494a299
fix: adjust migration leaves (#4109) 2022-06-21 16:04:17 -05:00
Robert Sparks 8b90ecd4aa
feat: add pronouns to Person and oidc claims. Fixes #4043. (#4059)
* 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
2022-06-21 15:02:02 -05:00
Robert Sparks 07bfa68a75
feat: explicitly model session attendance (#4025)
* 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.
2022-06-20 10:46:36 -05:00
Robert Sparks 249db17ae7
chore: keep the database in sync with django-simple-history (#3967) 2022-05-14 08:12:35 -05:00
Robert Sparks 86923dfe96
chore: update dependency requirements (#3904)
* chore: cleanup requirements.txt. Unpin factory-boy, ignoring resulting mypy complaints.

* chore: remove the upper limit as many dependencies as possible

* chore: remove unintended bookmark

* chore: normalize spaces before comments

* chore: improve comment explaining pinned Tastypie

* chore: shift dependencies minimum version requirements forward
2022-04-28 11:06:17 -05:00
Jennifer Richards 43952a8c69
fix: do not prematurely dereference status change RelatedDocuments (#3835)
* 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
2022-04-19 07:04:38 -05:00
Jennifer Richards b8912a4eff
fix: treat str input as None in the person_link tag (#3832) 2022-04-15 15:49:16 -05:00
Lars Eggert ef7d962e63
fix: Remove the person_link nowrap option from the Python code (#3659)
This was missed in #3657.
2022-03-16 11:12:23 -05:00
Jennifer Richards 6c260a5b7e Merge 7.45.1.dev0 into Bootstrap 5 update branch. Made a first pass at reconciling differences.
- Legacy-Id: 19945
2022-02-17 20:09:49 +00:00
Lars Eggert bbf088e18b Hopefully the final check-ins.
- Legacy-Id: 19909
2022-02-08 17:29:15 +00:00
Lars Eggert ed30521e14 Many more HTML fixes.
- Legacy-Id: 19908
2022-02-03 07:49:34 +00:00
Lars Eggert cc723ce449 More fixes.
- Legacy-Id: 19899
2022-01-31 19:17:50 +00:00
Lars Eggert 0bfaa63722 More fixes.
- Legacy-Id: 19855
2022-01-17 15:05:22 +00:00
Lars Eggert a5cbf5307e More fixes
- Legacy-Id: 19835
2022-01-12 11:54:00 +00:00
Lars Eggert 5132661b06 More test fixes
- Legacy-Id: 19803
2022-01-05 11:25:25 +00:00
Robert Sparks c1649f8f0b Change to not serve any personalapikey metadata. Commit ready for merge.
- Legacy-Id: 19787
2021-12-16 19:57:31 +00:00
Lars Eggert c68446ae93 More select2 and test fixes.
- Legacy-Id: 19781
2021-12-14 18:19:12 +00:00
Robert Sparks 17ad466b0e Added missing migration for addition of personal api key endpoint.
- Legacy-Id: 19771
2021-12-10 16:07:18 +00:00
Lars Eggert e9fd78128c Interim commit
- Legacy-Id: 19765
2021-12-09 18:26:53 +00:00
Lars Eggert 9a21fca6c1 More bs5 templates
- Legacy-Id: 19715
2021-11-30 14:42:13 +00:00
Kesara Rathnayake 43513ed2f5 Adds private app authentication API for bibxml. Fixes #3480. Commit ready for merge.
- Legacy-Id: 19711
2021-11-25 04:26:30 +00:00
Jennifer Richards bcd37edfcd Merged from session_purpose_dev
Create dev branch for session purpose work (from revision [19414])
Snapshot of dev work to add session purpose annotation (from revision [19415])
Allow non-WG-like groups to request additional sessions/durations and bypass approval (from revision [19424])
Add 'closed' session purpose, assign purposes for nomcom groups, and update schedule editor to enforce timeslot type and allow blurring sessions by purpose (from revision [19427])
Add management command to set up timeslots/sessions for testing/demoing 'purpose' field (from revision [19430])
Update session purposes and group type -> purpose map to match notes page, change 'session' purpose to 'regular' (from revision [19433])
Redirect edit_schedule urls to edit_meeting_schedule view (from revision [19434])
Allow hiding/blurring sessions and timeslots based on TimeSlotType in the schedule editor (from revision [19438])
Disable session purpose/timeslot type hiding on schedule editor when only 0 or 1 options (from revision [19439])
Improvements to the timeslot and schedule editors (move new toggles to modals, handle overflowing session names, fix timeslot editor scrolling, add buttons to quickly create single timeslot, accept trailing slash on edit URL) (from revision [19449])
Update purpose/types after discussions, add on_agenda Session field, prevent session requests for groups with no allowed purpose, handle addition fields in session request, fix editing session requests, add session edit form/access from schedule editor, eliminate TimeSlotTypeName "private" field, add server-side timeslot type filtering to schedule editor (from revision [19549])
Eliminate the officehours timeslot type, update/renumber migrations, mark offagenda/reserved TimeSlotTypeNames as not used, add a 'none' SessionPurposeName and disallow null, update agenda filter keywords/filter helpers, fix broken tests and general debugging (from revision [19550])
Tear out old meeting schedule editor and related code (from revision [19551])
Fix merge errors in preceding commits (from revision [19556])
 - Legacy-Id: 19570
Note: SVN reference [19415] has been migrated to Git commit 1054f90873

Note: SVN reference [19424] has been migrated to Git commit 5318081608

Note: SVN reference [19427] has been migrated to Git commit 173e438aee

Note: SVN reference [19430] has been migrated to Git commit 7a2530a0a6

Note: SVN reference [19433] has been migrated to Git commit 3be50d6e39

Note: SVN reference [19434] has been migrated to Git commit 3e3d681e5f

Note: SVN reference [19438] has been migrated to Git commit b6ac3d4b1d

Note: SVN reference [19439] has been migrated to Git commit 446ac7a47e

Note: SVN reference [19449] has been migrated to Git commit 5cbe402036

Note: SVN reference [19549] has been migrated to Git commit 3dfce7b850

Note: SVN reference [19550] has been migrated to Git commit 7b35c09c40

Note: SVN reference [19551] has been migrated to Git commit d7f20342b6

Note: SVN reference [19556] has been migrated to Git commit 2b1864f5a0
2021-11-09 01:35:25 +00:00
Jennifer Richards d7f20342b6 Tear out old meeting schedule editor and related code
- Legacy-Id: 19551
2021-11-04 17:07:22 +00:00
Robert Sparks 41ddb37e01 Adjust dots claim based on 112 Plenary feedback
- Legacy-Id: 19544
2021-11-03 18:28:47 +00:00
Robert Sparks d74c7a8a5a Align code, tests, and url templates around the person ajax json views. Fix a dangling pyflake nit. Commit ready for merge.
- Legacy-Id: 19453
2021-10-25 15:29:10 +00:00
Robert Sparks 6351ce86c2 Provide a dots oidc claim for online badges. Commit ready for merge.
- Legacy-Id: 19437
2021-10-18 21:39:00 +00:00
Kesara Rathnayake 90297bc2ab Fixes API authentication issue. Commit ready for merge.
- Legacy-Id: 19393
2021-10-01 04:43:54 +00:00
Kesara Rathnayake 02b8559512 Adds ability to hanndle garbage API keys. Fixes #3412. Commit ready for merge.
- Legacy-Id: 19382
2021-09-22 06:40:49 +00:00
Robert Sparks afe5963826 Add missing migration
- Legacy-Id: 19373
2021-09-20 16:26:25 +00:00
Kesara Rathnayake dc833aa85c Implements /api/appauth/authortools API endpoint. Fixes #3396. Commit ready for merge.
- Legacy-Id: 19344
2021-09-06 11:42:16 +00:00
Robert Sparks b99eecc1ae Bring the factory-boy and Faker dependencies forward through some minor breaking changes. Stop using the deprecated fr_QC locale in Faker. Commit ready for merge.
- Legacy-Id: 19270
2021-08-03 22:22:35 +00:00
Robert Sparks c0ab02c489 Don't provide links to person pages that we know will 404. Commit ready for merge.
- Legacy-Id: 19193
2021-07-02 21:43:50 +00:00
Robert Sparks a3305e1bd5 Additional tweak to oidc profile photo url generation. Commit ready for merge.
- Legacy-Id: 19177
2021-07-01 16:31:15 +00:00
Robert Sparks c906a8e654 Use a cdn for the oidc profile photo url. Commit ready for merge.
- Legacy-Id: 19176
2021-07-01 15:56:53 +00:00
Ryan Cross 92f2d02207 Fix /api/v2/person/person to work with Robot apikey. Commit ready for merge.
- Legacy-Id: 19101
2021-06-09 18:13:17 +00:00
Robert Sparks 80798f8dfa Avoid duplicate choices for person api endpoints.
- Legacy-Id: 19082
2021-06-04 21:45:16 +00:00
Robert Sparks 6e14727e09 Tweaked results of r19059 to allow for a better transition post release.
- Legacy-Id: 19060
2021-06-02 17:39:52 +00:00
Ryan Cross b7502ed96c Change PERSON_API_KEY_VALUE for mail archive lookups
Change /api/v2/person/person to ROBOT to prepare for 
switching from personal api key to robot, mail-archive
api key. Once in place, generate new key for this 
endpoint and install.
 - Legacy-Id: 19035
2021-05-25 23:27:29 +00:00
Robert Sparks 48fef02aab revert unintended commit of person/factories.py
- Legacy-Id: 19012
2021-05-20 17:38:31 +00:00
Robert Sparks 7cbaad721a Move adjustments to PHOTO_DIR forward from settings_sqlitetest to settings_releastetest
- Legacy-Id: 19011
2021-05-20 17:37:08 +00:00
Jennifer Richards 6cf9eb8dd1 Allow secretariat to edit document author list. Fixes #3185. Commit ready for merge.
- Legacy-Id: 18989
2021-05-11 18:40:28 +00:00
Robert Sparks fe82f4d696 connect the new calculations to the UI. Clean flakes.
- Legacy-Id: 18974
2021-05-06 19:00:58 +00:00
Robert Sparks fc182c176b Merged in [18941] from jennifer@painless-security.com:
Add purge_old_personal_api_key_events management command. Fixes #3144.
 - Legacy-Id: 18950
Note: SVN reference [18941] has been migrated to Git commit 475fb37c29
2021-04-13 18:12:53 +00:00
Robert Sparks 6d7a0b6d0f Merged in [18939] from jennifer@painless-security.com:
Consolidate repeated searchable field code into SearchableField class. Fix single-valued searchable fields. Make javascript test config reusable. Use Django Form.media for JS/CSS inclusion. Fixes #3196, #3204.
 - Legacy-Id: 18948
Note: SVN reference [18939] has been migrated to Git commit 17d37723f7
2021-04-12 22:07:03 +00:00
Jennifer Richards 475fb37c29 Add purge_old_personal_api_key_events management command. Fixes #3144. Commit ready for merge.
- Legacy-Id: 18941
2021-04-09 18:40:28 +00:00
Jennifer Richards 17d37723f7 Consolidate repeated searchable field code into SearchableField class. Fix single-valued searchable fields. Make javascript test config reusable. Use Django Form.media for JS/CSS inclusion. Fixes #3196, #3204. Commit ready for merge.
- Legacy-Id: 18939
2021-04-09 15:18:11 +00:00
Ryan Cross 8da4caf30f Fix test for handle_reviewer_settings. Commit ready for merge
- Legacy-Id: 18878
2021-03-02 22:27:57 +00:00
Ryan Cross aca3b41445 Add special handling for ReviewerSettings to merge person feature. Fixes #3183. Commit ready for merge
- Legacy-Id: 18860
2021-02-23 21:03:16 +00:00
Jennifer Richards e11583a87f Allow assignment of Person as "action holder" for a Doc, plus rudimentary automation of assignment. Fixes #3146. Commit ready for merge.
- Legacy-Id: 18829
2021-02-12 20:31:00 +00:00
Robert Sparks 3697180cc1 Reverted merge of timezone-aware migration efforts.
- Legacy-Id: 18792
2021-01-12 16:54:20 +00:00
Henrik Levkowetz 774e752a54 Snapshot of timezone-aware datatracker code. Tests pass, and the test-crawler shows only expected differences. Trunk changes merged in up to r18768.
- Legacy-Id: 18770
2020-12-16 23:53:37 +00:00
Henrik Levkowetz a284bcefee Added 'De' as a surname particle, in addition to 'de' (for author Luca De Cicco). Commit ready to merge.
- Legacy-Id: 18765
2020-12-15 14:24:41 +00:00
Henrik Levkowetz 23a81923aa Added exception catching to the photo endpoint, for cases where conversion fails (we just had one case of RGBA to JPEG didn't work).
- Legacy-Id: 18697
2020-11-16 07:55:18 +00:00
Henrik Levkowetz 088033d843 Added matching indexes to a number of models with ordering by multiple keys.
- Legacy-Id: 18664
2020-11-09 19:41:12 +00:00
Henrik Levkowetz c0d924cfdc Modified the name and help text of the Person.plain field, to make the intended use clearer (to avoid cases of incorrect usage seen recently).
- Legacy-Id: 18649
2020-10-28 16:30:30 +00:00
Henrik Levkowetz 72c7018073 Disabled mail sending for management command check_person_names_and_aliases, to avoid duplicate person email notifications.
- Legacy-Id: 18634
2020-10-24 15:12:59 +00:00
Henrik Levkowetz 0d001481e8 Added better guards against passing empty data to the person profile template.
- Legacy-Id: 18623
2020-10-20 12:35:05 +00:00
Henrik Levkowetz 435d64910f Added a management command: 'check_person_names_and_aliases'.
When we started explicitly listing draft and RFC author names on the documemnt
pages in commit [18549], it uncovered a number of links that 404'ed because
name alias entries were missing for some person entries, in particular for
authors of early RFCs and drafts.  Adding such alias entries can be done
automatically in most cases.  This new management command will do so, and also
report (and in some cases fix) additional issues, such as names incorrectly
incorporating '<>', name aliases that are email addresses, and more.

Run with -v2 (verbosity 2) it will report all found names and aliases for each
issue type, and run with -f it will fix those that can be automatically fixed.
 - Legacy-Id: 18599
Note: SVN reference [18549] has been migrated to Git commit 2899c2a65d
2020-10-11 15:22:28 +00:00
Henrik Levkowetz 112cb6293e Tweaked plain_ascii() to not return leading or trailing spaces.
- Legacy-Id: 18598
2020-10-11 15:12:05 +00:00
Henrik Levkowetz d6efe1fcb5 Fixed a bug in the name_parts() function when dealing with names listing uppercased surname first, followed by given name.
- Legacy-Id: 18596
2020-10-11 15:07:37 +00:00
Henrik Levkowetz 07be1f8516 Added a view to retrieve profile photos, in order to support Meetecho's need for such, at /person/{email}/photo. The default is to supply images with 80px width. Image scaling is available using the same query argument as Gravatar: ?size=200 or ?s=200 for 200-pixel wide images.
- Legacy-Id: 18483
2020-09-10 21:41:01 +00:00
Henrik Levkowetz 6e0426d0ef Added a migration corresponding to the new /api/notify/meeting/bluesheet endpoint selection for personal API keys.
- Legacy-Id: 18345
2020-08-07 14:53:32 +00:00
Henrik Levkowetz 57938b039d Converted many cases of plain-text 403 messages to use a properly styled page instead, with a login link when appropriate. Also changed some API endpoint 400 responses to a more correct 403.
- Legacy-Id: 18339
2020-08-06 10:59:52 +00:00
Henrik Levkowetz 606cedd796 Merged in the ExtResource work from rjsparks@nostrum.com, based on a feature request and contributions from rsalz@akamai.com. This provides external resource models for Person, Group, and Document models, as a generalisation of the previous related-URL concept. This provides a consistent labelling and classification of URLs and other resources related to a Group, Document, or Person. The GroupURL (and similar) classes will be removed in a later step. Some DocumentURL instances (such as auth48 URLs) remain to convert, as they have come in with other merged-in work while the ExtResource work was in transit.
- Legacy-Id: 18192
2020-07-20 01:58:26 +00:00
Henrik Levkowetz 0435ee732c Added a missing migration
- Legacy-Id: 18191
2020-07-20 00:02:12 +00:00
Henrik Levkowetz d8b11c4293 Removed an unused and unnecessary API endpoint, now that gather.town has gotten OpenID Connect authentication working.
- Legacy-Id: 18190
2020-07-17 19:33:15 +00:00
Henrik Levkowetz 16bb1227bd Added the 'plain' field to the Person admin.
- Legacy-Id: 18178
2020-07-15 15:06:36 +00:00
Henrik Levkowetz bfccc6cf2f Tweaked a migration.
- Legacy-Id: 18149
2020-07-11 20:29:23 +00:00
Henrik Levkowetz 0dbb061be8 Added a migration for the Person model change.
- Legacy-Id: 18148
2020-07-11 20:26:51 +00:00
Henrik Levkowetz c6cdbf8ca8 Added a new field Person.plain as a fallback for names where plain_name() produces the wrong result. Fixes issue #3020.
- Legacy-Id: 18147
2020-07-11 20:22:23 +00:00
Robert Sparks 53f7bc3ce6 migrated forward
- Legacy-Id: 18144
2020-07-09 21:07:05 +00:00
Henrik Levkowetz 06fa5e517a Adjusted the code to the changed signature of admin.utils.get_deleted_objects()
- Legacy-Id: 18053
2020-06-24 20:39:27 +00:00
Henrik Levkowetz dc7581fef4 Changed NullBoleanField() to BooleanField(null=True), according to the 2.1 upgrade recommendations.
- Legacy-Id: 18051
2020-06-24 20:33:57 +00:00
Robert Sparks bf53bf1057 Merged forward. Added some missing parts to the XMPPURLValidator.
- Legacy-Id: 18050
2020-06-24 19:01:45 +00:00
Henrik Levkowetz 0f17e03121 Merged in [18020] from rjsparks@nostrum.com:
Construct Faker objects used for person name generation only once. Results in a roughly 20% speedup of the test-suite.
 - Legacy-Id: 18023
Note: SVN reference [18020] has been migrated to Git commit c60cc1b1a0
2020-06-22 12:58:44 +00:00
Robert Sparks c60cc1b1a0 Construct Faker objects used for person name generation only once. Results in a roughly 20% speedup of the test-suite. Commit ready for merge.
- Legacy-Id: 18020
2020-06-19 19:54:50 +00:00
Henrik Levkowetz ec5d159b4f Added a new API endpoint to be used by the registration system, to trigger account creation.
- Legacy-Id: 17941
2020-06-08 19:51:10 +00:00
Henrik Levkowetz 228f00287b Added migrations for model changes
- Legacy-Id: 17938
2020-06-08 19:28:15 +00:00
Robert Sparks 8a0578040e Added better self-descriptive __str__ functions to PersonExtResource, GroupExtResource, and DocExtResource
- Legacy-Id: 17871
2020-05-21 20:59:44 +00:00
Robert Sparks 02e1226a03 Added appropriate Admin classes
- Legacy-Id: 17870
2020-05-21 20:48:03 +00:00
Robert Sparks 38ba0f401d merged forward
- Legacy-Id: 17868
2020-05-21 18:30:48 +00:00
Robert Sparks 785f6243f1 explicit resource names for classes with the word resource in their name
- Legacy-Id: 17857
2020-05-20 18:28:05 +00:00
Robert Sparks 7e57be2bd3 merged forward ^/personal/rjs/explore-extref
- Legacy-Id: 17840
2020-05-19 18:47:47 +00:00
Henrik Levkowetz 154876a12a Merged in ^/trunk@17782 (just ahead of release 6.130.0)
- Legacy-Id: 17783
2020-05-12 15:54:46 +00:00
Henrik Levkowetz 26e85ce53b Added a catch for malformed apikey input.
- Legacy-Id: 17769
2020-05-10 14:16:22 +00:00
Henrik Levkowetz 6d7c5b52ee Django 2.0 conversion. Test suite passes, except for javascript tests.
- Legacy-Id: 17762
2020-05-08 13:07:07 +00:00
Robert Sparks 2de9eb93b5 Added validation to the migrations. Added external resources to the draft display page. Built an editor for DocExternalResources.
- Legacy-Id: 17683
2020-04-24 16:14:43 +00:00
Henrik Levkowetz 9aeda11a29 Removed some Py2 compatibility decorators.
- Legacy-Id: 17673
2020-04-21 13:54:31 +00:00
Robert Sparks 672f9bce26 Added display-name. Refined migrations.
- Legacy-Id: 17646
2020-04-15 19:54:29 +00:00
Henrik Levkowetz cefd3506f4 Migration for updated list of personal API endpoints.
- Legacy-Id: 17644
2020-04-15 18:35:25 +00:00
Henrik Levkowetz 69a5d0817d Refined the GUI for personal API endpoints so that endpoints for which one does not have the right Roles do not show in the GUI, and added a supporting method on Person objects. Updated tests accordingly.
- Legacy-Id: 17643
2020-04-15 17:22:06 +00:00
Henrik Levkowetz 2d1685868d Added the meetecho access api key to the list of personal API keys available through the Personal API GUI, and removed a secretariat-only key from the list.
- Legacy-Id: 17633
2020-04-15 12:04:39 +00:00
Henrik Levkowetz f10ddadc0e Merged in changes from trunk up to r17584.
- Legacy-Id: 17593
2020-04-07 16:02:52 +00:00
Henrik Levkowetz 7084e6e662 Merged in [17557] from fenton@bluepopcorn.net:
Provide more consistent links to people pages. Fixes #2918.
 - Legacy-Id: 17561
Note: SVN reference [17557] has been migrated to Git commit b9c5152714
2020-03-30 20:07:25 +00:00
Robert Sparks c055d37dcb Removed extref app. Refined population migrations.
- Legacy-Id: 17509
2020-03-22 19:27:28 +00:00
Robert Sparks 316dd183d9 first run at external resources
- Legacy-Id: 17470
2020-03-19 23:32:24 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz ab173cb2eb Removed further six usage: six.string_types, six.integer_types, six.moves.urllib instances.
- Legacy-Id: 17390
2020-03-05 20:46:58 +00:00