allow ads and secretaries to edit the review request comment. Fixes #2096. (Again). Commit ready for merge.
- Legacy-Id: 12549
This commit is contained in:
parent
6fcd8b8a16
commit
32b431cf24
|
@ -722,3 +722,20 @@ class ReviewTests(TestCase):
|
|||
|
||||
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')
|
||||
|
|
|
@ -9,5 +9,6 @@ urlpatterns = patterns('',
|
|||
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),
|
||||
)
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
@ -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,
|
||||
})
|
||||
|
||||
|
||||
|
@ -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
ietf/templates/doc/review/edit_request_comment.html
Normal file
22
ietf/templates/doc/review/edit_request_comment.html
Normal file
|
@ -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 %}
|
|
@ -71,7 +71,11 @@
|
|||
<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>
|
||||
|
|
Loading…
Reference in a new issue