Skip to content

Commit b1b21e5

Browse files
committed
Merged in branch/iola/charter-fixes from olau@iola.dk with a series of fixes to the charter management code.
- Legacy-Id: 4483
2 parents 2b78e15 + 822fd6d commit b1b21e5

14 files changed

Lines changed: 69 additions & 55 deletions

File tree

ietf/idrfc/templatetags/ballot_icon.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def sort_key(t):
101101

102102
c = "position-%s" % (pos.pos.slug if pos else "norecord")
103103

104-
if hasattr(user, "get_profile") and ad == user.get_profile():
104+
if ad.user_id == user.id:
105105
c += " my"
106106

107107
res.append('<td class="%s" />' % c)

ietf/idrfc/urls.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -42,33 +42,33 @@
4242
(r'^in-last-call/$', views_search.in_last_call),
4343
url(r'^ad/(?P<name>[A-Za-z0-9.-]+)/$', views_search.by_ad, name="doc_search_by_ad"),
4444

45-
url(r'^(?P<name>[A-Za-z0-9.-]+)/((?P<rev>[0-9-]+)/)?$', views_doc.document_main, name="doc_view"),
46-
url(r'^(?P<name>[A-Za-z0-9.-]+)/history/$', views_doc.document_history, name="doc_history"),
47-
url(r'^(?P<name>[A-Za-z0-9.-]+)/writeup/$', views_doc.document_writeup, name="doc_writeup"),
48-
url(r'^(?P<name>[A-Za-z0-9.-]+)/ballot/(?P<ballot_id>[A-Za-z0-9.-]+)/position/$', views_ballot.edit_position, name='doc_edit_position'),
49-
url(r'^(?P<name>[A-Za-z0-9.-]+)/ballot/(?P<ballot_id>[A-Za-z0-9.-]+)/emailposition/$', views_ballot.send_ballot_comment, name='doc_send_ballot_comment'),
50-
url(r'^(?P<name>[A-Za-z0-9.-]+)/ballot/(?P<ballot_id>[A-Za-z0-9.-]+)/$', views_doc.document_ballot, name="doc_ballot"),
51-
url(r'^(?P<name>[A-Za-z0-9.-]+)/ballot/$', views_doc.document_ballot, name="doc_ballot"),
52-
(r'^(?P<name>[A-Za-z0-9.-]+)/doc.json$', views_doc.document_debug),
53-
(r'^(?P<name>[A-Za-z0-9.-]+)/_ballot.data$', views_doc.ballot_html), # why is this url so weird instead of just ballot.html?
54-
(r'^(?P<name>[A-Za-z0-9.-]+)/ballot.tsv$', views_doc.ballot_tsv),
55-
(r'^(?P<name>[A-Za-z0-9.-]+)/ballot.json$', views_doc.ballot_json),
45+
url(r'^(?P<name>[A-Za-z0-9._-]+)/((?P<rev>[0-9-]+)/)?$', views_doc.document_main, name="doc_view"),
46+
url(r'^(?P<name>[A-Za-z0-9._-]+)/history/$', views_doc.document_history, name="doc_history"),
47+
url(r'^(?P<name>[A-Za-z0-9._-]+)/writeup/$', views_doc.document_writeup, name="doc_writeup"),
48+
url(r'^(?P<name>[A-Za-z0-9._-]+)/ballot/(?P<ballot_id>[A-Za-z0-9.-]+)/position/$', views_ballot.edit_position, name='doc_edit_position'),
49+
url(r'^(?P<name>[A-Za-z0-9._-]+)/ballot/(?P<ballot_id>[A-Za-z0-9.-]+)/emailposition/$', views_ballot.send_ballot_comment, name='doc_send_ballot_comment'),
50+
url(r'^(?P<name>[A-Za-z0-9._-]+)/ballot/(?P<ballot_id>[A-Za-z0-9.-]+)/$', views_doc.document_ballot, name="doc_ballot"),
51+
url(r'^(?P<name>[A-Za-z0-9._-]+)/ballot/$', views_doc.document_ballot, name="doc_ballot"),
52+
(r'^(?P<name>[A-Za-z0-9._-]+)/doc.json$', views_doc.document_debug),
53+
(r'^(?P<name>[A-Za-z0-9._-]+)/_ballot.data$', views_doc.ballot_html), # why is this url so weird instead of just ballot.html?
54+
(r'^(?P<name>[A-Za-z0-9._-]+)/ballot.tsv$', views_doc.ballot_tsv),
55+
(r'^(?P<name>[A-Za-z0-9._-]+)/ballot.json$', views_doc.ballot_json),
5656

