Skip to content

Commit e0b1018

Browse files
committed
jinja2: improve "Superseder" field handling
1 parent 09102db commit e0b1018

File tree

5 files changed

+42
-27
lines changed

5 files changed

+42
-27
lines changed

share/roundup/templates/jinja2/html/issue.item.edit.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111
>
1212
<fieldset>
1313
<dl class="row row-cols-1 row-cols-lg-2 no-gutters">
14-
{{ edit.input_text_large('Title', 'title', 'title', required=True) }}
15-
{{ edit.input_option('Priority', 'priority', required=True) }}
16-
{{ edit.input_option('Status', 'status') }}
17-
{{ edit.input_text_small('Superseder', 'superseder', 'superseder') }}
18-
{{ edit.input_text_small('Nosy list', 'nosylist', 'nosy') }}
19-
{{ edit.input_option('Assigned to', 'assignedto') }}
20-
{{ edit.input_text_small('Keywords', 'keyword', 'keyword') }}
21-
{{ edit.input_textarea('Change note', 'change_note', '@note') }}
22-
{{ edit.input_file('File', 'file_upload', '@file') }}
14+
{{ edit.field_large('Title', 'title', 'title', required=True) }}
15+
{{ edit.option('Priority', 'priority', required=True) }}
16+
{{ edit.option('Status', 'status') }}
17+
{{ edit.field_small('Superseder', 'superseder', 'superseder') }}
18+
{{ edit.field_small('Nosy list', 'nosylist', 'nosy') }}
19+
{{ edit.option('Assigned to', 'assignedto') }}
20+
{{ edit.field_small('Keywords', 'keyword', 'keyword') }}
21+
{{ edit.textarea('Change note', 'change_note', '@note') }}
22+
{{ edit.file('File', 'file_upload', '@file') }}
2323
</dl>
2424
</fieldset>
2525
<div class="form-actions">

share/roundup/templates/jinja2/html/issue.item.html

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,17 @@
4646
{% if context.messages %}
4747
<h4>Messages</h4>
4848
{% for msg in context.messages.reverse() %}
49-
<div class="row row-cols-1 row-cols-lg-3">
50-
<div class="col col-lg-auto">
49+
<div class="row row-cols-1 row-cols-md-4">
50+
<div class="col col-md-auto">
5151
<a href='msg{{ msg.id }}'>msg{{msg.id}} (view)</a>
5252
</div>
53-
<div class="col col-lg-auto">
54-
Author: {{ msg.author.plain()|u }}, Date: {{ msg.date.plain()|u }}
53+
<div class="col col-md-auto">
54+
Author: {{ msg.author.plain()|u }}
5555
</div>
56-
<div class="col col-lg-auto">
56+
<div class="col col-md-auto">
57+
Date: {{ msg.date.plain()|u }}
58+
</div>
59+
<div class="col col-md-auto">
5760
{% if context.is_edit_ok() %}
5861
<form method="POST" action='issue{{ context.id }}' class='form-inline'>
5962
<input type="hidden" name="@remove@messages" value='{{ msg.id }}'>

