Commit graph

157 commits

Author SHA1 Message Date
Jennifer Richards 08e953995a
feat: better reject null characters in forms (#7472)
* feat: subclass ModelMultipleChoiceField to reject nuls

* refactor: Use custom ModelMultipleChoiceField

* fix: handle value=None
2024-05-28 10:34:55 -05:00
Robert Sparks cedd58f950
feat: obviate ghostlinkd (#7336)
* wip: identify whats needed to obviate ghostlinkd

* fix: hardlink new charter files to ftp directory

* fix: hardlink new charter files to ftp directory (continued)

* chore: bring settings comment up to date

* chore: add archive and ftp dirs to setup of various environments

* fix: test charter submits write to ftp dir

* chore: remove debug

* fix: test charter approval writes to ftp dir

* fix: link review revisions into ftp dir

* fix: link to all archive and ftp on submission post

* chore: clean comments, move action to github issue

* fix: link idindex files to all archive and ftp

* chore: deflake

* chore: remove TODO comment

* fix: use settings

* chore: rename new setting
2024-04-19 16:18:52 -05:00
Tero Kivinen 79416cfa0a
fix: Add history line when changing the review deadline. (fixes #6598) (#7194)
* Add history line when changing the review deadline.

* chore: reduce redundancy

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-03-20 19:05:25 -05:00
Robert Sparks b89c44f443
chore: merge main and fix new views 2023-11-16 15:58:22 -06:00
Tero Kivinen 53d0014826
feat: add "add comment" feature to the review requests. (#6603) 2023-11-05 09:29:25 +01:00
Robert Sparks ab931f0510
chore: merge main into feat/rfc 2023-10-12 15:11:02 -05:00
Paul Selkirk c718fedb6c
feat: Allow review rejections to be undone (#6312)
* feat: Allow reviewer to accept a review they're previously rejected

* feat: Add a reviewer who has previously rejected a review to the list of suggested reviewers.

This largely un-does d105f8b, at the request of at least one team secretary.

* fix: Went a little overboard on the previous commit

one_assignment still has to exclude reviewers who rejected the assignment,
or they could end up being the suggested reviewer.

* fix: Actually do the assignment

* fix: If there's an existing assignment, don't create a new one

* style: Restructure conditional for clarity

* test: Add test cases for accepting or assigning a review assignment after rejecting it
2023-09-27 08:57:34 -05:00
Robert Sparks 621528ad03
ci: Merge branch 'main' into feat/rfc 2023-09-15 11:48:44 -05:00
Tero Kivinen a3fb6a49a3
fix: add review team setting allowing reviewers to reject assignments past the deadline (#5418)
* Added a new review team setting
allow_reviewer_to_reject_after_deadline that will allow rejecting
review requests, even after the deadline is past. Also modified that
the secretary, or whoever manages the reviews is always allowed to
reject the review regardless of the deadline as he/she could change
the deadline anyways.

* Fixed but in view_reviews (wrong variable name), added more test
cases to the test_reviews.py for different reject cases.

* test: More thoroughly exercise assignment rejection

* chore: Renumber migration

* test: Unrelated user cannot reject assignments

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2023-09-14 11:48:28 -05:00
Robert Sparks 4946430159
chore: checkpoint: halfway through removing docalias 2023-08-15 09:11:53 -05:00
Jennifer Richards 48d4072eeb
Merge branch 'feat/rfc' into main-merge
# Conflicts:
#	ietf/doc/factories.py
#	ietf/doc/tests_status_change.py
#	ietf/name/fixtures/names.json
#	ietf/templates/doc/document_info.html
2023-08-03 18:34:06 -03:00
Tero Kivinen 14b4f82239
fix: review refactoring issue
fixes #5447
2023-07-23 09:58:01 -07:00
Robert Sparks 2c6fe0383c
fix: adjust gating of review requests 2023-07-07 17:31:24 -05:00
Jennifer Richards 79b749fcdf
style: Restyle method using Black 2023-05-12 18:36:05 -03:00
Jennifer Richards 21004864b0
refactor: Replace deprecated is_safe_url with new name 2023-05-12 18:35:12 -03:00
Jennifer Richards 075aed7e9a
refactor: Replace deprecated request.is_ajax() 2023-05-12 18:26:56 -03:00
Tero Kivinen d5bae45799
fix: Do not add user to the top of queue after reject (fixes #4505) (#5427)
* fix: Do not add user to the top of queue after reject (fixes #4505)
Added a checkbox in the reject review dialog to ask whether user
wants to be added to the top of the queue or not. Default is off.

* Do not change request_assignment_next if wants_to_be_next is not True.
Set the request_assignment_next also in LeastRecentlyUsedReviewerQueuePolicy
so it can be used to override the assignment policy rules (i.e., if
someone has once per month, but he rejects review with wants_to_be_next set
to true, he will get new assignment immediately, not after one month).

* Added wants_to_be_next to test cases too.

* Fixed test function prototypes, they can't have any parameters, only
self. Added test cases for test_return_reviewer_to_rotation_top both
for RotateAlphabeticallyReviewerQueuePolicyTest and
LeastRecentlyUsedReviewerQueuePolicyTest.
2023-03-30 08:34:08 +09:00
Jennifer Richards 3d47a9069c
fix: eliminate race condition when creating a review Document (#4876) 2022-12-13 14:45:42 -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 56505147e0
fix: handle timezones in a bunch of places 2022-09-23 16:11:49 -03: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 ebebdbed3e
refactor: replace datetime.now and datetime.today with timezone.now (#4211)
* 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
2022-08-25 13:45:16 -03: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
Jennifer Richards 6f3fb6930f Add timeouts to requests library calls. Fixes #3498. Commit ready for merge.
- Legacy-Id: 19839
2022-01-13 15:06:28 +00:00
Lars Eggert a5cbf5307e More fixes
- Legacy-Id: 19835
2022-01-12 11:54:00 +00:00
Lars Eggert 81805e8d04 bg-default -> bg-secondary
- Legacy-Id: 19627
2021-11-10 20:08:57 +00:00
Lars Eggert bb5810a934 Labels are badges in bs5.
- Legacy-Id: 19616
2021-11-10 11:15:46 +00:00
Jim Fenton 6ec7347f8d Added IESG document state to review request information. Fixes #3235. Commit ready for merge.
- Legacy-Id: 19081
2021-06-04 21:00:58 +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
Robert Sparks c8361aba80 Repair warning call for duplicate review submission. Improve testing. Additional fix for #3092. Commit ready for merge.
- Legacy-Id: 18627
2020-10-22 21:04:37 +00:00
Henrik Levkowetz 29d1a0b362 Merged in [18533] from rjsparks@nostrum.com:
Replaced review name collision resolution code with a decision to not save when it occurs. Fixes #3092.
 - Legacy-Id: 18559
Note: SVN reference [18533] has been migrated to Git commit 0ff5172a89d5a7ad48cb1fd03b1c8926e26e50f9
2020-10-04 13:36:44 +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 f10ddadc0e Merged in changes from trunk up to r17584.
- Legacy-Id: 17593
2020-04-07 16:02:52 +00:00
Henrik Levkowetz 87bf4e8d58 Make sure to strip possible mail header field values of whitespace before applying email.utils.unquite(). Resolution by kivinen@iki.fi, Fixes issue #2899.
- Legacy-Id: 17485
2020-03-21 17:34:37 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz bea0c59d6e Fixed a string vs list issue for Message from form case.
- Legacy-Id: 17338
2020-02-26 17:01:00 +00:00
Henrik Levkowetz fcb6806d17 Merged in work from sasha@dashcare.nl on Review Queue Managemnt:
This abstracts queue management, making it possible to implement different
policies for each team. It provides two concrete policies:
RotateAlphabeticallyReviewerQueuePolicy, which rotates an alphabetically
ordered reviewer list with consideration for skip indications, and is the
default policy; and LeastRecentlyUsedReviewerQueuePolicy, a simple
least-recently-used policy.  Also see issues #2721 and #2656.
 - Legacy-Id: 17121
2019-12-04 23:02:52 +00:00
Henrik Levkowetz 2bc5606986 Merged in [17070] from sasha@dashcare.nl:
Fix #2061 - Improve 'complete review' workflow for secretaries.
When a secretary completes a review, 'link to a review message'
is automatically selected, and the first non-reply mail is used to
fill in the review details. The secretary can still modify all details.
The order of fields for secretaries is also modified to fit this workflow.
All cases where 'link to review message' is used, by reviewers or
secretaries, now attempt to fill in the 'reviewed version' if found
in the email subject.
 - Legacy-Id: 17105
Note: SVN reference [17070] has been migrated to Git commit dc9546211f
2019-11-26 20:22:56 +00:00
Henrik Levkowetz 7ec09554bb Merged in [17069] from sasha@dashcare.nl:
Fix #2074, fix #2358 - Add history for assignments, requests and unavailability.
 - Legacy-Id: 17104
Note: SVN reference [17069] has been migrated to Git commit 65d84155b6
2019-11-26 16:09:43 +00:00
Sasha Romijn 10a7bee637 Merge reviewer-queue-management on top of 6.111.1.dev0
- Legacy-Id: 17094
2019-11-22 12:35:28 +00:00
Sasha Romijn dc9546211f Fix #2061 - Improve "complete review" workflow for secretaries.
When a secretary completes a review, "link to a review message"
is automatically selected, and the first non-reply mail is used to
fill in the review details. The secretary can still modify all details.
The order of fields for secretaries is also modified to fit this workflow.

All cases where "link to review message" is used, by reviewers or
secretaries, now attempt to fill in the "reviewed version" if found
in the email subject.

Commit ready for merge.
 - Legacy-Id: 17070
2019-11-20 14:25:05 +00:00
Sasha Romijn 65d84155b6 Fix #2074, fix #2358 - Add history for assignments, requests and unavailability.
Commit ready for merge.
 - Legacy-Id: 17069
2019-11-20 11:29:14 +00:00
Sasha Romijn 0c0980c641 Fix #2420 - Add reviewer back to top of the queue after rejected/withdrawn reviews.
- Legacy-Id: 17058
2019-11-19 10:57:56 +00:00
Henrik Levkowetz 20eb9d8ac1 Merged in [16939] from sasha@dashcare.nl:
Fix #2050 - Allow adding review wishes from document and search pages.
On the main page of a document and in document search results, a new
button allows review team members to add a review wish for that document.

For reviewers that are only on one team, this essentially works
identical to tracking a document. Reviewers that are on multiple teams
are lead through an intermediate step to select a review team, and then
returned to their search or document page.
 - Legacy-Id: 16985
Note: SVN reference [16939] has been migrated to Git commit 6e55f26dbd
2019-11-11 14:22:54 +00:00
Sasha Romijn b5a31c3c6a Update some terminology and docstrings.
- Legacy-Id: 16983
2019-11-11 12:31:16 +00:00
Henrik Levkowetz c565dca35b Fixed some .format() calls.
- Legacy-Id: 16967
2019-11-05 22:38:54 +00:00
Sasha Romijn eab14ea1c5 Early work to extract reviewer policy from review/utils.py.
- Legacy-Id: 16950
2019-10-31 15:01:14 +00:00
Henrik Levkowetz 0f12d477ad Merged in [16927] from sasha@dashcare.nl:
Refs #2217 - Small cleanup from changeset [16924]
 - Legacy-Id: 16947
Note: SVN reference [16924] has been migrated to Git commit 871a4b653b

Note: SVN reference [16927] has been migrated to Git commit 730e64d253
2019-10-30 17:02:01 +00:00
Sasha Romijn 6e55f26dbd Fix #2050 - Allow adding review wishes from document and search pages.
On the main page of a document and in document search results, a new
button allows review team members to add a review wish for that document.

For reviewers that are only on one team, this essentially works
identical to tracking a document. Reviewers that are on multiple teams
are lead through an intermediate step to select a review team, and then
returned to their search or document page.

Commit ready for merge.
 - Legacy-Id: 16939
2019-10-29 16:27:56 +00:00