Skip to content

Commit 64d2ba2

Browse files
committed
Run tidy as part of tests, and fix HTML issues it finds.
- Legacy-Id: 19904
1 parent a507b31 commit 64d2ba2

File tree

78 files changed

+849
-926
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+849
-926
lines changed

docker/app.Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ RUN apt-get install -qy \
3838
less \
3939
libmagic-dev \
4040
libmariadb-dev \
41+
libtidy-dev \
4142
locales \
4243
mariadb-client \
4344
netcat \

ietf/doc/utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ def add_links_in_new_revision_events(doc, events, diff_revisions):
363363
links += ""
364364

365365
if prev != None:
366-
links += ' (<a href="%s?url1=%s&url2=%s">diff from previous</a>)' % (settings.RFCDIFF_BASE_URL, quote(prev, safe="~"), quote(diff_url, safe="~"))
366+
links += ' (<a href="%s?url1=%s&amp;url2=%s">diff from previous</a>)' % (settings.RFCDIFF_BASE_URL, quote(prev, safe="~"), quote(diff_url, safe="~"))
367367

368368
# replace the bold filename part
369369
e.desc = re.sub(r"<b>(.+-[0-9][0-9].txt)</b>", links, e.desc)
@@ -1087,7 +1087,7 @@ def build_doc_supermeta_block(doc):
10871087
items.append(f'[<a href="{urlreverse("ietf.group.views.group_home",kwargs=dict(acronym=doc.group.acronym))}" title="The working group handling this document">WG</a>]')
10881088
items.append(f'[<a href="mailto:{doc.name}@ietf.org?subject={doc.name}" title="Send email to the document authors">Email</a>]')
10891089
if doc.rev != "00":
1090-
items.append(f'[<a href="{settings.RFCDIFF_BASE_URL}?difftype=--hwdiff&url2={doc.name}-{doc.rev}.txt" title="Inline diff (wdiff)">Diff1</a>]')
1090+
items.append(f'[<a href="{settings.RFCDIFF_BASE_URL}?difftype=--hwdiff&amp;url2={doc.name}-{doc.rev}.txt" title="Inline diff (wdiff)">Diff1</a>]')
10911091
items.append(f'[<a href="{settings.RFCDIFF_BASE_URL}?url2={doc.name}-{doc.rev}.txt" title="Side-by-side diff">Diff2</a>]')
10921092
items.append(f'[<a href="{settings.IDNITS_BASE_URL}?url={settings.IETF_ID_ARCHIVE_URL}{doc.name}-{doc.rev}.txt" title="Run an idnits check of this document">Nits</a>]')
10931093

@@ -1321,4 +1321,4 @@ def fuzzy_find_documents(name, rev=None):
13211321
rev = None # found a doc by name with rev = None, so update that
13221322

13231323
FoundDocuments = namedtuple('FoundDocuments', 'documents matched_name matched_rev')
1324-
return FoundDocuments(docs, name, rev)
1324+
return FoundDocuments(docs, name, rev)

ietf/doc/views_ballot.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from django.template.loader import render_to_string
1515
from django.urls import reverse as urlreverse
1616
from django.views.decorators.csrf import csrf_exempt
17-
17+
from django.utils.html import escape
1818

1919
import debug # pyflakes:ignore
2020

@@ -527,7 +527,7 @@ def lastcalltext(request, name):
527527
if not existing:
528528
existing = generate_last_call_announcement(request, doc)
529529

530-
form = LastCallTextForm(initial=dict(last_call_text=existing.text))
530+
form = LastCallTextForm(initial=dict(last_call_text=escape(existing.text)))
531531

532532
if request.method == 'POST':
533533
if "save_last_call_text" in request.POST or "send_last_call_request" in request.POST:
@@ -612,7 +612,7 @@ def ballot_writeupnotes(request, name):
612612
if not existing:
613613
existing = generate_ballot_writeup(request, doc)
614614

615-
form = BallotWriteupForm(initial=dict(ballot_writeup=existing.text))
615+
form = BallotWriteupForm(initial=dict(ballot_writeup=escape(existing.text)))
616616

617617
if request.method == 'POST' and "save_ballot_writeup" in request.POST or "issue_ballot" in request.POST:
618618
form = BallotWriteupForm(request.POST)
@@ -727,7 +727,7 @@ def ballot_rfceditornote(request, name):
727727
if not existing or (existing.text == ""):
728728
existing = generate_ballot_rfceditornote(request, doc)
729729

730-
form = BallotRfcEditorNoteForm(auto_id=False, initial=dict(rfc_editor_note=existing.text))
730+
form = BallotRfcEditorNoteForm(auto_id=False, initial=dict(rfc_editor_note=escape(existing.text)))
731731

