* 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
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
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
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
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
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
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
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
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
Fix#2217 - Allow submission of unsolicited reviews by secretaries.
- For team secretaries, a button 'Submit unsolicited review' will now
appear next to 'Request review' on the document's main page.
- If the secretary is a secretary for multiple teams, they are taken
through an intermediate page to select for which team they are
submitting their review.
- The form is similar (and using the same code) as the usual review
completion, with a few extra fields for the review type and reviewer,
which would usually already be known.
- When submitting the review, a ReviewRequest and ReviewAssignment are
automatically created. The assignment is then immediately closed in
the usual way.
- Other workflows are unchanged.
The issues with the review form in #2061 are slightly worse for the
unsolicited review scenario, but that will be improved when #2061 is
fixed.
- Legacy-Id: 16932
Note: SVN reference [16924] has been migrated to Git commit 871a4b653b
Fix#2087 - Show doc authors and WG chairs in unassigned reviews views.
- Legacy-Id: 16931
Note: SVN reference [16923] has been migrated to Git commit 93797b3fc1
- For team secretaries, a button "Submit unsolicited review" will now
appear next to "Request review" on the document's main page.
- If the secretary is a secretary for multiple teams, they are taken
through an intermediate page to select for which team they are
submitting their review.
- The form is similar (and using the same code) as the usual review
completion, with a few extra fields for the review type and reviewer,
which would usually already be known.
- When submitting the review, a ReviewRequest and ReviewAssignment are
automatically created. The assignment is then immediately closed in
the usual way.
- Other workflows are unchanged.
The issues with the review form in #2061 are slightly worse for the
unsolicited review scenario, but that will be improved when #2061 is
fixed.
Commit ready for merge.
- Legacy-Id: 16924
Fix#2277 - Do not allow reviewers to reject overdue reviews.
If a review request is past the deadline, reviewers will no longer be
able to reject the assignment.
- Legacy-Id: 16909
Note: SVN reference [16883] has been migrated to Git commit 3c2b01b3ff
Remove some pre-ReviewAssignment refactor logic, and simplify what remains while still allowing a group secretary to not assign a row on the unassigned requests form after touching the control to assign a reviewer. Fixes#2812.
- Legacy-Id: 16900
Note: SVN reference [16854] has been migrated to Git commit b158807134e2d26b3e013b6414b6fcbaa0e39f77
Populate completed_on when rejecting a ReviewAssignment. Migrate past rejected assignments accordingly. Fixes#2782.
- Legacy-Id: 16841
Note: SVN reference [16770] has been migrated to Git commit 661e4c5369dc0d165bfcb56e3278906fe1de3b55
Fix#2478 - When completing review, show which addresses it is posted to.
- Legacy-Id: 16795
Note: SVN reference [16688] has been migrated to Git commit 68ea11a916
Fix#2354 - Make review_completed configurable per team and review type
This includes a migration to change mailtrigger slugs to be up to 64
characters instead of 32, as some slugs would not fit and require clunky
abbreviations.
A data migration creates triggers for existing teams, and they are also
created on the fly if a trigger does not exist yet, providing a safe
fallback for new review teams. The review_completed mailtrigger serves
as the template for new triggers.
This commit also includes tests for gather_address_lists(), as none
existed.
- Legacy-Id: 16794
Note: SVN reference [16680] has been migrated to Git commit 1390ae073c
Fix#2590 - Allow secretary to adjust date when completing a review.
This also fixes other issues identified in #2590, around the
modification of historical document events. The behaviour is now:
- When the assigned reviewer posts a review, a single event is
created, set to current date/time.
- When the secretary records a review in the datatracker, they may
set a different completion date, which is autofilled if an email
is selected. One event is generated for the original completion
date, and one for the secretary's action.
- Each revision generates a new event, rather than updating previous
existing events.
- Legacy-Id: 16791
Note: SVN reference [16670] has been migrated to Git commit 3942f9acc7
This includes a migration to change mailtrigger slugs to be up to 64
characters instead of 32, as some slugs would not fit and require clunky
abbreviations.
A data migration creates triggers for existing teams, and they are also
created on the fly if a trigger does not exist yet, providing a safe
fallback for new review teams. The review_completed mailtrigger serves
as the template for new triggers.
This commit also includes tests for gather_address_lists(), as none
existed.
Commit ready for merge.
- Legacy-Id: 16680
This also fixes other issues identified in #2590, around the
modification of historical document events. The behaviour is now:
- When the assigned reviewer posts a review, a single event is
created, set to current date/time.
- When the secretary records a review in the datatracker, they may
set a different completion date, which is autofilled if an email
is selected. One event is generated for the original completion
date, and one for the secretary's action.
- Each revision generates a new event, rather than updating previous
existing events.
- Legacy-Id: 16670