Added a 'recent drafts' page, showing drafs submitted the last 7 days.
- Legacy-Id: 15099
This commit is contained in:
parent
e223ba5e2c
commit
d076a1728c
|
@ -64,6 +64,7 @@ urlpatterns = [
|
|||
|
||||
url(r'^all/?$', views_search.index_all_drafts),
|
||||
url(r'^active/?$', views_search.index_active_drafts),
|
||||
url(r'^recent/?$', views_search.recent_drafts),
|
||||
url(r'^select2search/(?P<model_name>(document|docalias))/(?P<doc_type>draft)/$', views_search.ajax_select2_search_docs),
|
||||
|
||||
url(r'^%(name)s(?:/%(rev)s)?/$' % settings.URL_REGEXPS, views_doc.document_main),
|
||||
|
|
|
@ -46,7 +46,7 @@ from django.utils.cache import _generate_cache_key
|
|||
import debug # pyflakes:ignore
|
||||
|
||||
from ietf.doc.models import ( Document, DocHistory, DocAlias, State,
|
||||
LastCallDocEvent, IESG_SUBSTATE_TAGS )
|
||||
LastCallDocEvent, NewRevisionDocEvent, IESG_SUBSTATE_TAGS )
|
||||
from ietf.doc.fields import select2_id_doc_name_json
|
||||
from ietf.doc.utils import get_search_cache_key
|
||||
from ietf.group.models import Group
|
||||
|
@ -449,6 +449,22 @@ def drafts_in_iesg_process(request):
|
|||
"title": title,
|
||||
})
|
||||
|
||||
def recent_drafts(request, days=7):
|
||||
since = datetime.datetime.now()-datetime.timedelta(days=days)
|
||||
state = State.objects.get(type='draft', slug='active')
|
||||
events = NewRevisionDocEvent.objects.filter(time__gt=since)
|
||||
names = [ e.doc.name for e in events ]
|
||||
docs = Document.objects.filter(name__in=names, states=state)
|
||||
results, meta = prepare_document_table(request, docs, query={'sort':'-date', }, max_results=len(names))
|
||||
pages = 0
|
||||
for doc in results:
|
||||
pages += doc.pages
|
||||
|
||||
return render(request, 'doc/recent_drafts.html', {
|
||||
'docs':results, 'meta':meta, 'pages':pages, 'days': days,
|
||||
})
|
||||
|
||||
|
||||
def index_all_drafts(request):
|
||||
# try to be efficient since this view returns a lot of data
|
||||
categories = []
|
||||
|
|
|
@ -470,6 +470,12 @@ class SubmitTests(TestCase):
|
|||
self.assertTrue("New Version Notification" in outbox[-1]["Subject"])
|
||||
self.assertTrue(name in unicode(outbox[-1]))
|
||||
self.assertTrue("mars" in unicode(outbox[-1]))
|
||||
#
|
||||
r = self.client.get(urlreverse('ietf.doc.views_search.recent_drafts'))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertIn(draft.name, unicontent(r))
|
||||
self.assertIn(draft.title, unicontent(r))
|
||||
|
||||
|
||||
def test_submit_existing_txt(self):
|
||||
self.submit_existing(["txt"])
|
||||
|
@ -587,6 +593,11 @@ class SubmitTests(TestCase):
|
|||
draft = Document.objects.get(docalias__name=name)
|
||||
self.assertEqual(draft.rev, rev)
|
||||
self.assertEqual(draft.relateddocument_set.filter(relationship_id='replaces').count(), replaces_count)
|
||||
#
|
||||
r = self.client.get(urlreverse('ietf.doc.views_search.recent_drafts'))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertIn(draft.name, unicontent(r))
|
||||
self.assertIn(draft.title, unicontent(r))
|
||||
|
||||
def test_submit_cancel_confirmation(self):
|
||||
draft = make_test_data()
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
<ul class="dropdown-menu" role="menu">
|
||||
{% endif %}
|
||||
<li><a href="{% url "ietf.doc.views_search.search" %}">Search</a></li>
|
||||
<li><a href="{% url "ietf.doc.views_search.recent_drafts" %}">Recent drafts</a></li>
|
||||
<li><a href="{% url "ietf.submit.views.upload_submission" %}">Draft submission</a></li>
|
||||
|
||||
{% if user and user.is_authenticated %}
|
||||
|
|
26
ietf/templates/doc/recent_drafts.html
Normal file
26
ietf/templates/doc/recent_drafts.html
Normal file
|
@ -0,0 +1,26 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin staticfiles %}
|
||||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static "jquery.tablesorter/css/theme.bootstrap.min.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}Internet-Drafts submitted during the last {{days|default:7}} days{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>
|
||||
Internet-Drafts submitted during the last {{days|default:7}} days
|
||||
{% if pages %}
|
||||
<small class="padded-left">{{ pages }} pages</small>
|
||||
{% endif %}
|
||||
</h1>
|
||||
|
||||
{% include "doc/search/search_results.html" %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% static "jquery.tablesorter/js/jquery.tablesorter.combined.min.js" %}"></script>
|
||||
{% endblock %}
|
Loading…
Reference in a new issue