More polish on manage review requests page: Add save and continue
editing button, reverse sort order so latest (and probably most interesting) is at the top, disable save buttons when there are no changes to save - Legacy-Id: 11843
This commit is contained in:
parent
90617c2b8e
commit
1f71268da1
|
@ -123,7 +123,7 @@ class ReviewTests(TestCase):
|
|||
"r{}-action".format(review_req2.pk): "assign",
|
||||
"r{}-reviewer".format(review_req2.pk): new_reviewer.pk,
|
||||
|
||||
"action": "save",
|
||||
"action": "save-continue",
|
||||
})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
content = unicontent(r).lower()
|
||||
|
|
|
@ -649,7 +649,7 @@ def review_requests(request, acronym, group_type=None):
|
|||
|
||||
open_review_requests = list(ReviewRequest.objects.filter(
|
||||
team=group, state__in=("requested", "accepted")
|
||||
).prefetch_related("reviewer", "type", "state").order_by("time", "id"))
|
||||
).prefetch_related("reviewer", "type", "state").order_by("-time", "-id"))
|
||||
|
||||
open_review_requests += suggested_review_requests_for_team(group)
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ def manage_review_requests(request, acronym, group_type=None):
|
|||
|
||||
review_requests = list(ReviewRequest.objects.filter(
|
||||
team=group, state__in=("requested", "accepted")
|
||||
).prefetch_related("reviewer", "type", "state").order_by("time", "id"))
|
||||
).prefetch_related("reviewer", "type", "state").order_by("-time", "-id"))
|
||||
|
||||
review_requests += suggested_review_requests_for_team(group)
|
||||
|
||||
|
@ -104,7 +104,8 @@ def manage_review_requests(request, acronym, group_type=None):
|
|||
newly_closed = newly_opened = newly_assigned = 0
|
||||
|
||||
if request.method == "POST":
|
||||
saving = request.POST.get("action") == "save"
|
||||
form_action = request.POST.get("action", "")
|
||||
saving = form_action.startswith("save")
|
||||
|
||||
# check for conflicts
|
||||
review_requests_dict = { unicode(r.pk): r for r in review_requests }
|
||||
|
@ -151,8 +152,12 @@ def manage_review_requests(request, acronym, group_type=None):
|
|||
kwargs = { "acronym": group.acronym }
|
||||
if group_type:
|
||||
kwargs["group_type"] = group_type
|
||||
import ietf.group.views
|
||||
return redirect(ietf.group.views.review_requests, **kwargs)
|
||||
|
||||
if form_action == "save-continue":
|
||||
return redirect(manage_review_requests, **kwargs)
|
||||
else:
|
||||
import ietf.group.views
|
||||
return redirect(ietf.group.views.review_requests, **kwargs)
|
||||
|
||||
return render(request, 'group/manage_review_requests.html', {
|
||||
'group': group,
|
||||
|
|
|
@ -231,7 +231,7 @@ def suggested_review_requests_for_team(team):
|
|||
|
||||
res = [r for r in requests.itervalues()
|
||||
if not any(blocks(e, r) for e in existing_requests[r.doc_id])]
|
||||
res.sort(key=lambda r: (r.deadline, r.doc_id))
|
||||
res.sort(key=lambda r: (r.deadline, r.doc_id), reversed=True)
|
||||
return res
|
||||
|
||||
def extract_revision_ordered_review_requests_for_documents(queryset, names):
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
$(document).ready(function () {
|
||||
var form = $("form.review-requests");
|
||||
var saveButtons = form.find("[name=action][value^=\"save\"]");
|
||||
|
||||
function updateSaveButtons() {
|
||||
saveButtons.prop("disabled", form.find("[name$=\"-action\"][value][value!=\"\"]").length == 0);
|
||||
}
|
||||
|
||||
function setControlDisplay(row) {
|
||||
var action = row.find("[name$=\"-action\"]").val();
|
||||
|
@ -17,6 +22,8 @@ $(document).ready(function () {
|
|||
row.find(".reviewer-controls,.close-controls").hide();
|
||||
row.find(".assign-action,.close-action").show();
|
||||
}
|
||||
|
||||
updateSaveButtons();
|
||||
}
|
||||
|
||||
form.find(".assign-action button").on("click", function () {
|
||||
|
@ -89,4 +96,6 @@ $(document).ready(function () {
|
|||
var row = $(this).closest("tr");
|
||||
setControlDisplay(row);
|
||||
});
|
||||
|
||||
updateSaveButtons();
|
||||
});
|
||||
|
|
|
@ -127,6 +127,7 @@
|
|||
{% buttons %}
|
||||
<a href="{% url "ietf.group.views.review_requests" group_type=group.type_id acronym=group.acronym %}" class="btn btn-default pull-right">Cancel</a>
|
||||
<button class="btn btn-primary" type="submit" name="action" value="save">Save changes</button>
|
||||
<button class="btn btn-primary" type="submit" name="action" value="save-continue">Save and continue editing</button>
|
||||
<button class="btn btn-default" type="submit" name="action" value="refresh">Refresh (keeping changes)</button>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
|
|
Loading…
Reference in a new issue