<selectid="mv-{{ c.card.id }}"name="column">{% for o in columns %}<optionvalue="{{ o.column.id }}"{% ifo.column.id==colid %} selected{% endif %}>{{ o.column.name }}</option>{% endfor %}</select>
18
<buttonname="action"value="move">move</button><buttonname="action"value="up"aria-label="Up">↑</button><buttonname="action"value="down"aria-label="Down">↓</button><buttonname="action"value="archive"title="Archive: off the board, kept and restorable">archive</button><buttonname="action"value="remove"aria-label="Remove from the project"title="Remove from the project">✕</button>
<div><h2>{{ v.it.name }}</h2><pclass="small mute">{{ v.first }} to {{ v.last }} · {{ v.done }} card{% if v.done != 1 %}s{% endif %} done, archived when it closed{% if can_edit %}; restore one to put it back on the board{% endif %} · <ahref="/projects/{{ project.owner }}/{{ project.number }}">back to the board</a></p></div>
35
{% call burnup(v) %}
36
</section>
37
{% else if archived %}<pclass="note board-archive-note">Archived cards: off the board, kept and searchable{% if can_edit %}; restore one to put it back at the end of its column{% endif %}. <ahref="/projects/{{ project.owner }}/{{ project.number }}">Back to the board</a></p>
38
{% else %}
39
<sectionclass="iteration"aria-label="Iteration">
40
{% if let Some(v) = current %}
41
<div><h2>{{ v.it.name }}</h2><pclass="small mute">{{ v.first }} to {{ v.last }} · day {{ v.so_far }} of {{ v.days }} · {{ v.done }} card{% if v.done != 1 %}s{% endif %} done</p>
42
{% if can_edit %}<formclass="tiny"method="post"action="/projects/{{ project.owner }}/{{ project.number }}"><inputtype="hidden"name="_csrf"value="{{ shell.csrf }}"><inputtype="hidden"name="iteration"value="{{ v.it.id }}"><buttonname="action"value="close_iteration"class="small"data-confirm="Close {{ v.it.name }}? The cards in the Done column are archived under it.">CLOSE ITERATION</button></form>{% endif %}</div>
43
{% call burnup(v) %}
44
{% else if can_edit %}
45
<detailsclass="iteration-new"><summaryclass="small">start an iteration</summary>
<divclass="inline-fields"><label>First day <inputtype="date"name="start"value="{{ next_first }}"required></label><label>Last day <inputtype="date"name="end"value="{{ next_last }}"required></label></div>
49
<pclass="small mute">Closing it archives the cards in the Done column under it.</p>
50
<buttontype="submit"class="small">START</button>
51
</form>
52
</details>
53
{% endif %}
54
{% if !past.is_empty() %}<detailsclass="iteration-past"><summaryclass="small">past iterations ({{ past.len() }})</summary><ul>{% for v in past %}<li><ahref="/projects/{{ project.owner }}/{{ project.number }}?iteration={{ v.it.id }}">{{ v.it.name }}</a><spanclass="small mute">{{ v.first }} to {{ v.last }} · {{ v.done }} done</span></li>{% endfor %}</ul></details>{% endif %}
55
</section>
56
{% endif %}
57
<formclass="board-filter"method="get"action="/projects/{{ project.owner }}/{{ project.number }}"role="search">{% if let Some(v) = shown_iteration %}<inputtype="hidden"name="iteration"value="{{ v.it.id }}">{% else if archived %}<inputtype="hidden"name="archived"value="1">{% endif %}
{% if !view_name.is_empty() %}<inputtype="hidden"name="view"value="{{ view_name }}">{% endif %}
59
<labelclass="visually-hidden"for="board-q">Filter cards</label><inputtype="search"id="board-q"name="q"value="{{ q }}"placeholder="filter: words, repo:, assignee:, label:, milestone:, is:open, age:>14d"title="Words in the title or reference; repo:NAME, assignee:NAME, label:NAME, milestone:TITLE (quote a title with spaces), state:STATE, is:open or is:closed, age:>14d or age:<7d. Press / to come here."data-board-filter>
<labelclass="visually-hidden"for="board-state">State</label><selectid="board-state"name="state"><optionvalue="">any state</option>{% for s in ["open", "closed", "landed", "draft"] %}<option{% ifstate== *s %} selected{% endif %}>{{ s }}</option>{% endfor %}</select>
{% if can_edit && !archived %}<detailsclass="board-save-view"><summaryclass="small">{% if view_name.is_empty() %}save as a view{% else %}save view{% endif %}</summary>
<labelfor="view-name">Name</label><inputtype="text"id="view-name"name="name"value="{{ view_name }}"maxlength="40"requiredplaceholder="My open work">
70
<pclass="small mute">Keeps this layout, filter{% if !lane.is_empty() %}, {% if layout == "table" %}groups{% else %}lanes{% endif %}{% endif %}{% if !sort.is_empty() %} and order{% endif %} as a tab anyone with the board sees; its address can be shared.</p>
{% for v in views %}{% if v.name == *view_name %}<formclass="tiny"method="post"action="/projects/{{ project.owner }}/{{ project.number }}"><inputtype="hidden"name="_csrf"value="{{ shell.csrf }}"><inputtype="hidden"name="view"value="{{ v.id }}"><buttonname="action"value="delete_view"class="small danger-btn"data-confirm="Delete the view {{ v.name }}? The cards are not touched.">DELETE VIEW</button></form>{% endif %}{% endfor %}
{% if !archived %}{% match col.column.archive_after_days %}{% when Some(-1) %}{% when Some(d) %}<pclass="small mute col-archives">archives cards {{ d }} day{% if *d != 1 %}s{% endif %} after they reach it</p>{% when None %}{% if col.finished %}<pclass="small mute col-archives">finished cards are archived after {{ crate::db::projects::FINISHED_KEPT_DAYS }} days</p>{% endif %}{% endmatch %}{% endif %}
{% if col.before_iteration > 0 %}<pclass="small mute col-hidden">{{ col.before_iteration }} done before this iteration, shown when it closes in its archive · <ahref="/projects/{{ project.owner }}/{{ project.number }}?archived=1">archived cards</a></p>{% endif %}
<labelfor="ref-{{ col.column.id }}">Issue or proposal</label>
127
<divclass="inline-fields"><selectname="repo"aria-label="Repository">{% for r in repos %}<option>{{ r }}</option>{% endfor %}</select><inputtype="text"id="ref-{{ col.column.id }}"name="reference"placeholder="#12 or repo#12"></div>
128
<labelfor="note-{{ col.column.id }}">or a note</label><textareaid="note-{{ col.column.id }}"name="note"rows="2"maxlength="500"></textarea>
<inputtype="text"name="name"value="{{ col.column.name }}"aria-label="Column name"maxlength="40"><buttonname="action"value="rename_column"class="small">RENAME</button><buttonname="action"value="remove_column"class="small danger-btn"data-confirm="Remove this column? Its cards move to the first column.">REMOVE</button>
{% if col.column.takes_finished %}<pclass="small">Finished work comes here: a card moves here when its issue closes or its proposal lands or closes.</p><buttonname="mode"value="off"class="small">STOP</button>{% else %}<label>Finished work</label><buttonname="mode"value="on"class="small"title="A card moves here when its issue closes or its proposal lands or closes (one column of the board)">MOVE IT HERE</button>{% endif %}
<pclass="small mute board-keys">Keys: <kbd>j</kbd>/<kbd>k</kbd> move between cards, <kbd>Enter</kbd> opens one, <kbd>m</kbd> moves it to another column, <kbd>/</kbd> filters.</p>
<buttonname="action"value="settings">SAVE</button><buttonname="action"value="delete"class="danger-btn"data-confirm="Delete this project? Issues and proposals are not touched.">DELETE PROJECT</button>
<pclass="small mute">Move this project to another owner. It takes the next number there, with its columns and cards; this address goes on redirecting to it.</p>
173
<labelfor="pto">New owner</label>
174
<selectid="pto"name="to">{% for o in transfer_to %}<optionvalue="{{ o }}">{{ o }}</option>{% endfor %}</select>