From 51284a8871316b5db6144c64bcf1fd6a7ba2f3b0 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Wed, 17 Jul 2013 20:55:35 +0000 Subject: [PATCH] Added an index page at /help/state, listing the document states that have help information. - Legacy-Id: 5837 --- ietf/help/urls.py | 1 + ietf/help/views.py | 13 +++++++++++++ ietf/templates/help/index.html | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 ietf/templates/help/index.html diff --git a/ietf/help/urls.py b/ietf/help/urls.py index 6bbd01b27..8e6277d0d 100644 --- a/ietf/help/urls.py +++ b/ietf/help/urls.py @@ -3,5 +3,6 @@ from django.conf.urls.defaults import patterns, url urlpatterns = patterns('', url(r'^state/(?P[-\w]+)/(?P[-\w]+)/?$', 'ietf.help.views.state'), url(r'^state/(?P[-\w]+)/?$', 'ietf.help.views.state'), + url(r'^state/?$', 'ietf.help.views.index'), ) diff --git a/ietf/help/views.py b/ietf/help/views.py index 0d2c413ec..d2dd8b0a0 100644 --- a/ietf/help/views.py +++ b/ietf/help/views.py @@ -8,6 +8,19 @@ import debug from ietf.doc.models import State, StateType +def index(request): + types = StateType.objects.all() + names = [ type.slug for type in types ] + for type in types: + if "-" in type.slug and type.slug.split('-',1)[0] in names: + type.stategroups = None + else: + groups = StateType.objects.filter(slug__startswith=type.slug) + type.stategroups = [ g.slug[len(type.slug)+1:] for g in groups if not g == type ] or "" + + return render_to_response('help/index.html', {"types": types}, + context_instance=RequestContext(request)) + def state(request, doc, type=None): slug = "%s-%s" % (doc,type) if type else doc debug.show('slug') diff --git a/ietf/templates/help/index.html b/ietf/templates/help/index.html new file mode 100644 index 000000000..1f5924094 --- /dev/null +++ b/ietf/templates/help/index.html @@ -0,0 +1,33 @@ +{% extends "base.html" %} +{# Copyright The IETF Trust 2007, All Rights Reserved #} + +{% block title %} Document State Index{% endblock %} + +{% block content %} + +

Document State Index

+ +

Document state information is available for the following document and document state groups:

+ + + + + + + +{% for type in types %} +{% if type.stategroups != None %} + + + + +{% endif %} +{% endfor %} +
DocumentState Groups
{{type.slug}} + {% for group in type.stategroups %} + {{ group }} + {% endfor %} +
+ + +{% endblock %}