Commit graph

107 commits

Author SHA1 Message Date
Ryan Cross 2974e81624
fix: build proceedings attendee list from MeetingRegistration table. … (#6567)
* fix: build proceedings attendee list from MeetingRegistration table. Fixes #6265

* fix: move participants_for_meeting to meeting.utils

* fix: move test_participants_for_meeting to meeting tests
2023-11-07 13:09:19 +01:00
Robert Sparks 40dc24e44b
chore: tweak comments 2023-09-29 07:52:32 -05:00
Paul Selkirk cbd49a737f fix: Disqualify the nomcom chair from volunteering for the nomcom 2023-09-28 14:55:06 -04:00
Paul Selkirk 2ca4f7beaf
fix: Improve validation for form that accepts pasted email feedback (#5761)
* 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
2023-06-08 13:56:24 -05:00
Jennifer Richards 1922a6066e
Merge pull request #5700 from ietf-tools/main
chore: main -> django4
2023-05-31 10:59:09 -03:00
Robert Sparks 66f1ba3088
fix: reflect publication of rfc9389 (#5685) 2023-05-25 08:28:13 -05:00
Jennifer Richards 5f0e1a524b
chore: Display errors if nomcom private key encoding fails 2023-05-23 11:30:14 -03:00
Jennifer Richards 36fe6a0206
fix: Store nomcom private key in session as str
bytes are incompatible with JSONSerializer
2023-05-19 14:57:27 -03:00
Rich Salz e1283cec6d
fix: Make "nomcom paths" field CSV-friendly (#4892) (#5401)
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>
2023-03-26 14:19:49 +09:00
Robert Sparks c38ade6e1b
feat: treat django auth username as case insensitive throughout the datatracker (#5165)
* 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
2023-02-21 10:01:03 -06:00
Robert Sparks eb4b523e66
chore: merge main (#4714) 2022-11-06 12:36:14 -06:00
Jennifer Richards 3220bf3c40
chore: replace last few datetime.date.today() calls with date_today() 2022-10-18 12:45:47 -03:00
Jennifer Richards dfe1147e7c
chore: switch a few datetime_today() calls to date_today() 2022-10-18 12:25:25 -03:00
Jennifer Richards da70acfdff
Merge branch 'feat/tzaware' into jennifer/yet-more-tz-fixes
# Conflicts:
#	ietf/ietfauth/utils.py
#	ietf/meeting/tests_views.py
#	ietf/stats/tests.py
2022-10-17 16:39:45 -03:00
Jennifer Richards 7b1b7f5273
Merge branch 'feat/tzaware' into dev/tzaware-main-merge 2022-10-11 14:57:34 -03:00
Robert Sparks 97d21800d0
feat: include checkins at the registration desk in nomcom eligibility calculations (#4519)
* chore: rename utility functions to reflect rfc guiding them

* feat: include new checkedin flag in nomcom calculations

* fix: reflect history a bit more accurately.

* fix: address review comment on readability

* fix: finish what c44000d started
2022-10-07 16:17:28 -05:00
Robert Sparks 9b896e5869
fix: avoid emptying nomcom session key when openssl complains about derivation (#4524) 2022-09-30 08:05:01 -05:00
Jennifer Richards a653582cf7
fix: timezone fixes from last few comparisons with tzaware-obe 2022-09-28 13:21:50 -03:00
Jennifer Richards ca1320f303
chore: merge main into feat/tzaware
chore: merge main into feat/tzaware
2022-09-22 12:21:38 -03:00
Robert Sparks 5c8545eecb
feat: use hmac, sha256, and a better secret for published nomcom hashes. (#4475)
* feat: use hmac, sha256, and a better secret for published nomcom hashes.

* fix: avoid using django secret key for a different secret context

* fix: Only strip the newline

* fix: improve readability by using rstrip
2022-09-20 12:09:11 -05:00
Jennifer Richards 32054111df
fix: fix failing tests and eliminate naive datetime warnings (#4402)
* test: fix timestamp construction in several doc tests

* refactor: rename date2datetime to datetime_from_date and clarify code

* chore: helper to get tzinfo for PRODUCTION_TIMEZONE

* fix: fix timezone handling in make_last_call()

* test: fix datetime generation in doc.tests_charter

* refactor: remove PRODUCTION_TIMEZONE setting

Replaces the PRODUCTION_TIMEZONE setting with a constant,
DEADLINE_TZINFO, in ietf.utils.timezone.

* test: be more careful about timezone in tests_charter.py

* test: be more careful about timezone in doc/tests.py

* fix: fix timezone handling affecting doc.tests_draft

* fix: fix timezone handling affecting tests_irsg_ballot.py

* fix: fix timezone handling affecting tests_review.py

* fix: fix timezone handling affecting last ietf.doc tests

* fix: fix timezone handling affecting last ietf.group tests

* fix: fix timezone handling affecting ietf.iesg tests

* fix: handle timezones in get_8989_eligibility_querysets

* fix: handle timezones affecting ietfauth tests

* fix: return tz-aware datetime from utc_from_string

* fix: specify timezone for constants in ipr_rfc_number()

* fix: specify tz for ipr deadlines

* fix: handle timezones affecting liaisons tests

* fix: treat leap day in get_8989_eligibility_querysets()

Manual cherry-pick of 248d6474

* test: treat leap day properly in nomcom tests

* fix: fix timezone handling affecting nomcom tests

* test: fix timezone handling in review tests

* fix: fix timezone handling affecting secr.meetings tests

* fix: handle both pytz and zoneinfo timezones in ietf.utils.timezone

* fix: fix timezone handling affecting secr.proceedings tests

* refactor: use make_aware() helper in secr.meetings tests

* test: fix timezone handling in secr.telechat tests

* fix: fix timezone handling affecting stats tests

* fix: eliminate tz-naive helpers affecting sync email parsing

* fix: include timezone data when serializing DeletedEvent data

* fix: fix timezone handling affecting sync tests

* style: remove unused import
2022-09-01 13:07:28 -03:00
Jennifer Richards b85ecce89f
fix: treat leap day properly in nomcom eligibility calc (#4393)
* fix: treat leap day in get_8989_eligibility_querysets()

* test: treat leap day properly in nomcom tests
2022-08-31 16:03:38 -05:00
Robert Sparks fe1f51aede
fix: Compute 8989 eligibility using actual attendance data. (#4236) 2022-07-21 12:58:32 -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 087265118d
feat: csv export of nomcom volunteers. Fixes #4127. (#4146) 2022-07-06 14:13:41 -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 181da11a5c Use rfc8989 for 2022 nomcom eligibility. Fixes #3442. Commit ready for merge.
- Legacy-Id: 19621
2021-11-10 14:59:33 +00:00
Robert Sparks 06f6b12b18 Refine volunteer list view. Show rfc8989 paths. Commit ready for merge.
- Legacy-Id: 19139
2021-06-22 20:09:40 +00:00
Robert Sparks 86102b9980 Allow people to volunteer for NomCom via the datatracker. Commit ready for merge.
- Legacy-Id: 19104
2021-06-10 20:35:50 +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 bcc280fe9b tightened edge for group office rule
- Legacy-Id: 18972
2021-05-06 13:51:29 +00:00
Robert Sparks 216ec499df Checkpointing. Remaining work: convert meetingregistation fixup to a migration and a mgmt comment. Flesh out testing of 8989 rule 2 and fix the known edge case bug. Remove old implementation and connect UI to the new implementation.
- Legacy-Id: 18971
2021-05-01 19:57:04 +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 eaf9546d0e Fixed a bug in the charset handling of individual parts in multipart email messages in ietf.nomcom.get_body()
- Legacy-Id: 18615
2020-10-13 10:57:23 +00:00
Henrik Levkowetz f557708ce0 Fixed another py2/py3 issue with the nomcom mail processing script.
- Legacy-Id: 18602
2020-10-12 11:24:15 +00:00
Henrik Levkowetz bc05e7a8d0 Refactored many instances of msg.get_payload(decode=True).decode('utf-8') and similar to get_payload_text(msg), which uses msg.get_charset() to get the actual charset to do the decoding, in a consistent manner. Also removed some instances of force_str, but more remain.
- Legacy-Id: 17807
2020-05-16 20:20:05 +00:00
Robert Sparks d981076432 Refactor disqualifying roles into one place. Commit ready for merge.
- Legacy-Id: 17650
2020-04-15 22:34:44 +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 dc4c05ec5b Changed the object factory instances of nomcom private key and cert to be byte objects (matching the production settings), and fixed the issue with nomcom key handling under Py3 found by fenton@bluepopcorn.net. Did some renaming in nomcom/tests.py to better match setup/teardown function names to functionality.
- Legacy-Id: 17536
2020-03-25 13:36:29 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz 566971a6ae Removed further six usage.
- Legacy-Id: 17386
2020-03-05 15:10:33 +00:00
Henrik Levkowetz a33f9724af Merged in [17201] from rjsparks@nostrum.com:
Make it easier for the nomcom chair to manage generic IESG requirements. Fixes #2794.
 - Legacy-Id: 17216
Note: SVN reference [17201] has been migrated to Git commit c9d944b312
2020-01-10 16:16:31 +00:00
Robert Sparks c9d944b312 Make it easier for the nomcom chair to manage generic IESG requirements. Fixes #2794. Commit ready for merge.
- Legacy-Id: 17201
2020-01-08 19:51:14 +00:00
Henrik Levkowetz bdc73e771a Python2/3 compatibility: replaced six.ensure_text() with either six.text_type or django's force_text(), depending on the case, and fixed a variable scope issue.
- Legacy-Id: 16461
2019-07-16 13:20:05 +00:00
Henrik Levkowetz 8c6eb3a30a Python2/3 compatibility: Changed the use of open() and StringIO to io.open() etc.
- Legacy-Id: 16458
2019-07-15 19:14:04 +00:00
Henrik Levkowetz 1e115539c4 The previous nomcom.fields.EncryptedTextField relied on initial cleartext content having the same type as ciphertext. Under Python3, that's not the case (ciphertext has type bytes). Rewrote the nomcom app and tests to handle capture of comments and encryption to the Feedback.comments ciphertext differently.
- Legacy-Id: 16350
2019-07-01 11:59:59 +00:00
Henrik Levkowetz 36cac48063 Fixed a bunch of str/bytes issues.
- Legacy-Id: 16341
2019-06-30 20:54:09 +00:00
Henrik Levkowetz d7f5c84182 Initial 2to3 patch with added copyright statement updates.
- Legacy-Id: 16309
2019-06-27 14:40:54 +00:00
Henrik Levkowetz 4049b31026 Added normalization of the email addresses returned by ietf.nomcom.utils.parse_email, in order to not treat feedback from the same person as coming from different sources due to email name+address variations.
- Legacy-Id: 15731
2018-11-06 11:47:11 +00:00