Commit graph

1321 commits

Author SHA1 Message Date
Sasha Romijn 56003f66d8 Fix #2278 - Notify secretary when a review request is closed.
The assigned reviewer was already notified, but secretaries were always
excluded.

Commit ready for merge.
 - Legacy-Id: 17085
2019-11-21 11:03:21 +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 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
Sasha Romijn 730e64d253 Refs #2217 - Small cleanup from changeset [16924]
Commit ready for merge.
 - Legacy-Id: 16927
Note: SVN reference [16924] has been migrated to Git commit 871a4b653b
2019-10-26 08:04:31 +00:00
Sasha Romijn 871a4b653b 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.

Commit ready for merge.
 - Legacy-Id: 16924
2019-10-24 12:37:59 +00:00
Sasha Romijn 93797b3fc1 Fix #2087 - Show doc authors and WG chairs in unassigned reviews views.
Commit ready for merge.
 - Legacy-Id: 16923
2019-10-24 07:25:47 +00:00
Sasha Romijn 9df5839874 Fix #2123 - Use a DBTemplate when a review assignment is mailed.
The message sent to a reviewer when a new review is assigned to them,
is now taken from a DBTemplate, allowing it to be customised
per team. This includes a migration to create a default template,
which looks the same as before.

Commit ready for merge.
 - Legacy-Id: 16921
2019-10-23 16:06:44 +00:00
Sasha Romijn 3c2b01b3ff 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.

Commit ready for merge.
 - Legacy-Id: 16883
2019-10-21 14:15:08 +00:00
Sasha Romijn 68ea11a916 Fix #2478 - When completing review, show which addresses it is posted to.
Commit ready for merge.
 - Legacy-Id: 16688
2019-09-02 15:52:26 +00:00
Sasha Romijn 1390ae073c 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.

Commit ready for merge.
 - Legacy-Id: 16680
2019-08-30 17:40:55 +00:00
Sasha Romijn 88b7b45b0e Fix #2328 - Use mailtriggers to find destinations in review app
As the review app has several conditionals that don't fit
entirely well within mailtriggers, the templates use a bit
of extra context to figure out who exactly to include. This also
extends the tests for review, to check for correct recipients.
It also adds a tiny feature to mailtrigger to entirely exclude
certain addresses, as required by the review-generated mails.

Commit ready for merge.
 - Legacy-Id: 16672
2019-08-27 15:15:13 +00:00
Sasha Romijn 3942f9acc7 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: 16670
2019-08-26 12:58:31 +00:00
Sasha Romijn 4669b0934b Fix #2071 - Add optional comment field for close request. Commit ready for merge.
- Legacy-Id: 16667
2019-08-23 11:37:41 +00:00
Henrik Levkowetz 41c6bbf62e Merged in [16563] from housley@vigilsec.com:
Improve performance for a few pages
 - Legacy-Id: 16613
Note: SVN reference [16563] has been migrated to Git commit 765ce0d0b0
2019-08-04 15:44:06 +00:00
Henrik Levkowetz 0a591e4b2e Merged in [16562] from rcross@amsl.com:
Added encoding='utf-8' parameter to io.open operations in tests that starting failing since adding unicode_literals.
 - Legacy-Id: 16588
Note: SVN reference [16562] has been migrated to Git commit d332bfd91d
2019-07-24 23:44:36 +00:00
Henrik Levkowetz 7039520557 Merged in [16557] from pusateri@bangj.com:
Partially addresses issue #1926 still displaying markdown as text. Fixes #2704.
 - Legacy-Id: 16576
