summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/templates/builds.html
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates/builds.html')
-rw-r--r--bitbake/lib/toaster/toastergui/templates/builds.html105
1 files changed, 105 insertions, 0 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/builds.html b/bitbake/lib/toaster/toastergui/templates/builds.html
new file mode 100644
index 0000000000..e9211affcd
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/builds.html
@@ -0,0 +1,105 @@
1{% extends "base.html" %}
2
3{% load static %}
4{% load projecttags %}
5{% load humanize %}
6
7{% block extraheadcontent %}
8<link rel="stylesheet" href="/static/css/jquery-ui.min.css" type='text/css'>
9<link rel="stylesheet" href="/static/css/jquery-ui.structure.min.css" type='text/css'>
10<link rel="stylesheet" href="/static/css/jquery-ui.theme.min.css" type='text/css'>
11<script src="/static/js/jquery-ui.min.js"></script>
12<script src="/static/js/filtersnippet.js"></script>
13{% endblock %}
14
15{% block pagecontent %}
16
17{% if last_date_from and last_date_to %}
18<script>
19 // initialize the date range controls
20 $(document).ready(function () {
21 date_init('started_on','{{last_date_from}}','{{last_date_to}}','{{dateMin_started_on}}','{{dateMax_started_on}}','{{daterange_selected}}');
22 date_init('completed_on','{{last_date_from}}','{{last_date_to}}','{{dateMin_completed_on}}','{{dateMax_completed_on}}','{{daterange_selected}}');
23 });
24</script>
25{%endif%} {# last_date_from and last_date_to #}
26
27<div class="row-fluid">
28
29 {% include "mrb_section.html" %}
30
31
32 {% if 1 %}
33 <div class="page-header top-air">
34 <h1>
35 {% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %}
36 {{objects.paginator.count}} build{{objects.paginator.count|pluralize}} found
37 {%elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %}
38 No builds found
39 {%else%}
40 All builds
41 {%endif%}
42 </h1>
43 </div>
44
45 {% if objects.paginator.count == 0 %}
46 <div class="row-fluid">
47 <div class="alert">
48 <form class="no-results input-append" id="searchform">
49 <input id="search" name="search" class="input-xxlarge" type="text" value="{{request.GET.search}}"/>{% if request.GET.search %}<a href="javascript:$('#search').val('');searchform.submit()" class="add-on btn" tabindex="-1"><i class="icon-remove"></i></a>{% endif %}
50 <button class="btn" type="submit" value="Search">Search</button>
51 <button class="btn btn-link" onclick="javascript:$('#search').val('');searchform.submit()">Show all builds</button>
52 </form>
53 </div>
54 </div>
55
56
57 {% else %}
58 {% include "basetable_top_buildprojects.html" %}
59 <!-- Table data rows; the order needs to match the order of "tablecols" definitions; and the <td class value needs to match the tablecols clclass value for show/hide buttons to work -->
60 {% for build in objects %}
61 <tr class="data">
62 <td class="outcome">
63 <a href="{% url "builddashboard" build.id %}">{%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%}</a> &nbsp;
64 </td>
65 <td class="target">{% for t in build.target_set.all %} <a href="{% url "builddashboard" build.id %}"> {{t.target}} </a> <br />{% endfor %}</td>
66 <td class="machine"><a href="{% url "builddashboard" build.id %}">{{build.machine}}</a></td>
67 <td class="started_on"><a href="{% url "builddashboard" build.id %}">{{build.started_on|date:"d/m/y H:i"}}</a></td>
68 <td class="completed_on"><a href="{% url "builddashboard" build.id %}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>
69 <td class="failed_tasks error">
70 {% query build.task_build outcome=4 order__gt=0 as exectask%}
71 {% if exectask.count == 1 %}
72 <a href="{% url "task" build.id exectask.0.id %}">{{exectask.0.recipe.name}}.{{exectask.0.task_name}}</a>
73 <a href="{% url 'build_artifact' build.id "tasklogfile" exectask.0.id %}">
74 <i class="icon-download-alt" title="" data-original-title="Download task log file"></i>
75 </a>
76 {% elif exectask.count > 1%}
77 <a href="{% url "tasks" build.id %}?filter=outcome%3A4">{{exectask.count}} task{{exectask.count|pluralize}}</a>
78 {%endif%}
79 </td>
80 <td class="errors_no">
81 {% if build.errors_no %}
82 <a class="errors_no error" href="{% url "builddashboard" build.id %}#errors">{{build.errors_no}} error{{build.errors_no|pluralize}}</a>
83 {%endif%}
84 </td>
85 <td class="warnings_no">{% if build.warnings_no %}<a class="warnings_no warning" href="{% url "builddashboard" build.id %}#warnings">{{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>
86 <td class="time"><a href="{% url "buildtime" build.id %}">{{build.timespent|sectohms}}</a></td>
87 <td class="output">
88 {% if build.outcome == build.SUCCEEDED %}
89 <a href="{%url "builddashboard" build.id%}#images">{{fstypes|get_dict_value:build.id}}</a>
90 {% endif %}
91 </td>
92 <td>
93 <a href="{% url 'project' build.project.id %}">{{build.project.name}}</a>
94 </td>
95 </tr>
96
97 {% endfor %}
98
99
100 {% include "basetable_bottom.html" %}
101 {% endif %} {# objects.paginator.count #}
102{% endif %} {# empty #}
103</div><!-- end row-fluid-->
104
105{% endblock %}