732732
if request.method == 'POST' and "save_ballot_rfceditornote" in request.POST:
733733
form = BallotRfcEditorNoteForm(request.POST)
@@ -791,7 +791,7 @@ def ballot_approvaltext(request, name):
791791
if not existing:
792792
existing = generate_approval_mail(request, doc)
793793

794-
form = ApprovalTextForm(initial=dict(approval_text=existing.text))
794+
form = ApprovalTextForm(initial=dict(approval_text=escape(existing.text)))
795795

796796
if request.method == 'POST':
797797
if "save_approval_text" in request.POST:
@@ -1206,4 +1206,4 @@ def irsg_ballot_status(request):
12061206

12071207
docs.append(doc)
12081208

1209-
return render(request, 'doc/irsg_ballot_status.html', {'docs':docs})
1209+
return render(request, 'doc/irsg_ballot_status.html', {'docs':docs})

ietf/doc/views_bofreq.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from django.shortcuts import get_object_or_404, redirect, render
1111
from django.template.loader import render_to_string
1212
from django.urls import reverse as urlreverse
13-
13+
from django.utils.html import escape
1414

1515
from ietf.doc.mails import (email_bofreq_title_changed, email_bofreq_editors_changed,
1616
email_bofreq_new_revision, email_bofreq_responsible_changed)
@@ -172,7 +172,7 @@ def new_bof_request(request):
172172
return redirect('ietf.doc.views_doc.document_main', name=bofreq.name)
173173

174174
else:
175-
init = {'bofreq_content':render_to_string('doc/bofreq/bofreq_template.md',{}),
175+
init = {'bofreq_content':escape(render_to_string('doc/bofreq/bofreq_template.md',{})),
176176
'bofreq_submission':'enter',
177177
}
178178
form = NewBofreqForm(initial=init)

ietf/doc/views_charter.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from django.contrib import messages
1818
from django.contrib.auth.decorators import login_required
1919
from django.utils.encoding import force_text
20+
from django.utils.html import escape
2021

2122
import debug # pyflakes:ignore
2223

@@ -507,7 +508,7 @@ def review_announcement_text(request, name):
507508
existing_new_work.text = derive_new_work_text(existing.text,group)
508509
existing_new_work.time = datetime.datetime.now()
509510

510-
form = ReviewAnnouncementTextForm(initial=dict(announcement_text=existing.text,new_work_text=existing_new_work.text))
511+
form = ReviewAnnouncementTextForm(initial=dict(announcement_text=escape(existing.text),new_work_text=escape(existing_new_work.text)))
511512

512513
if request.method == 'POST':
513514
form = ReviewAnnouncementTextForm(request.POST)
@@ -588,7 +589,7 @@ def action_announcement_text(request, name):
588589
if not existing:
589590
raise Http404
590591

591-
form = ActionAnnouncementTextForm(initial=dict(announcement_text=existing.text))
592+
form = ActionAnnouncementTextForm(initial=dict(announcement_text=escape(existing.text)))
592593

593594
if request.method == 'POST':
594595
form = ActionAnnouncementTextForm(request.POST)
@@ -650,7 +651,7 @@ def ballot_writeupnotes(request, name):
650651

651652
reissue = charter.latest_event(DocEvent, type="sent_ballot_announcement")
652653

653-
form = BallotWriteupForm(initial=dict(ballot_writeup=existing.text))
654+
form = BallotWriteupForm(initial=dict(ballot_writeup=escape(existing.text)))
654655

655656
if request.method == 'POST' and ("save_ballot_writeup" in request.POST or "send_ballot" in request.POST):
656657
form = BallotWriteupForm(request.POST)
@@ -802,7 +803,7 @@ def approve(request, name):
802803

803804
return render(request, 'doc/charter/approve.html',
804805
dict(charter=charter,
805-
announcement=announcement))
806+
announcement=escape(announcement)))
806807

807808
def charter_with_milestones_txt(request, name, rev):
808809
charter = get_object_or_404(Document, type="charter", docalias__name=name)
@@ -833,4 +834,4 @@ def charter_with_milestones_txt(request, name, rev):
833834
return render(request, 'doc/charter/charter_with_milestones.txt',
834835
dict(charter_text=charter_text,
835836
milestones=milestones),
836-
content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET)
837+
content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET)

ietf/doc/views_conflict_review.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from django.urls import reverse
1313
from django.template.loader import render_to_string
1414
from django.conf import settings
15+
from django.utils.html import escape
1516

1617
import debug # pyflakes:ignore
1718

@@ -215,7 +216,7 @@ def submit(request, name):
215216

216217
elif "reset_text" in request.POST:
217218

218-
init = { "content": render_to_string("doc/conflict_review/review_choices.txt",dict())}
219+
init = { "content": escape(render_to_string("doc/conflict_review/review_choices.txt",dict()))}
219220
form = UploadForm(initial=init)
220221

221222
# Protect against handcrufted malicious posts
@@ -229,9 +230,9 @@ def submit(request, name):
229230
init = { "content": ""}
230231