share/roundup/templates/jinja2/html/issue.item.readonly.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
{{ view.field_large('Title', 'title') }}
44
{{ view.field_small('Priority', 'priority') }}
55
{{ view.field_small('Status', 'status') }}
6-
{% if context.superseder %}
7-
{{ view.field_large('Superseder', 'superseder') }}
8-
{% endif %}
6+
{% for s in context.superseder %}
7+
{{ view.field_large_value('Superseder' if loop.first else '', '%s (<a href="%s%s">%s %s</a>)' % (s.title.plain(escape=1), s._classname, s.id, s._classname, s.id)) }}
8+
{% endfor %}
99
{% if context.nosy %}
1010
{{ view.field_large('Nosy list', 'nosy') }}
1111
{% endif %}
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
{% macro input_text_large(text, id, name, required=False) %}
1+
{% macro field_large(text, id, name, required=False) %}
22
<div class="col col-lg-12 row">
33
<dt class="col col-4 col-md-3 col-lg-2">
44
<label class="col-form-label" for="{{ id }}">{{ i18n.gettext(text)|u|safe }}</label>
55
</dt>
66
<dd class="col col-8 col-md-9 col-lg-10">
7-
<input class="form-control" name="{{ name }}" id="{{ id }}" type="text" value="{{ context[name].plain()|u }}" {%- if required %}required="required"{% endif %} />
7+
{{ context[name].field(class='form-control', id=id, **({'required': ''} if required else {}))|u|safe }}
88
</dd>
99
</div>
1010
{% endmacro -%}
11-
{% macro input_text_small(text, id, name, required=False) %}
11+
{% macro field_small(text, id, name, required=False) %}
1212
<div class="col row mr-1">
1313
<dt class="col col-4 col-md-3 col-lg-4">
1414
<label class="col-form-label" for="{{ id }}">{{ i18n.gettext(text)|u|safe }}</label>
1515
</dt>
1616
<dd class="col col-8 col-md-9 col-lg-8">
17-
<input class="form-control" name="{{ name }}" id="{{ id }}" type="text" value="{{ context[name].plain()|u }}" {%- if required %}required="required"{% endif %} />
17+
{{ context[name].field(class='form-control', id=id, **({'required': ''} if required else {}))|u|safe }}
1818
</dd>
1919
</div>
2020
{% endmacro -%}
21-
{% macro input_file(text, id, name) %}
21+
{% macro file(text, id, name) %}
2222
<div class="col row mr-1">
2323
<dt class="col col-4 col-md-3 col-lg-4">
2424
<label class="col-form-label" for="{{ id }}">{{ i18n.gettext(text)|u|safe }}</label>
@@ -28,24 +28,24 @@
2828
</dd>
2929
</div>
3030
{% endmacro -%}
31-
{% macro input_option(text, id, required=False) %}
31+
{% macro option(text, id, required=False) %}
3232
<div class="col row mr-1">
3333
<dt class="col col-4 col-md-3 col-lg-4">
3434
<label class="col-form-label" for="{{ id }}">{{ i18n.gettext(text)|u|safe }}</label>
3535
</dt>
3636
<dd class="col col-8 col-md-9 col-lg-8">
3737
{% set kwargs = { 'required' : 'required' } %}
38-
{{ context[id].menu(html_kwargs=dict([('class', 'input custom-select form-control')] + ([('required', 'required')] if required else [])))|u|safe }}
38+
{{ context[id].menu(html_kwargs=dict([('class', 'custom-select form-control'), ('id', id)] + ([('required', 'required')] if required else [])))|u|safe }}
3939
</dd>
4040
</div>
4141
{% endmacro -%}
42-
{% macro input_textarea(text, id, name, required=False) %}
42+
{% macro textarea(text, id, name, required=False) %}
4343
<div class="col col-lg-12 row">
4444
<dt class="col col-4 col-md-3 col-lg-2">
45-
<label class="col-form-label" for="{{ name }}">{{ i18n.gettext(text)|u|safe }}</label>
45+
<label class="col-form-label" for="{{ id }}">{{ i18n.gettext(text)|u|safe }}</label>
4646
</dt>
4747
<dd class="col col-8 col-md-9 col-lg-10">
48-
<textarea class="form-control" name="{{ name }}" id="{{ name }}" rows="5">{{ request.form.getvalue(name, '')|u }}</textarea>
48+
<textarea class="form-control" name="{{ name }}" id="{{ id }}" rows="5">{{ request.form.getvalue(name, '')|u }}</textarea>
4949
</dd>
5050
</div>
5151
{% endmacro -%}

share/roundup/templates/jinja2/html/layout/view.tmpl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,21 @@
44
<dd class="col col-8 col-md-9 col-lg-10">{{ context[name].plain()|u }}</dd>
55
</div>
66
{% endmacro -%}
7+
{% macro field_large_value(text, value) %}
8+
<div class="col col-lg-12 row">
9+
<dt class="col col-4 col-md-3 col-lg-2">{{ i18n.gettext(text)|u|safe }}</dt>
10+
<dd class="col col-8 col-md-9 col-lg-10">{{ value|u|safe }}</dd>
11+
</div>
12+
{% endmacro -%}
713
{% macro field_small(text, name) %}
814
<div class="col row mr-1">
915
<dt class="col col-4 col-md-3 col-lg-4">{{ i18n.gettext(text)|u|safe }}</dt>
1016
<dd class="col col-8 col-md-9 col-lg-8">{{ context[name].plain()|u }}</dd>
1117
</div>
1218
{% endmacro -%}
19+
{% macro field_small_value(text, value) %}
20+
<div class="col row mr-1">
21+
<dt class="col col-4 col-md-3 col-lg-4">{{ i18n.gettext(text)|u|safe }}</dt>
22+
<dd class="col col-8 col-md-9 col-lg-8">{{ value|u|safe }}</dd>
23+
</div>
24+
{% endmacro -%}

0 commit comments

Comments
 (0)