57-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/state/$', views_edit.change_state, name='doc_change_state'),
58-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/info/$', views_edit.edit_info, name='doc_edit_info'),
59-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/requestresurrect/$', views_edit.request_resurrect, name='doc_request_resurrect'),
60-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/resurrect/$', views_edit.resurrect, name='doc_resurrect'),
61-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/addcomment/$', views_edit.add_comment, name='doc_add_comment'),
62-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/clearballot/$', views_ballot.clear_ballot, name='doc_clear_ballot'),
63-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/deferballot/$', views_ballot.defer_ballot, name='doc_defer_ballot'),
64-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/undeferballot/$', views_ballot.undefer_ballot, name='doc_undefer_ballot'),
65-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/lastcalltext/$', views_ballot.lastcalltext, name='doc_ballot_lastcall'),
66-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/ballotwriteupnotes/$', views_ballot.ballot_writeupnotes, name='doc_ballot_writeupnotes'),
67-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/approvaltext/$', views_ballot.ballot_approvaltext, name='doc_ballot_approvaltext'),
68-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/approveballot/$', views_ballot.approve_ballot, name='doc_approve_ballot'),
69-
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/makelastcall/$', views_ballot.make_last_call, name='doc_make_last_call'),
57+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/state/$', views_edit.change_state, name='doc_change_state'),
58+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/info/$', views_edit.edit_info, name='doc_edit_info'),
59+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/requestresurrect/$', views_edit.request_resurrect, name='doc_request_resurrect'),
60+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/resurrect/$', views_edit.resurrect, name='doc_resurrect'),
61+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/addcomment/$', views_edit.add_comment, name='doc_add_comment'),
62+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/clearballot/$', views_ballot.clear_ballot, name='doc_clear_ballot'),
63+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/deferballot/$', views_ballot.defer_ballot, name='doc_defer_ballot'),
64+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/undeferballot/$', views_ballot.undefer_ballot, name='doc_undefer_ballot'),
65+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/lastcalltext/$', views_ballot.lastcalltext, name='doc_ballot_lastcall'),
66+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/ballotwriteupnotes/$', views_ballot.ballot_writeupnotes, name='doc_ballot_writeupnotes'),
67+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/approvaltext/$', views_ballot.ballot_approvaltext, name='doc_ballot_approvaltext'),
68+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/approveballot/$', views_ballot.approve_ballot, name='doc_approve_ballot'),
69+
url(r'^(?P<name>[A-Za-z0-9._-]+)/edit/makelastcall/$', views_ballot.make_last_call, name='doc_make_last_call'),
7070

71-
(r'^(?P<name>[A-Za-z0-9.-]+)/charter/', include('ietf.wgcharter.urls')),
71+
(r'^(?P<name>[A-Za-z0-9._-]+)/charter/', include('ietf.wgcharter.urls')),
7272
)
7373

