From fdab931d2ced96e7f3973859982ea634ff47750d Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Sat, 24 Jul 2010 17:32:43 +0000 Subject: [PATCH] IETF 78 Sprint code from Peter Musgrave: Add related documents section to the wg documents page (e.g., /wg/sipclf/). - Legacy-Id: 2414 --- ietf/templates/wginfo/wg_documents.html | 14 ++++++++++++++ ietf/wginfo/views.py | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/ietf/templates/wginfo/wg_documents.html b/ietf/templates/wginfo/wg_documents.html index 91bfc5ed8..8b35f4973 100644 --- a/ietf/templates/wginfo/wg_documents.html +++ b/ietf/templates/wginfo/wg_documents.html @@ -50,5 +50,19 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% endfor %} +{% regroup docs_related by view_sort_group as grouped_docs_related %} + + + +{% for doc_group in grouped_docs_related %} + + +{% for doc in doc_group.list %} +{% include "idrfc/search_result_row.html" %} +{% endfor %} + +{% endfor %} +
Related DocumentsTitleDateStatusArea Director
{{doc_group.grouper}}s
+ {% endblock wg_content %} diff --git a/ietf/wginfo/views.py b/ietf/wginfo/views.py index fbda64aad..3dd9a785e 100644 --- a/ietf/wginfo/views.py +++ b/ietf/wginfo/views.py @@ -37,6 +37,7 @@ from django.shortcuts import get_object_or_404, render_to_response from django.template import RequestContext, loader from django.http import HttpResponse from ietf.idrfc.views_search import SearchForm, search_query +from ietf.idrfc.idrfc_wrapper import IdRfcWrapper def wg_summary_acronym(request): areas = Area.active_areas() @@ -67,7 +68,19 @@ def wg_documents(request, acronym): if not form.is_valid(): raise ValueError("form did not validate") (docs,meta) = search_query(form.cleaned_data) - return render_to_response('wginfo/wg_documents.html', {'wg': wg, 'concluded':concluded, 'selected':'documents', 'docs':docs, 'meta':meta}, RequestContext(request)) + + # get the related docs + form_related = SearchForm({'by':'group', 'name':'-'+str(wg.group_acronym.acronym)+'-', 'activeDrafts':'on'}) + if not form_related.is_valid(): + raise ValueError("form_related did not validate") + (docs_related,meta_related) = search_query(form_related.cleaned_data) + docs_related_pruned = [] + for d in docs_related: + if d.id.draft_name_and_revision().count('-ietf-') == 0: + docs_related_pruned.append(d) + + return render_to_response('wginfo/wg_documents.html', {'wg': wg, 'concluded':concluded, 'selected':'documents', 'docs':docs, 'meta':meta, + 'docs_related':docs_related_pruned, 'meta_related':meta_related}, RequestContext(request)) def wg_charter(request, acronym): wg = get_object_or_404(IETFWG, group_acronym__acronym=acronym, group_type=1)