231232
if not_uploaded_yet:
232-
init["content"] = render_to_string("doc/conflict_review/review_choices.txt",
233+
init["content"] = escape(render_to_string("doc/conflict_review/review_choices.txt",
233234
dict(),
234-
)
235+
))
235236
else:
236237
filename = os.path.join(settings.CONFLICT_REVIEW_PATH, '%s-%s.txt' % (review.canonical_name(), review.rev))
237238
try:
@@ -358,7 +359,7 @@ def approve_conflict_review(request, name):
358359

359360
else:
360361

361-
init = { "announcement_text" : default_approval_text(review) }
362+
init = { "announcement_text" : escape(default_approval_text(review)) }
362363
form = AnnouncementForm(initial=init)
363364

364365
return render(request, 'doc/conflict_review/approve.html',
@@ -522,4 +523,4 @@ def start_review_as_stream_owner(request, name):
522523
{'form': form,
523524
'doc_to_review': doc_to_review,
524525
},
525-
)
526+
)

ietf/doc/views_status_change.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from django.template.loader import render_to_string
1717
from django.conf import settings
1818
from django.utils.encoding import force_text
19+
from django.utils.html import escape
1920

2021
import debug # pyflakes:ignore
2122
from ietf.doc.mails import email_ad_approved_status_change
@@ -396,7 +397,7 @@ def approve(request, name):
396397

397398
init = []
398399
for rel in status_change.relateddocument_set.filter(relationship__slug__in=STATUSCHANGE_RELATIONS):
399-
init.append({"announcement_text" : default_approval_text(status_change,rel),
400+
init.append({"announcement_text" : escape(default_approval_text(status_change,rel)),
400401
"label": "Announcement text for %s to %s"%(rel.target.document.canonical_name(),newstatus(rel)),
401402
})
402403
formset = AnnouncementFormSet(initial=init)
@@ -674,7 +675,7 @@ def last_call(request, name):
674675
if not last_call_event:
675676
last_call_event = generate_last_call_text(request, status_change)
676677

677-
form = LastCallTextForm(initial=dict(last_call_text=last_call_event.text))
678+
form = LastCallTextForm(initial=dict(last_call_text=escape(last_call_event.text)))
678679

679680
if request.method == 'POST':
680681
if "save_last_call_text" in request.POST or "send_last_call_request" in request.POST:
@@ -724,4 +725,4 @@ def last_call(request, name):
724725
last_call_form = form,
725726
),
726727
)
727-
728+

ietf/secr/meetings/tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ def test_meetings_rooms(self):
244244
response = self.client.get(url)
245245
self.assertEqual(response.status_code, 200)
246246
q = PyQuery(response.content)
247-
self.assertEqual(len(q("#id_rooms_table tr input[type='checkbox']")),meeting.room_set.count())
247+
self.assertEqual(len(q("#id_rooms_table tr input[type='checkbox']")),meeting.room_set.count()+1)
248248

249249
# test delete
250250
# first unschedule sessions so we can delete
@@ -441,4 +441,4 @@ def test_get_times(self):
441441
times = get_times(meeting,day)
442442
values = [ x[0] for x in times ]
443443
self.assertTrue(times)
444-
self.assertTrue(timeslot.time.strftime('%H%M') in values)
444+
self.assertTrue(timeslot.time.strftime('%H%M') in values)

ietf/secr/templates/base_secr.html

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,11 @@
5252
<!-- END Breadcrumbs -->
5353
{% endif %}
5454

55-
{% comment %}
56-
<!-- Removed per Glen 08-04-2010 -->
57-
<!-- Javascript Warning -->
58-
<noscript class="errornote"> You have Javascript disabled. Javascript is required for this application.</noscript>
59-
{% endcomment %}
60-
6155
<!-- Django Messages -->
6256
{% if messages %}
6357
<ul class="messages">
6458
{% for message in messages %}
65-
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
59+
<li {% if message.tags %}class="{{ message.tags }}"{% endif %}>{{ message }}</li>
6660
{% endfor %}
6761
</ul>
6862
{% endif %}
@@ -83,6 +77,5 @@
8377
{% block footer %}<div id="footer"></div>{% endblock %}
8478
</div>
8579
<!-- END Container -->
86-
8780
</body>
8881
</html>

ietf/secr/templates/base_secr_bootstrap.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,6 @@
5353
<!-- END Breadcrumbs -->
5454
{% endif %}
5555

56-
{% comment %}
57-
<!-- Removed per Glen 08-04-2010 -->
58-
<!-- Javascript Warning -->
59-
<noscript class="errornote"> You have Javascript disabled. Javascript is required for this application.</noscript>
60-
{% endcomment %}
61-
6256
<!-- Django Messages -->
6357
{% if messages %}
6458
<ul class="messages">

0 commit comments

Comments
 (0)