Skip to content

Commit 02509a4

Browse files
committed
Fix a couple of bugs in handling editing documents associated with
milestones, also include those documents in the initial output on the edit page - Legacy-Id: 4558
1 parent 488add5 commit 02509a4

6 files changed

Lines changed: 21 additions & 11 deletions

File tree

ietf/templates/wginfo/edit_milestones.html

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
tr.milestone:hover { background-color: #e8f0fa; }
88
td.due { width: 5em; }
99
.milestone .needs-accept { font-style: italic; display: inline-block; margin-left: 0.5em; color: #2647a0; }
10+
.milestone .doc { display: block; padding-left: 1em; }
1011
.edit-milestone { display: none; }
1112
.edit-milestone.delete, .edit-milestone.delete input { color: #aaa !important; }
1213
.edit-milestone table { margin: 0.3em 0; }
@@ -65,8 +66,12 @@ <h1>{{ title }}</h1>
6566
<tr class="milestone">
6667
<td class="due">{% if form.milestone.resolved %}{{ form.milestone.resolved }}{% else %}{{ form.milestone.due|date:"M Y" }}{% endif %}</td>
6768
<td>
68-
{{ form.milestone.desc }}
69-
{% if form.needs_review %}<span class="needs-accept">awaiting accept</span>{% endif %}
69+
<div>{{ form.milestone.desc }}
70+
{% if form.needs_review %}<span class="needs-accept">awaiting accept</span>{% endif %}</div>
71+
72+
{% for d in form.docs_names %}
73+
<div class="doc">{{ d }}</div>
74+
{% endfor %}
7075
</td>
7176
</tr>
7277

@@ -78,7 +83,7 @@ <h1>{{ title }}</h1>
7883

7984
<div class="actions">
8085
<a href="{% if milestone_set == "charter" %}{% url doc_view name=group.charter.canonical_name %}{% else %}{% url wg_charter acronym=group.acronym %}{% endif %}">Back</a>
81-
<input type="submit" data-label-save="Save" data-label-review="Review changes" value="Save"/>
86+
<input type="submit" data-labelsave="Save" data-labelreview="Review changes" value="Save"/>
8287
<input type="hidden" name="action" value="save">
8388
</div>
8489

ietf/templates/wginfo/milestone_form.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
</tr>
2727
<tr class="docs">
2828
<td>Drafts:</td>
29-
<td><input name="{{ form.docs.html_name }}" class="tokenized-field" data-ajax-url="{% url wg_ajax_search_docs group.acronym %}" data-pre="{{ form.docs.prepopulate }}"/>
29+
<td><input name="{{ form.docs.html_name }}" class="tokenized-field" data-ajaxurl="{% url wg_ajax_search_docs group.acronym %}" data-pre="{{ form.docs_prepopulate }}"/>
3030
{{ form.docs.errors }}
3131
</td>
3232
</tr>

ietf/templates/wginfo/milestones.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<td>
1010
<div>{{ milestone.desc|escape }}</div>
1111
{% for d in milestone.docs.all %}
12-
<a class="doc" href="{% url doc_view name=d.name %}">{{ d.name }}</div>
12+
<a class="doc" href="{% url doc_view name=d.name %}">{{ d.name }}</a>
1313
{% endfor %}
1414
</td>
1515
</tr>

ietf/wginfo/milestones.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,17 @@ def __init__(self, *args, **kwargs):
6262

6363
super(MilestoneForm, self).__init__(*args, **kwargs)
6464

65+
# figure out what to prepopulate many-to-many field with
6566
pre = ""
6667
if not self.is_bound:
6768
pre = self.initial.get("docs", "")
6869
else:
6970
pre = self["docs"].data or ""
7071

71-
self.fields["docs"].prepopulate = json_doc_names(parse_doc_names(pre))
72+
# this is ugly, but putting it on self["docs"] is buggy with a
73+
# bound/unbound form in Django 1.2
74+
self.docs_names = parse_doc_names(pre)
75+
self.docs_prepopulate = json_doc_names(self.docs_names)
7276

7377
def clean_docs(self):
7478
s = self.cleaned_data["docs"]
@@ -322,7 +326,7 @@ def reset_charter_milestones(request, acronym):
322326
try:
323327
milestone_ids = [int(v) for v in request.POST.getlist("milestone")]
324328
except ValueError as e:
325-
return HttpResponseBadRequest("errror in list of ids - %s" % e)
329+
return HttpResponseBadRequest("error in list of ids - %s" % e)
326330

327331
# delete existing
328332
for m in charter_milestones:

static/js/edit-milestones.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jQuery(function () {
1616
action = "save";
1717

1818
var submit = jQuery("#milestones-form input[type=submit]");
19-
submit.val(submit.data("label-" + action));
19+
submit.val(submit.data("label" + action));
2020
jQuery("#milestones-form input[name=action]").val(action);
2121
}
2222

static/js/tokenized-field.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ function setupTokenizedField(field) {
44

55
var pre = [];
66
if (field.val())
7-
pre = JSON.parse(field.val());
7+
pre = JSON.parse((field.val() || "").replace(/&quot;/g, '"'));
88
else if (field.data("pre"))
9-
pre = JSON.parse(field.data("pre"));
10-
field.tokenInput(field.data("ajax-url"), {
9+
pre = JSON.parse((field.attr("data-pre") || "").replace(/&quot;/g, '"'));
10+
11+
field.tokenInput(field.data("ajaxurl"), {
1112
hintText: "",
1213
preventDuplicates: true,
1314
prePopulate: pre

0 commit comments

Comments
 (0)