| {% extends "report-base.html.jinja" %} |
| {% block title %}Recipe Report for {{ machine }}{% endblock %} |
| |
| {# Write a tag element using the Upstream-Status to determine the class. #} |
| {% macro make_patch_tag(status) -%} |
| {% set status = status.split()[0] %} |
| {% if status in ("Unknown", "Pending") %} |
| {% set class = "is-danger" %} |
| {% elif status in ("Backport", "Accepted", "Inappropriate", "Denied") %} |
| {% set class = "is-success" %} |
| {% elif status in ("Submitted",) %} |
| {% set class = "is-info" %} |
| {% else %} |
| {% set class = "is-info" %} |
| {% endif %} |
| <span class="tag {{ class }}">{{ status }}</span> |
| {%- endmacro %} |
| |
| {% block content %} |
| <!-- TODO table of contents --> |
| |
| {% for name, data in data|dictsort if data.needs_update or data.patched %} |
| <h2 class="title is-4"> |
| {{ data.recipe }} {{ data.fullversion }} |
| {% if name != data.recipe %} |
| (provides {{ name }}) |
| {% endif %} |
| {% if data.needs_update %}<span class="tag is-danger">Upgrade Needed</span>{% endif %} |
| <a id="recipe-{{ data.recipe }}" class="has-text-grey-lighter">#</a> |
| </h2> |
| |
| {% if data.needs_update %} |
| <p> |
| Recipe is version {{ data.fullversion }}, latest upstream release is <strong>{{ data.upstream }}</strong>. |
| </p> |
| {% endif%} |
| |
| {% if data.patched %} |
| <table class="table is-striped is-bordered"> |
| <thead> |
| <tr> |
| <th>Patch</th> |
| <th style="width: 20em">Layer</th> |
| <th style="width: 10em">Status</th> |
| </tr> |
| </thead> |
| <tbody> |
| {% for pinfo in data.patches %} |
| <tr> |
| <td> |
| {% if pinfo.url %}<a href="{{pinfo.url}}">{% endif %} |
| {{ pinfo.name }} |
| {% if pinfo.url %}</a>{% endif %} |
| </td> |
| <td>{{ pinfo.layer }}</td> |
| <!-- TODO: tooltip with full status? --> |
| <td class="has-text-centered">{{ make_patch_tag(pinfo.status)}}</td> |
| </tr> |
| {% endfor %} |
| </tbody> |
| </table> |
| {% endif %} |
| {% endfor %} |
| {% endblock %} |