summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/toaster/toastergui/templates/mrb_section.html247
1 files changed, 123 insertions, 124 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/mrb_section.html b/bitbake/lib/toaster/toastergui/templates/mrb_section.html
index 4b4e3e691b..b164269a13 100644
--- a/bitbake/lib/toaster/toastergui/templates/mrb_section.html
+++ b/bitbake/lib/toaster/toastergui/templates/mrb_section.html
@@ -3,6 +3,7 @@
3{% load project_url_tag %} 3{% load project_url_tag %}
4{% load humanize %} 4{% load humanize %}
5<script src="{% static 'js/mrbsection.js' %}"></script> 5<script src="{% static 'js/mrbsection.js' %}"></script>
6
6<script> 7<script>
7 $(document).ready(function () { 8 $(document).ready(function () {
8 var ctx = { 9 var ctx = {
@@ -18,165 +19,163 @@
18 }); 19 });
19</script> 20</script>
20 21
21{%if mru %} 22{% if mru %}
22 23
23 {%if mrb_type == 'project' %} 24 {% if mrb_type == 'project' %}
24 <h2> 25 <h2>
25 Latest project builds 26 Latest project builds
26 27
27 {% if project.is_default %} 28 {% if project.is_default %}
28 <span class="glyphicon glyphicon-question-sign get-help heading-help" title="" data-original-title="Builds in this project cannot be started from Toaster: they are started from the command line"></span> 29 <span class="glyphicon glyphicon-question-sign get-help heading-help" data-original-title="Builds in this project cannot be started from Toaster: they are started from the command line"></span>
29 {% endif %} 30 {% endif %}
30 </h2> 31 </h2>
31 {% else %} 32 {% else %}
32 <div class="page-header"> 33 <div class="page-header">
33 <h1> 34 <h1>Latest builds</h1>
34 Latest builds
35 </h1>
36 </div> 35 </div>
37 {% endif %} 36 {% endif %}
37
38 <div id="latest-builds"> 38 <div id="latest-builds">
39 {% for build in mru %} 39 {% for build in mru %}
40 <div data-latest-build-result="{{ build.id }}" class="alert build-result {%if build.outcome == build.SUCCEEDED%}alert-success{%elif build.outcome == build.FAILED%}alert-danger{%else%}alert-info{%endif%}"> 40 <div data-latest-build-result="{{build.id}}" class="alert build-result {% if build.outcome == build.SUCCEEDED %}alert-success{% elif build.outcome == build.FAILED %}alert-danger{% else %}alert-info{% endif %}">
41 {% if mrb_type != 'project' %} 41 {% if mrb_type != 'project' %}
42 <div class="row project-name"> 42 <div class="row project-name">
43 <div class="col-md-12"> 43 <div class="col-md-12">
44 <small> 44 <small>
45 <a class="alert-link text-uppercase" href={% project_url build.project %}>{{build.project.name}}</a> 45 <a class="alert-link text-uppercase" href={% project_url build.project %}>{{build.project.name}}</a>
46 </small> 46 </small>
47 </div>
47 </div> 48 </div>
48 </div>
49 {% endif %} 49 {% endif %}
50
50 <div class="row"> 51 <div class="row">
51 <div class="col-md-3"> 52 <div class="col-md-3">
52 {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} 53 {% if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
53 <a href="{%url 'builddashboard' build.pk%}" class="alert-link"> 54 <a href="{% url 'builddashboard' build.pk %}" class="alert-link">
54 {% endif %} 55 {% endif %}
56
55 {% if build.target_set.all.count > 0 %} 57 {% if build.target_set.all.count > 0 %}
56 <span data-toggle="tooltip" 58 <span data-toggle="tooltip"
57 {% if build.target_set.all.count > 1 %} 59 {% if build.target_set.all.count > 1 %}
58 {{build.get_sorted_target_list.0.target}} 60 {{build.get_sorted_target_list.0.target}}
59 title="Recipes: 61 title="Recipes:
60 {% for target in build.get_sorted_target_list %} 62 {% for target in build.get_sorted_target_list %}
61 {% if target.task %} 63 {% if target.task %}
62 {{target.target}}:{{target.task}} 64 {{target.target}}:{{target.task}}
63 {% else %} 65 {% else %}
64 {{target.target}} 66 {{target.target}}
65 {% endif %} 67 {% endif %}
66 {% endfor %}" 68 {% endfor %}"
67 {% endif %} 69 {% endif %}
68 > 70 >
69 {% if build.target_set.all.0.task %} 71 {% if build.target_set.all.0.task %}
70 {{build.get_sorted_target_list.0.target}}:{{build.target_set.all.0.task}} 72 {{build.get_sorted_target_list.0.target}}:{{build.target_set.all.0.task}}
71 {% else %} 73 {% else %}
72 {{build.get_sorted_target_list.0.target}} 74 {{build.get_sorted_target_list.0.target}}
73 {% endif %} 75 {% endif %}
76
74 {% if build.target_set.all.count > 1 %} 77 {% if build.target_set.all.count > 1 %}
75 (+{{build.target_set.all.count|add:"-1"}}) 78 (+{{build.target_set.all.count|add:"-1"}})
76 {% endif %} 79 {% endif %}
77 </span> 80 </span>
78 {% endif %} 81 {% endif %}
79 {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} 82 {% if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
80 </a> 83 </a>
81 {% endif %} 84 {% endif %}
82 </div> 85 </div>
83 {% if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} 86
87 {% if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
84 <div class="col-md-2"> 88 <div class="col-md-2">
85 {% if build.completed_on|format_build_date %} 89 {% if build.completed_on|format_build_date %}
86 {{ build.completed_on|date:'d/m/y H:i' }} 90 {{build.completed_on|date:'d/m/y H:i'}}
87 {% else %} 91 {% else %}
88 {{ build.completed_on|date:'H:i' }} 92 {{ build.completed_on|date:'H:i' }}
89 {% endif %} 93 {% endif %}
90 </div> 94 </div>
91 {% endif %} 95 {% endif %}
92 {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} 96
97 {% if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
93 <div class="col-md-2"> 98 <div class="col-md-2">
94 {% if build.errors.count %} 99 {% if build.errors.count %}
95 <span class="glyphicon glyphicon-minus-sign"></span> 100 <span class="glyphicon glyphicon-minus-sign"></span>
96 <a href="{%url 'builddashboard' build.pk%}#errors" class="alert-link">{{build.errors.count}} error{{build.errors.count|pluralize}}</a> 101 <a href="{%url 'builddashboard' build.pk%}#errors" class="alert-link">
97 {% endif %} 102 {{build.errors.count}} error{{build.errors.count|pluralize}}
103 </a>
104 {% endif %}
98 </div> 105 </div>
106
99 <div class="col-md-2"> 107 <div class="col-md-2">
100 {% if build.warnings.count %} 108 {% if build.warnings.count %}
101 <span class="glyphicon glyphicon-warning-sign build-warnings"></span> 109 <span class="glyphicon glyphicon-warning-sign build-warnings"></span>
102 <a href="{%url 'builddashboard' build.pk%}#warnings" class="alert-link build-warnings">{{build.warnings.count}} warning{{build.warnings.count|pluralize}}</a> 110 <a href="{%url 'builddashboard' build.pk%}#warnings" class="alert-link build-warnings">
103 {% endif %} 111 {{build.warnings.count}} warning{{build.warnings.count|pluralize}}
112 </a>
113 {% endif %}
104 </div> 114 </div>
115
105 <div class="col-md-3"> 116 <div class="col-md-3">
106 Build time: <a class="alert-link" href="{% url 'buildtime' build.pk %}">{{ build.timespent_seconds|sectohms }} 117 Build time: <a class="alert-link" href="{% url 'buildtime' build.pk %}">{{ build.timespent_seconds|sectohms }}
107 </a> 118 </a>
119
108 {% if build.project.is_default %} 120 {% if build.project.is_default %}
109 <span class="pull-right glyphicon glyphicon-question-sign get-help 121 <span class="pull-right glyphicon glyphicon-question-sign get-help {% if build.outcome == build.SUCCEEDED %}get-help-green{% elif build.outcome == build.FAILED %}get-help-red{% else %}get-help-blue{% endif %}"
110 {% if build.outcome == build.SUCCEEDED %} 122 title="Builds in this project cannot be started from Toaster: they are started from the command line">
111 get-help-green 123 </span>
112 {% elif build.outcome == build.FAILED %}
113 get-help-red
114 {% else %}
115 get-help-blue
116 {% endif %}
117 " title="Builds in this project cannot be started from Toaster: they are started from the command line">
118 </span>
119 {% else %} 124 {% else %}
120 <a href="#" class="run-again-btn alert-link 125 <a href="#" class="run-again-btn alert-link {% if build.outcome == build.SUCCEEDED %}success{% elif build.outcome == build.FAILED %}danger{% else %}info{% endif %} pull-right"
121 {% if build.outcome == build.SUCCEEDED %} 126 data-request-url="{% url 'xhr_buildrequest' build.project.pk %}"
122 success 127 data-target='{{build.target_set.all|get_tasks|json}}'>
123 {% elif build.outcome == build.FAILED %} 128 <span class="glyphicon glyphicon-repeat"></span>
124 danger 129 Rebuild
125 {% else %} 130 </a>
126 info
127 {%endif%}
128 pull-right"
129 data-request-url="{% url 'xhr_buildrequest' build.project.pk %}"
130 data-target='{{build.target_set.all|get_tasks|json}}'>
131 <span class="glyphicon glyphicon-repeat"></span>
132 Rebuild
133 </a>
134 {% endif %} 131 {% endif %}
135 </div> 132 </div>
136 {%endif%} 133 {% endif %}
137 134
138 {%if build.outcome == build.IN_PROGRESS %} 135 {% if build.outcome == build.IN_PROGRESS %}
139 <div class="col-md-4" style="display:none" id="cancelling-msg-{{build.buildrequest.pk}}"> 136 <div class="col-md-4" style="display:none" id="cancelling-msg-{{build.buildrequest.pk}}">
140 Cancelling the build ... 137 Cancelling the build ...
141 </div> 138 </div>
142 <div class="col-md-4 col-md-offset-1 progress-info">
143 <div class="progress" id="build-pc-done-title-{{build.pk}}">
144 <div id="build-pc-done-bar-{{build.pk}}" style="width: {{build.completeper}}%;" class="progress-bar"></div>
145 </div>
146 </div>
147 <div class="col-md-4 progress-info"><span id="build-pc-done-{{build.pk}}">{{build.completeper}}</span>% of tasks complete
148 {# No build cancel for command line builds project #}
149 {% if build.project.is_default %}
150 <span class="glyphicon glyphicon-question-sign get-help get-help-blue pull-right" title="Builds in this project cannot be cancelled from Toaster: they can only be cancelled from the command line"></span>
151 {% else %}
152 <a href="#" class="cancel-build-btn pull-right alert-link"
153 data-buildrequest-id={{build.buildrequest.pk}}
154 data-request-url="{% url 'xhr_buildrequest' build.project.pk %}" >
155 <span class="glyphicon glyphicon-remove-circle"></span>
156 Cancel
157 </a>
158 </div>
159 {% endif %}
160 139
161 {%endif%} {# end if in progress #} 140 <div class="col-md-4 col-md-offset-1 progress-info">
141 <div class="progress" id="build-pc-done-title-{{build.pk}}">
142 <div id="build-pc-done-bar-{{build.pk}}" style="width: {{build.completeper}}%;" class="progress-bar">
143 </div>
144 </div>
145 </div>
162 146
163 {% if build.outcome == build.CANCELLED %} 147 <div class="col-md-4 progress-info">
164 <div class="col-md-6"> 148 <span id="build-pc-done-{{build.pk}}">{{build.completeper}}</span>% of tasks complete
165 Build cancelled 149 {# No build cancel for command line builds project #}
166 </div> 150 {% if build.project.is_default %}
167 <div class="col-md-3"> 151 <span class="glyphicon glyphicon-question-sign get-help get-help-blue pull-right" title="Builds in this project cannot be cancelled from Toaster: they can only be cancelled from the command line"></span>
168 <a href="#" class="info pull-right run-again-btn alert-link" 152 {% else %}
169 data-request-url="{% url 'xhr_buildrequest' build.project.pk %}" 153 <a href="#" class="cancel-build-btn pull-right alert-link"
170 data-target='{{build.target_set.all|get_tasks|json}}'> 154 data-buildrequest-id={{build.buildrequest.pk}}
171 <span class="glyphicon glyphicon-repeat"></span> 155 data-request-url="{% url 'xhr_buildrequest' build.project.pk %}">
172 Rebuild 156 <span class="glyphicon glyphicon-remove-circle"></span>
173 </a> 157 Cancel
174 </div> 158 </a>
175 {% endif %} 159 {% endif %}
176 </div> 160 </div>
177</div> 161 {% endif %} {# end if in progress #}
178 {% endfor %}
179 </div>
180 162
181{%endif%} 163 {% if build.outcome == build.CANCELLED %}
164 <div class="col-md-6">
165 Build cancelled
166 </div>
182 167
168 <div class="col-md-3">
169 <a href="#" class="info pull-right run-again-btn alert-link"
170 data-request-url="{% url 'xhr_buildrequest' build.project.pk %}"
171 data-target='{{build.target_set.all|get_tasks|json}}'>
172 <span class="glyphicon glyphicon-repeat"></span>
173 Rebuild
174 </a>
175 </div>
176 {% endif %}
177 </div>
178 </div>
179 {% endfor %}
180 </div>
181{% endif %} \ No newline at end of file