Better sort of bofreq list

- Legacy-Id: 19219
This commit is contained in:
Robert Sparks 2021-07-14 19:59:56 +00:00
parent b1007d5df5
commit c1272e210e
3 changed files with 12 additions and 11 deletions

View file

@ -1,11 +1,13 @@
# Copyright The IETF Trust 2021 All Rights Reserved # Copyright The IETF Trust 2021 All Rights Reserved
import datetime
import debug # pyflakes:ignore import debug # pyflakes:ignore
import io import io
import shutil
import os import os
import shutil
from pyquery import PyQuery from pyquery import PyQuery
from random import randint
from tempfile import NamedTemporaryFile from tempfile import NamedTemporaryFile
from django.conf import settings from django.conf import settings
@ -49,18 +51,14 @@ This test section has some text.
self.assertContains(r, 'There are currently no BOF Requests', status_code=200) self.assertContains(r, 'There are currently no BOF Requests', status_code=200)
states = State.objects.filter(type_id='bofreq') states = State.objects.filter(type_id='bofreq')
self.assertTrue(states.count()>0) self.assertTrue(states.count()>0)
reqs = BofreqFactory.create_batch(states.count()) for i in range(3*len(states)):
r = self.client.get(url) BofreqFactory(states=[('bofreq',states[i%len(states)].slug)],newrevisiondocevent__time=datetime.datetime.today()-datetime.timedelta(days=randint(0,20)))
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
self.assertEqual(len(q('#bofreqs-proposed tbody tr')), states.count())
for i in range(states.count()):
reqs[i].set_state(states[i])
r = self.client.get(url) r = self.client.get(url)
self.assertEqual(r.status_code, 200) self.assertEqual(r.status_code, 200)
q = PyQuery(r.content) q = PyQuery(r.content)
for state in states: for state in states:
self.assertEqual(len(q(f'#bofreqs-{state.slug} tbody tr')), 1) self.assertEqual(len(q(f'#bofreqs-{state.slug}')), 1)
self.assertEqual(len(q(f'#bofreqs-{state.slug} tbody tr')), 3)
self.assertFalse(q('#start_button')) self.assertFalse(q('#start_button'))
PersonFactory(user__username='nobody') PersonFactory(user__username='nobody')
self.client.login(username='nobody', password='nobody+password') self.client.login(username='nobody', password='nobody+password')

View file

@ -30,7 +30,8 @@ def bof_requests(request):
for req in reqs: for req in reqs:
req.latest_revision_event = req.latest_event(NewRevisionDocEvent) req.latest_revision_event = req.latest_event(NewRevisionDocEvent)
req.responsible = bofreq_responsible(req) req.responsible = bofreq_responsible(req)
return render(request, 'doc/bofreq/bof_requests.html',dict(reqs=reqs)) sorted_reqs = sorted(sorted(reqs, key=lambda doc: doc.latest_revision_event.time, reverse=True), key=lambda doc: doc.get_state().order)
return render(request, 'doc/bofreq/bof_requests.html',dict(reqs=sorted_reqs))
class BofreqUploadForm(forms.Form): class BofreqUploadForm(forms.Form):

View file

@ -10,7 +10,9 @@
<h1>BOF Requests</h1> <h1>BOF Requests</h1>
{% if request.user.is_authenticated %} {% if request.user.is_authenticated %}
<a id="start_button" class="btn btn-primary" href="{% url 'ietf.doc.views_bofreq.new_bof_request' %}">Start New BOF Request</a> <div class="buttonlist">
<a id="start_button" class="btn btn-primary" href="{% url 'ietf.doc.views_bofreq.new_bof_request' %}">Start New BOF Request</a>
</div>
{% endif %} {% endif %}
{% if not reqs %} {% if not reqs %}
<p>There are currently no BOF Requests</p> <p>There are currently no BOF Requests</p>