Skip to content

Commit

Permalink
allow ads and secretaries to edit the review request comment. Fixes #…
Browse files Browse the repository at this point in the history
…2096. (Again). Commit ready for merge.

 - Legacy-Id: 12549
  • Loading branch information
rjsparks committed Dec 15, 2016
1 parent 6fcd8b8 commit 32b431c
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 1 deletion.
17 changes: 17 additions & 0 deletions ietf/doc/tests_review.py
Expand Up @@ -722,3 +722,20 @@ def test_revise_review_enter_content(self):

self.assertEqual(len(outbox), 0)

def test_edit_comment(self):
doc = make_test_data()
review_req = make_review_data(doc)

url = urlreverse('ietf.doc.views_review.edit_comment', kwargs={ "name": doc.name, "request_id": review_req.pk })

login_testing_unauthorized(self, "ad", url)

r = self.client.get(url)
self.assertEqual(r.status_code, 200)

r = self.client.post(url, data={
"comment": "iHsnReEHXEmNPXcixsvAF9Aa",
})
self.assertEqual(r.status_code, 302)
review_req = reload_db_objects(review_req)
self.assertEqual(review_req.comment,'iHsnReEHXEmNPXcixsvAF9Aa')
1 change: 1 addition & 0 deletions ietf/doc/urls_review.py
Expand Up @@ -9,5 +9,6 @@
url(r'^(?P<request_id>[0-9]+)/rejectreviewerassignment/$', views_review.reject_reviewer_assignment),
url(r'^(?P<request_id>[0-9]+)/complete/$', views_review.complete_review),
url(r'^(?P<request_id>[0-9]+)/searchmailarchive/$', views_review.search_mail_archive),
url(r'^(?P<request_id>[0-9]+)/editcomment/$', views_review.edit_comment),
)

26 changes: 26 additions & 0 deletions ietf/doc/views_review.py
Expand Up @@ -183,6 +183,8 @@ def review_request(request, name, request_id):
and review_req.reviewer
and (is_reviewer or can_manage_request))

can_edit_comment = can_request_review_of_doc(request.user, doc)

if request.method == "POST" and request.POST.get("action") == "accept" and can_accept_reviewer_assignment:
review_req.state = ReviewRequestStateName.objects.get(slug="accepted")
review_req.save()
Expand All @@ -197,6 +199,7 @@ def review_request(request, name, request_id):
'can_assign_reviewer': can_assign_reviewer,
'can_accept_reviewer_assignment': can_accept_reviewer_assignment,
'can_complete_review': can_complete_review,
'can_edit_comment': can_edit_comment,
})


Expand Down Expand Up @@ -603,3 +606,26 @@ def search_mail_archive(request, name, request_id):

return JsonResponse(res)

class EditReviewRequestCommentForm(forms.ModelForm):
comment = forms.CharField(widget=forms.Textarea)
class Meta:
fields = ['comment',]
model = ReviewRequest

def edit_comment(request, name, request_id):
review_req = get_object_or_404(ReviewRequest, pk=request_id)
if not can_request_review_of_doc(request.user, review_req.doc):
return HttpResponseForbidden("You do not have permission to perform this action")

if request.method == "POST":
form = EditReviewRequestCommentForm(request.POST, instance=review_req)
if form.is_valid():
form.save()
return redirect(review_request, name=review_req.doc.name, request_id=review_req.pk)
else:
form = EditReviewRequestCommentForm(instance=review_req)

return render(request, 'doc/review/edit_request_comment.html', {
'review_req': review_req,
'form' : form,
})
22 changes: 22 additions & 0 deletions ietf/templates/doc/review/edit_request_comment.html
@@ -0,0 +1,22 @@
{% extends "base.html" %}
{# Copyright The IETF Trust 2016, All Rights Reserved #}
{% load origin bootstrap3 static %}

{% block title %}Edit review request comment for {{ review_req.doc.name }}{% endblock %}

{% block content %}
{% origin %}
<h1>Edit review request comment <br><small>{{ review_req.doc.name }}</small></h1>

<form method="post">
{% csrf_token %}

{% bootstrap_form form %}

{% buttons %}
<a class="btn btn-default" href="{% url "ietf.doc.views_review.review_request" name=review_req.doc.canonical_name request_id=review_req.pk %}">Cancel</a>
<button type="submit" class="btn btn-primary">Save</button>
{% endbuttons %}
</form>

{% endblock %}
6 changes: 5 additions & 1 deletion ietf/templates/doc/review/review_request.html
Expand Up @@ -71,7 +71,11 @@ <h1>Review request<br><small>{{ review_req.doc.name }}</small></h1>
<tr>
<th></th>
<th>Comments</th>
<td><pre class="pasted">{{review_req.comment}}</pre></td>
<td><pre class="pasted">{{review_req.comment}}</pre>
{% if can_edit_comment %}
<a class="btn btn-default btn-xs" href="{% url "ietf.doc.views_review.edit_comment" name=doc.name request_id=review_req.pk %}"><span class="fa fa-edit"></span> Edit comment</a>
{% endif %}
</td>
</tr>
{% endif %}
</tbody>
Expand Down

0 comments on commit 32b431c

Please sign in to comment.