From 5fab1e071d257261c8f196048d6d012045f86775 Mon Sep 17 00:00:00 2001 From: Ole Laursen <olau@iola.dk> Date: Thu, 8 Mar 2012 13:01:20 +0000 Subject: [PATCH] Be more careful in generating links to draft actions, fixes problem with RFCs without an associated group and also makes the code somewhat more readable (although the template tag detour need to go away at some point, perhaps after the generic charter refactor) - Legacy-Id: 4071 --- .../templatetags/ietf_streams.py | 26 +++++++++++++------ .../templates/ietfworkflows/edit_actions.html | 2 +- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/ietf/ietfworkflows/templatetags/ietf_streams.py b/ietf/ietfworkflows/templatetags/ietf_streams.py index 1f87f7a33..db6be14e1 100644 --- a/ietf/ietfworkflows/templatetags/ietf_streams.py +++ b/ietf/ietfworkflows/templatetags/ietf_streams.py @@ -67,14 +67,24 @@ def edit_actions(context, wrapper): return None doc = wrapper draft = wrapper._draft - possible_actions = [ - ("Adopt in WG", can_adopt(user, draft), urlreverse('edit_adopt', kwargs=dict(name=doc.draft_name))) if settings.USE_DB_REDESIGN_PROXY_CLASSES else ("", False, ""), - ("Change stream state", can_edit_state(user, draft), urlreverse('edit_state', kwargs=dict(name=doc.draft_name))), - ("Change stream", can_edit_stream(user, draft), urlreverse('edit_stream', kwargs=dict(name=doc.draft_name))), - ("Change shepherd", can_manage_shepherd_of_a_document(user, draft), urlreverse('doc_managing_shepherd', kwargs=dict(acronym=draft.group.acronym, name=draft.filename))), - ("Change stream writeup", can_manage_writeup_of_a_document(user, draft), urlreverse('doc_managing_writeup', kwargs=dict(acronym=draft.group.acronym, name=draft.filename))), - ] - return dict(actions=[(url, action_name) for action_name, active, url, in possible_actions if active]) + + actions = [] + if can_adopt(user, draft): + actions.append(("Adopt in WG", urlreverse('edit_adopt', kwargs=dict(name=doc.draft_name)))) + + if can_edit_state(user, draft): + actions.append(("Change stream state", urlreverse('edit_state', kwargs=dict(name=doc.draft_name)))) + + if can_edit_stream(user, draft): + actions.append(("Change stream", urlreverse('edit_stream', kwargs=dict(name=doc.draft_name)))) + + if can_manage_shepherd_of_a_document(user, draft): + actions.append(("Change shepherd", urlreverse('doc_managing_shepherd', kwargs=dict(acronym=draft.group.acronym, name=draft.filename)))) + + if can_manage_writeup_of_a_document(user, draft): + actions.append(("Change stream writeup", urlreverse('doc_managing_writeup', kwargs=dict(acronym=draft.group.acronym, name=draft.filename)))) + + return dict(actions=actions) class StreamListNode(template.Node): diff --git a/ietf/templates/ietfworkflows/edit_actions.html b/ietf/templates/ietfworkflows/edit_actions.html index f73a61b53..214905233 100644 --- a/ietf/templates/ietfworkflows/edit_actions.html +++ b/ietf/templates/ietfworkflows/edit_actions.html @@ -1,5 +1,5 @@ <div style="margin-bottom: 1em;"> - {% for url, action_name in actions %} + {% for action_name, url in actions %} {% if not forloop.first %} | {% endif%} <a href="{{ url}}">{{ action_name }}</a> {% endfor %} </div>