Skip to content

Commit 0dde778

Browse files
committed
Decorate two pages with revision errors. Fixes ietf-tools#616
- Legacy-Id: 2886
1 parent 67c6c39 commit 0dde778

3 files changed

Lines changed: 30 additions & 4 deletions

File tree

ietf/submit/templatetags/submit_tags.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from django import template
44
from django.conf import settings
5+
from django.utils.html import mark_safe
56

67
register = template.Library()
78

@@ -15,3 +16,24 @@ def show_submission_files(context, submission):
1516
result.append({'name': '[%s version ]' % ext[1:].capitalize(),
1617
'url': '%s%s-%s%s' % (settings.STAGING_URL, submission.filename, submission.revision, ext)})
1718
return {'files': result}
19+
20+
def show_two_pages(context, two_pages, validation):
21+
result
22+
23+
24+
@register.filter
25+
def two_pages_decorated_with_validation(value, validation):
26+
pages = value.first_two_pages
27+
if not 'revision' in validation.warnings.keys():
28+
return mark_safe('<pre class="twopages" style="display: none;">%s</pre>' % pages)
29+
result = '<pre class="twopages" style="display: none;">\n'
30+
for line in pages.split('\n'):
31+
if line.find('%s-%s' % (value.filename, value.revision)) > -1:
32+
result += '</pre><pre class="twopages" style="display: none; background: red;">'
33+
result += line
34+
result += '\n'
35+
result += '</pre><pre class="twopages" style="display: none;">\n'
36+
else:
37+
result += line
38+
result += '\n'
39+
return mark_safe(result)

ietf/submit/utils.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,11 @@ def validate_revision(self):
145145
expected = 0
146146
if existing_revisions:
147147
expected = max(existing_revisions) + 1
148-
if int(revision) != expected:
149-
self.add_warning('revision', 'Invalid Version Number (Version %02d is expected)' % expected)
148+
try:
149+
if int(revision) != expected:
150+
self.add_warning('revision', 'Invalid Version Number (Version %02d is expected)' % expected)
151+
except ValueError:
152+
self.add_warning('revision', 'Revision not found')
150153

151154
def validate_authors(self):
152155
if not self.authors:

ietf/templates/submit/draft_status.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
table.metadata-table tr.warning td, table.metadata-table tr.warning th { background-color: #ffaaaa; }
1717
table.metadata-table div.warn_message { color: red; }
1818
table.metadata-table ul.errorlist { color: red; padding: 0px; margin: 0px; list-style-type: none; }
19+
pre.twopages { margin: 0px; }
1920
{% endblock morecss %}
2021

2122
{% block pagehead %}
@@ -100,7 +101,7 @@ <h2>Check Page</h2>
100101
<div class="bd">
101102
<div id="stream_dialog_body" style="padding: 0em 5em; height: 400px; overflow: auto;">
102103
<pre class="idnits_message" style="display: none;">{{ detail.idnits_message }}</pre>
103-
<pre class="twopages" style="display: none;">{{ detail.first_two_pages }}</pre>
104+
{{ detail|two_pages_decorated_with_validation:validation }}
104105
</div>
105106
</div>
106107
</div>
@@ -136,7 +137,7 @@ <h3>Meta-Data errors found</h3>
136137
<tr><th>Document</th><td>{{ detail.filename }} <a class="twopages_trigger" href="#">[View first two pages]</a>
137138
{% show_submission_files detail %}
138139
</td></tr>
139-
<tr{% if validation.warnings.revision %} class="warning"{% endif %}><th>Revision</th><td>{{ detail.revision }}<div class="warn_message">{{ validation.warnings.revision }}</div></td></tr>
140+
<tr{% if validation.warnings.revision %} class="warning"{% endif %}><th>Revision</th><td>{{ detail.revision }}<div class="warn_message">{{ validation.warnings.revision }}{% if validation.warnings.revision %}<br /><a class="twopages_trigger" href="#">[View error]</a>{% endif %}</div></td></tr>
140141
<tr><th>Submission date</th><td>{{ detail.submission_date }}</td></tr>
141142
<tr><th>Title</th><td>{{ detail.id_document_name }}</td></tr>
142143
<tr{% if validation.warnings.group %} class="warning"{% endif %}><th>WG</th><td>{{ validation.wg|default:"Individual Submission" }}<div class="warn_message">{{ validation.warnings.group }}</div></td></tr>

0 commit comments

Comments
 (0)