1{% extends "report-base.html.jinja" %} 2{% block title %}Recipe Report for {{ machine }}{% endblock %} 3 4{# Write a tag element using the Upstream-Status to determine the class. #} 5{% macro make_patch_tag(status) -%} 6 {% set status = status.split()[0] %} 7 {% if status in ("Unknown", "Pending") %} 8 {% set class = "is-danger" %} 9 {% elif status in ("Backport", "Accepted", "Inappropriate", "Denied") %} 10 {% set class = "is-success" %} 11 {% elif status in ("Submitted",) %} 12 {% set class = "is-info" %} 13 {% else %} 14 {% set class = "is-info" %} 15 {% endif %} 16 <span class="tag {{ class }}">{{ status }}</span> 17{%- endmacro %} 18 19{% block content %} 20 <!-- TODO table of contents --> 21 22 {% for name, data in data|dictsort if data.needs_update or data.patched %} 23 <h2 class="title is-4"> 24 {{ data.recipe }} {{ data.fullversion }} 25 {% if name != data.recipe %} 26 (provides {{ name }}) 27 {% endif %} 28 {% if data.needs_update %}<span class="tag is-danger">Upgrade Needed</span>{% endif %} 29 <a id="recipe-{{ data.recipe }}" class="has-text-grey-lighter">#</a> 30 </h2> 31 32 {% if data.needs_update %} 33 <p> 34 Recipe is version {{ data.fullversion }}, latest upstream release is <strong>{{ data.upstream }}</strong>. 35 </p> 36 {% endif%} 37 38 {% if data.patched %} 39 <table class="table is-striped is-bordered"> 40 <thead> 41 <tr> 42 <th>Patch</th> 43 <th style="width: 20em">Layer</th> 44 <th style="width: 10em">Status</th> 45 </tr> 46 </thead> 47 <tbody> 48 {% for pinfo in data.patches %} 49 <tr> 50 <td> 51 {% if pinfo.url %}<a href="{{pinfo.url}}">{% endif %} 52 {{ pinfo.name }} 53 {% if pinfo.url %}</a>{% endif %} 54 </td> 55 <td>{{ pinfo.layer }}</td> 56 <!-- TODO: tooltip with full status? --> 57 <td class="has-text-centered">{{ make_patch_tag(pinfo.status)}}</td> 58 </tr> 59 {% endfor %} 60 </tbody> 61 </table> 62 {% endif %} 63 {% endfor %} 64{% endblock %} 65