Skip to content

Commit ff3638e

Browse files
committed
Merged in [12549] from rjsparks@nostrum.com:
allow ads and secretaries to edit the review request comment. Fixes ietf-tools#2096. (Again). - Legacy-Id: 12550 Note: SVN reference [12549] has been migrated to Git commit 32b431c
1 parent 8dcc1d2 commit ff3638e

6 files changed

Lines changed: 72 additions & 2 deletions

File tree

ietf/doc/tests_review.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,3 +733,20 @@ def test_revise_review_enter_content(self):
733733

734734
self.assertEqual(len(outbox), 0)
735735

736+
def test_edit_comment(self):
737+
doc = make_test_data()
738+
review_req = make_review_data(doc)
739+
740+
url = urlreverse('ietf.doc.views_review.edit_comment', kwargs={ "name": doc.name, "request_id": review_req.pk })
741+
742+
login_testing_unauthorized(self, "ad", url)
743+
744+
r = self.client.get(url)
745+
self.assertEqual(r.status_code, 200)
746+
747+
r = self.client.post(url, data={
748+
"comment": "iHsnReEHXEmNPXcixsvAF9Aa",
749+
})
750+
self.assertEqual(r.status_code, 302)
751+
review_req = reload_db_objects(review_req)
752+
self.assertEqual(review_req.comment,'iHsnReEHXEmNPXcixsvAF9Aa')

ietf/doc/urls_review.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@
99
url(r'^(?P<request_id>[0-9]+)/rejectreviewerassignment/$', views_review.reject_reviewer_assignment),
1010
url(r'^(?P<request_id>[0-9]+)/complete/$', views_review.complete_review),
1111
url(r'^(?P<request_id>[0-9]+)/searchmailarchive/$', views_review.search_mail_archive),
12+
url(r'^(?P<request_id>[0-9]+)/editcomment/$', views_review.edit_comment),
1213
)
1314

ietf/doc/views_review.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,8 @@ def review_request(request, name, request_id):
181181
and review_req.reviewer
182182
and (is_reviewer or can_manage_request))
183183

184+
can_edit_comment = can_request_review_of_doc(request.user, doc)
185+
184186
if request.method == "POST" and request.POST.get("action") == "accept" and can_accept_reviewer_assignment:
185187
review_req.state = ReviewRequestStateName.objects.get(slug="accepted")
186188
review_req.save()
@@ -195,6 +197,7 @@ def review_request(request, name, request_id):
195197
'can_assign_reviewer': can_assign_reviewer,
196198
'can_accept_reviewer_assignment': can_accept_reviewer_assignment,
197199
'can_complete_review': can_complete_review,
200+
'can_edit_comment': can_edit_comment,
198201
})
199202

200203

@@ -601,3 +604,26 @@ def search_mail_archive(request, name, request_id):
601604

602605
return JsonResponse(res)
603606

607+
class EditReviewRequestCommentForm(forms.ModelForm):
608+
comment = forms.CharField(widget=forms.Textarea)
609+
class Meta:
610+
fields = ['comment',]
611+
model = ReviewRequest
612+
613+
def edit_comment(request, name, request_id):
614+
review_req = get_object_or_404(ReviewRequest, pk=request_id)
615+
if not can_request_review_of_doc(request.user, review_req.doc):
616+
return HttpResponseForbidden("You do not have permission to perform this action")
617+
618+
if request.method == "POST":
619+
form = EditReviewRequestCommentForm(request.POST, instance=review_req)
620+
if form.is_valid():
621+
form.save()
622+
return redirect(review_request, name=review_req.doc.name, request_id=review_req.pk)
623+
else:
624+
form = EditReviewRequestCommentForm(instance=review_req)
625+
626+
return render(request, 'doc/review/edit_request_comment.html', {
627+
'review_req': review_req,
628+
'form' : form,
629+
})

ietf/review/migrations/0010_reviewrequest_comment.py renamed to ietf/review/migrations/0009_reviewrequest_comment.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
class Migration(migrations.Migration):
88

99
dependencies = [
10-
('review', '0009_auto_20161214_1537'),
10+
('review', '0008_populate_reviewteamsettings'),
1111
]
1212

1313
operations = [
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{% extends "base.html" %}
2+
{# Copyright The IETF Trust 2016, All Rights Reserved #}
3+
{% load origin bootstrap3 static %}
4+
5+
{% block title %}Edit review request comment for {{ review_req.doc.name }}{% endblock %}
6+
7+
{% block content %}
8+
{% origin %}
9+
<h1>Edit review request comment <br><small>{{ review_req.doc.name }}</small></h1>
10+
11+
<form method="post">
12+
{% csrf_token %}
13+
14+
{% bootstrap_form form %}
15+
16+
{% buttons %}
17+
<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>
18+
<button type="submit" class="btn btn-primary">Save</button>
19+
{% endbuttons %}
20+
</form>
21+
22+
{% endblock %}

ietf/templates/doc/review/review_request.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ <h1>Review request<br><small>{{ review_req.doc.name }}</small></h1>
7171
<tr>
7272
<th></th>
7373
<th>Comments</th>
74-
<td><pre class="pasted">{{review_req.comment}}</pre></td>
74+
<td><pre class="pasted">{{review_req.comment}}</pre>
75+
{% if can_edit_comment %}
76+
<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>
77+
{% endif %}
78+
</td>
7579
</tr>
7680
{% endif %}
7781
</tbody>

0 commit comments

Comments
 (0)