Note: SVN reference [16557] has been migrated to Git commit f76c46bef0
2019-07-22 18:09:53 +00:00
Russ Housley 765ce0d0b0 Improve performance for a few pages
- Legacy-Id: 16563
2019-07-20 22:59:26 +00:00
Ryan Cross d332bfd91d Added encoding='utf-8' parameter to io.open operations in tests that starting failing since adding unicode_literals. Commit ready to merge
- Legacy-Id: 16562
2019-07-20 22:54:14 +00:00
Henrik Levkowetz 8ec951c44a Shortened generated document titles a tad, to avoid line wrapping in the IESG agenda package (which breaks the relevant test).
- Legacy-Id: 16518
2019-07-18 10:17:17 +00:00
Henrik Levkowetz bbff4b0e69 Replaced six.ensure_str with django's force_str
- Legacy-Id: 16513
2019-07-17 18:43:40 +00:00
Henrik Levkowetz 57e16bfd57 Fixed a typo.
- Legacy-Id: 16511
2019-07-17 16:14:55 +00:00
Henrik Levkowetz e03784132d Merged changes from current trunk to Py3 branch.
- Legacy-Id: 16468
2019-07-16 15:36:16 +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 2cfb81fc83 Changed instances of email body extaction to use a custom get_payload() function.
- Legacy-Id: 16454
2019-07-15 17:15:16 +00:00
Henrik Levkowetz a5e31c3f40 Py2/3 compatibility: Added __future__ import.
- Legacy-Id: 16452
2019-07-15 15:52:18 +00:00
Henrik Levkowetz 28472a462b Python2/3 compatibility: Added more elements to list (tuple) entries to ensure sorting without exceptions under Python3.
- Legacy-Id: 16451
2019-07-15 15:51:26 +00:00
Henrik Levkowetz 855716e1d5 Py2/3 compatibility: Added __future__ import
- Legacy-Id: 16448
2019-07-15 15:46:06 +00:00
Henrik Levkowetz 2d7c9629aa Added 'from __future__' imports all over the place, to bring code behaviour into closer alignment between python2 and python3
- Legacy-Id: 16446
2019-07-15 15:40:51 +00:00
Henrik Levkowetz f481f5c3e6 Replaced use of six with the equivalent pure python3 constructs.
- Legacy-Id: 16428
2019-07-08 10:43:47 +00:00
Henrik Levkowetz f8d4c3c9a6 More assertContains() and BytesIO() related changes.
- Legacy-Id: 16411
2019-07-07 12:45:57 +00:00
Henrik Levkowetz 04a728c23d Fixed bytes/str issues in some migrations (models.Index() arguments).
- Legacy-Id: 16410
2019-07-07 12:41:11 +00:00
Henrik Levkowetz 0679eaa8d4 Removed unused imports.
- Legacy-Id: 16402
2019-07-04 21:06:57 +00:00
Henrik Levkowetz f480799af9 Undid unintentional bulk commit
- Legacy-Id: 16401
2019-07-04 21:04:46 +00:00
Henrik Levkowetz fc09a59950 Added decode() of command pipe output.
- Legacy-Id: 16400
2019-07-04 21:01:39 +00:00
Henrik Levkowetz d957f32690 Fixed a syntax error and removed unused imports.
- Legacy-Id: 16389
2019-07-04 20:48:55 +00:00
Henrik Levkowetz a1e7dc9acc Changed a function name.
- Legacy-Id: 16386
2019-07-04 16:10:21 +00:00
Henrik Levkowetz 81fa6dc962 Fixed some issues with bulk changes related to assertContains()
- Legacy-Id: 16379
2019-07-04 16:04:39 +00:00
Henrik Levkowetz f33ecaa1a4 Fixed a test that compared an int with a meeting number string. Changed meeting test data to use meeting number 72 instead of 42, because proceedings code gives 404 for meetings before 65. Changed a number of StringIO() to BytesIO().
- Legacy-Id: 16378
2019-07-04 16:01:32 +00:00
Henrik Levkowetz b7690fbdcd Changed additional regexes to r strings.
- Legacy-Id: 16377
2019-07-04 15:54:23 +00:00
Henrik Levkowetz 0589d0b313 Changed a bunch of regexes to use r strings; also miscellaneous smaller fixes.
- Legacy-Id: 16376
2019-07-04 15:51:05 +00:00
Henrik Levkowetz 97a555936d Changed a large number of test assertions to use assertContains() and removed separate, now unnecessary,status_code checks. Also changed many assertTrue(... in ...) to use assertIn().
- Legacy-Id: 16346
2019-06-30 21:03:34 +00:00
Henrik Levkowetz ff6997df2b Fixed a case of indeterminate ordering.
- Legacy-Id: 16343
2019-06-30 20:58:26 +00:00
Henrik Levkowetz 8b52899459 Fixed some additional str/bytes issues.
- Legacy-Id: 16342
2019-06-30 20:56:56 +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 05f275a3af Changed instances of json.loads(r.content) to r.json(). Changed some instances of assert* to assertContains.
- Legacy-Id: 16338
2019-06-30 20:44:45 +00:00
Henrik Levkowetz 15e74e89cb Converted instances of assertTrue(text in response.content) to the recommended assertContains(response, text), and similar for assertFalse(... in ...)
- Legacy-Id: 16336
2019-06-29 13:43:31 +00:00
Henrik Levkowetz 42c620f4ae Fixed search result ordering where we had comparisons between int and str, which is disallowed in py3.
- Legacy-Id: 16335
2019-06-29 13:32:44 +00:00
Henrik Levkowetz 2b1f238204 Changed regex strings to raw strings and fixed a sort comparison int/str issue.
- Legacy-Id: 16333
2019-06-29 13:29:13 +00:00