7474
urlpatterns += patterns('django.views.generic.simple',

ietf/idrfc/views_doc.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,20 @@
5555
from ietf.ietfauth.decorators import has_role
5656

5757

58-
def render_document_top(request, doc, tab):
58+
def render_document_top(request, doc, tab, name):
5959
tabs = []
60-
tabs.append(("Document", "document", urlreverse("ietf.idrfc.views_doc.document_main", kwargs=dict(name=doc.name)), True))
60+
tabs.append(("Document", "document", urlreverse("ietf.idrfc.views_doc.document_main", kwargs=dict(name=name)), True))
6161

6262
ballot = doc.latest_event(BallotDocEvent, type="created_ballot")
6363
if doc.type_id == "draft":
6464
# if doc.in_ietf_process and doc.ietf_process.has_iesg_ballot:
65-
tabs.append(("IESG Evaluation Record", "ballot", urlreverse("ietf.idrfc.views_doc.document_ballot", kwargs=dict(name=doc.name)), ballot))
65+
tabs.append(("IESG Evaluation Record", "ballot", urlreverse("ietf.idrfc.views_doc.document_ballot", kwargs=dict(name=name)), ballot))
6666
elif doc.type_id == "charter":
67-
tabs.append(("IESG Review", "ballot", urlreverse("ietf.idrfc.views_doc.document_ballot", kwargs=dict(name=doc.name)), ballot))
67+
tabs.append(("IESG Review", "ballot", urlreverse("ietf.idrfc.views_doc.document_ballot", kwargs=dict(name=name)), ballot))
6868

6969
# FIXME: if doc.in_ietf_process and doc.ietf_process.has_iesg_ballot:
70-
tabs.append(("IESG Writeups", "writeup", urlreverse("ietf.idrfc.views_doc.document_writeup", kwargs=dict(name=doc.name)), True))
71-
tabs.append(("History", "history", urlreverse("ietf.idrfc.views_doc.document_history", kwargs=dict(name=doc.name)), True))
70+
tabs.append(("IESG Writeups", "writeup", urlreverse("ietf.idrfc.views_doc.document_writeup", kwargs=dict(name=name)), True))
71+
tabs.append(("History", "history", urlreverse("ietf.idrfc.views_doc.document_history", kwargs=dict(name=name)), True))
7272

7373
name = doc.canonical_name()
7474
if name.startswith("rfc"):
@@ -120,7 +120,7 @@ def document_main(request, name, rev=None):
120120
if gh:
121121
group = gh
122122

123-
top = render_document_top(request, doc, "document")
123+
top = render_document_top(request, doc, "document", name)
124124

125125

126126
telechat = doc.latest_event(TelechatDocEvent, type="scheduled_for_telechat")
@@ -159,9 +159,8 @@ def document_history(request, name):
159159
if name.lower().startswith("draft") or name.lower().startswith("rfc"):
160160
return document_main_idrfc(request, name, "history")
161161

162-
163162
doc = get_object_or_404(Document, docalias__name=name)
164-
top = render_document_top(request, doc, "history")
163+
top = render_document_top(request, doc, "history", name)
165164

166165
diff_documents = [ doc ]
167166
diff_documents.extend(Document.objects.filter(docalias__relateddocument__source=doc, docalias__relateddocument__relationship="replaces"))
@@ -206,7 +205,7 @@ def document_writeup(request, name):
206205
return document_main_idrfc(request, name, "writeup")
207206

208207
doc = get_object_or_404(Document, docalias__name=name)
209-
top = render_document_top(request, doc, "writeup")
208+
top = render_document_top(request, doc, "writeup", name)
210209

211210
writeups = []
212211
if doc.type_id == "charter":
@@ -328,7 +327,7 @@ def document_ballot_content(request, doc, ballot_id, editable=True):
328327

329328
def document_ballot(request, name, ballot_id=None):
330329
doc = get_object_or_404(Document, docalias__name=name)
331-
top = render_document_top(request, doc, "ballot")
330+
top = render_document_top(request, doc, "ballot", name)
332331

333332
c = document_ballot_content(request, doc, ballot_id, editable=True)
334333

ietf/iesg/views.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,13 @@ def agenda_docs(date, next_agenda):
221221

222222
def agenda_wg_actions(date):
223223
res = dict(("s%s%s%s" % (i, j, k), []) for i in range(2, 5) for j in range (1, 4) for k in range(1, 4))
224-
charters = Document.objects.filter(type="charter", docevent__telechatdocevent__telechat_date=date).distinct()
224+
charters = Document.objects.filter(type="charter", docevent__telechatdocevent__telechat_date=date).select_related("group").distinct()
225225
for c in charters:
226226
if c.latest_event(TelechatDocEvent, type="scheduled_for_telechat").telechat_date != date:
227227
continue
228228

229+
c.group.txt_link = settings.CHARTER_TXT_URL + "%s-%s.txt" % (c.canonical_name(), c.rev)
230+
229231
section_key = "s" + get_wg_section(c.group)
230232
if section_key not in res:
231233
res[section_key] = []

ietf/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@
193193
INTERNET_DRAFT_PDF_PATH = '/a/www/ietf-datatracker/pdf/'
194194
RFC_PATH = '/a/www/ietf-ftp/rfc/'
195195
CHARTER_PATH = '/a/www/ietf-ftp/charters/'
196-
CHARTER_TXT_URL = 'http://www.ietf.org/charters/'
196+
CHARTER_TXT_URL = 'http://www.ietf.org/charter/'
197197
AGENDA_PATH = '/a/www/www6s/proceedings/'
198198
AGENDA_PATH_PATTERN = '/a/www/www6s/proceedings/%(meeting)s/agenda/%(wg)s.%(ext)s'
199199
MINUTES_PATH_PATTERN = '/a/www/www6s/proceedings/%(meeting)s/minutes/%(wg)s.%(ext)s'

ietf/templates/iesg/agenda_wg.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ <h3>{{ title2 }}</h3>
4646
<td>{{ wg.obj.parent.acronym|upper }}</td>
4747
<td>{{ wg.obj.time|date:"M d"}}</td>
4848
<td>
49-
<a href="http://www.ietf.org/iesg/evaluation/charter-ietf-{{wg.obj.acronym}}-{{wg.obj.charter.rev}}.txt">
49+
<a href="{{ wg.obj.txt_link }}">
5050
{{ wg.obj.name|escape }} ({{wg.obj.acronym}})
5151
</a>
5252
</td>
Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
{% load ietf_filters %}{% autoescape off %}From: The IESG <iesg-secretary@ietf.org>
2-
To: IETF-Announce <ietf-announce@ietf.org>
2+
To: IETF-Announce <ietf-announce@ietf.org>{% if wg.list_email %}
3+
Cc: {{ wg.acronym }} WG <{{ wg.list_email }}> {% endif %}
34
Subject: WG Action: {{ action_type }} {{ wg.name }} ({{ wg.acronym }})
45

56
{% filter wordwrap:73 %}{% ifequal action_type "Formed" %}A new IETF working group has been formed in the {{ wg.parent.name }}.{% endifequal %}{% ifequal action_type "Rechartered" %}The {{ wg.name }} ({{ wg.acronym }}) working group in the {{ wg.parent.name }} of the IETF has been rechartered.{% endifequal %} For additional information please contact the Area Directors or the WG Chair{{ chairs|pluralize}}.
67

7-
{% include "wgcharter/wg_info.txt" %}
8-
9-
{% endfilter %}
10-
{% endautoescape %}
8+
{% include "wgcharter/wg_info.txt" %}{% endfilter %}{% endautoescape %}

ietf/templates/wgcharter/announcement_text.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,20 @@ <h1>WG {{ announcement }} announcement writeup for {{ charter.chartered_group.ac
1818

1919
<div class="actions">
2020
<a href="{{ back_url }}">Back</a>
21-
<input type="submit" name="save_text" value="Save WG {{ announcement }} announcement text" />
22-
<input type="submit" name="regenerate_text" value="Regenerate {{ announcement }} text" />
21+
<input type="submit" name="regenerate_text" value="Regenerate" />
22+
<input type="submit" name="save_text" value="Save" />
2323
</div>
2424

2525
{% load ietf_filters %}
2626
{% if user|has_role:"Secretariat" %}
27+
<h3>Secretariat actions</h3>
28+
2729
<div class="actions">
30+
{% if announcement == "action" %}
31+
<a href="{% url charter_approve name=charter.canonical_name %}">Go to charter approval page</a>
32+
{% else %}
2833
<input type="submit" name="send_text" value="Send WG {{ announcement }} announcement" />
34+
{% endif %}
2935
</div>
3036
{% endif %}
3137

ietf/templates/wgcharter/approve.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
{% endblock %}
2020

2121
{% block content %}
22-
<h1>Approve {{ charter.canonical_name }}</h1>
22+
<h1>Approve {{ charter.canonical_name }}-{{ charter.rev }}</h1>
2323

2424
<div>IETF announcement:</div>
2525

@@ -31,6 +31,7 @@ <h1>Approve {{ charter.canonical_name }}</h1>
3131

3232
<div class="actions">
3333
<a href="{% url doc_view name=charter.name %}">Back</a>
34+
<a href="{% url charter_edit_announcement name=charter.canonical_name,ann="action" %}?next=approve">Go to edit/regenerate announcement page</a>
3435
<input type="submit" value="Send out the announcement, close ballot and update revision"/>
3536
</div>
3637
</form>
Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
{% load ietf_filters %}{% autoescape off %}From: The IESG <iesg-secretary@ietf.org>
2-
To: IETF-Announce <ietf-announce@ietf.org>
2+
To: IETF-Announce <ietf-announce@ietf.org>{% if wg.list_email %}
3+
Cc: {{ wg.acronym }} WG <{{ wg.list_email }}> {% endif %}
34
Subject: WG Review: {{ wg.name }} ({{ wg.acronym }})
45

56
{% filter wordwrap:73 %}{% ifequal review_type "new" %}A new IETF working group has been proposed in the {{ wg.parent.name }}.{% endifequal %}{% ifequal review_type "recharter" %}The {{ wg.name }} ({{wg.acronym}}) working group in the {{ wg.parent.name }} of the IETF is undergoing rechartering.{% endifequal %} The IESG has not made any determination yet. The following draft charter was submitted, and is provided for informational purposes only. Please send your comments to the IESG mailing list (iesg at ietf.org) by {{ review_date }}.
67

7-
{% include "wgcharter/wg_info.txt" %}
8-
9-
{% endfilter %}
10-
{% endautoescape %}
8+
{% include "wgcharter/wg_info.txt" %}{% endfilter %}{% endautoescape %}

0 commit comments

Comments
 (0)