summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/templates
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates')
-rw-r--r--bitbake/lib/toaster/toastergui/templates/base.html64
-rw-r--r--bitbake/lib/toaster/toastergui/templates/basebuildpage.html69
-rw-r--r--bitbake/lib/toaster/toastergui/templates/basetable.html64
-rw-r--r--bitbake/lib/toaster/toastergui/templates/basetable_bottom.html60
-rw-r--r--bitbake/lib/toaster/toastergui/templates/basetable_top.html66
-rw-r--r--bitbake/lib/toaster/toastergui/templates/bpackage.html12
-rw-r--r--bitbake/lib/toaster/toastergui/templates/build.html115
-rw-r--r--bitbake/lib/toaster/toastergui/templates/builddashboard.html8
-rw-r--r--bitbake/lib/toaster/toastergui/templates/buildtime.html4
-rw-r--r--bitbake/lib/toaster/toastergui/templates/configuration.html10
-rw-r--r--bitbake/lib/toaster/toastergui/templates/cpuusage.html4
-rw-r--r--bitbake/lib/toaster/toastergui/templates/diskio.html4
-rw-r--r--bitbake/lib/toaster/toastergui/templates/recipe.html15
-rw-r--r--bitbake/lib/toaster/toastergui/templates/target.html8
-rw-r--r--bitbake/lib/toaster/toastergui/templates/task.html11
15 files changed, 374 insertions, 140 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/base.html b/bitbake/lib/toaster/toastergui/templates/base.html
index d58cbeaed5..3508962e67 100644
--- a/bitbake/lib/toaster/toastergui/templates/base.html
+++ b/bitbake/lib/toaster/toastergui/templates/base.html
@@ -1,30 +1,64 @@
1<!DOCTYPE html> 1<!DOCTYPE html>
2{% load static %} 2{% load static %}
3<html> 3<html>
4 <head> 4 <head>
5 <title>Toaster Simple Explorer</title> 5 <title>Toaster</title>
6<script src="{% static 'js/jquery-2.0.3.js' %}"> 6<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" type="text/css">
7<link rel="stylesheet" href="{% static 'css/bootstrap-responsive.min.css' %}" type='text/css'>
8<link rel="stylesheet" href="{% static 'css/font-awesome.min.css' %}" type='text/css'>
9<link rel="stylesheet" href="{% static 'css/prettify.css' %}" type='text/css'>
10<link rel="stylesheet" href="{% static 'css/default.css' %}" type='text/css'>
11<meta name="viewport" content="width=device-width, initial-scale=1.0" />
12<script src="{% static 'js/jquery-2.0.3.min.js' %}">
7</script> 13</script>
8<script src="{% static 'js/bootstrap.js' %}"> 14<script src="{% static 'js/bootstrap.min.js' %}">
9</script> 15</script>
10<link href="{% static 'css/bootstrap.css' %}" rel="stylesheet" type="text/css"> 16<script src="{% static 'js/prettify.js' %}">
11 </head> 17</script>
18<script src="{% static 'js/main.js' %}">
19</script>
20<script>
21function reload_params(params) {
22 uri = window.location.href;
23 [url, parameters] = uri.split("?");
24 // deserialize the call parameters
25 cparams = parameters.split("&");
26 nparams = {}
27 for (i = 0; i < cparams.length; i++) {
28 temp = cparams[i].split("=");
29 nparams[temp[0]] = temp[1];
30 }
31 // update parameter values
32 for (i in params) {
33 nparams[encodeURIComponent(i)] = encodeURIComponent(params[i]);
34 }
35 // serialize the structure
36 callparams = []
37 for (i in nparams) {
38 callparams.push(i+"="+nparams[i]);
39 }
40 window.location.href = url+"?"+callparams.join('&');
41
42}
43</script>
44 </head>
12 45
13<body style="height: 100%"> 46<body style="height: 100%">
14<div style="width:100%; height: 100%; position:absolute"> 47<div class="navbar navbar-static-top">
15<div style="width: 100%; height: 3em" class="nav"> 48 <div class="navbar-inner">
16 <ul class="nav nav-tabs"> 49 <a class="brand logo" href="#"><img src="{% static 'img/logo.png' %}" class="" alt="Yocto logo project"/></a>
17 <li><a href="{% url "all-builds" %}">All Builds</a></li> 50 <a class="brand" href="/">Toaster</a>
18 <li><a href="{% url "all-layers" %}">All Layers</a></li> 51 <a class="pull-right manual" href="#">
19 </ul> 52 <i class="icon-book"></i>
53 Toaster manual
54 </a>
55 </div>
20</div> 56</div>
21 57
22<div style="overflow-y:scroll; width: 100%; position: absolute; top: 3em; bottom:70px "> 58<div class="container-fluid">
23{% block pagecontent %} 59{% block pagecontent %}
24{% endblock %} 60{% endblock %}
25</div> 61</div>
26<div class="navbar" style="position: absolute; bottom: 0; width:100%"><br/>About Toaster | Yocto Project </div>
27</div>
28</body> 62</body>
29</html> 63</html>
30 64
diff --git a/bitbake/lib/toaster/toastergui/templates/basebuildpage.html b/bitbake/lib/toaster/toastergui/templates/basebuildpage.html
index d590f28bc5..1b037f9539 100644
--- a/bitbake/lib/toaster/toastergui/templates/basebuildpage.html
+++ b/bitbake/lib/toaster/toastergui/templates/basebuildpage.html
@@ -1,17 +1,56 @@
1{% extends "basetable.html" %} 1{% extends "base.html" %}
2 2{% load humanize %}
3{% block pagename %} 3{% block pagecontent %}
4<ul class="nav nav-tabs" style="display: inline-block"> 4
5 <li><a>Build {{build.target_set.all|join:"&nbsp;"}} at {{build.started_on}} : </a></li> 5
6 <li><a href="{% url "task" build.id %}"> Tasks </a></li> 6 <div class="span12">
7 <li><a href="{% url "bpackage" build.id %}"> Build Packages </a></li> 7<!-- Breadcrumbs -->
8 {% for t in build.target_set.all %} 8 <div class="section">
9 {% if t.is_image %} 9 <ul class="breadcrumb" id="breadcrumb">
10 <li><a href="{% url "tpackage" build.id t.pk %}"> Packages for {{t.target}} </a> </li> 10<li><a href="{% url 'all-builds' %}">All builds</a></li>
11 {% endif %} 11<li><a href="{%url 'builddashboard' build.pk%}">{{build.target_set.all.0.target}} {%if build.target_set.all.count > 1%}(+ {{build.target_set.all.count|add:"-1"}}){%endif%} {{build.machine}} ({{build.completed_on|naturaltime}})</a></li>
12 {% endfor %} 12 {% block localbreadcrumb %}{% endblock %}
13 <li><a href="{% url "configuration" build.id %}"> Configuration </a> </li> 13 </ul>
14</ul> 14 <script>
15 <h1>Toaster - Build {% block pagetitle %} {% endblock %}</h1> 15 $( function () {
16 $('#breadcrumb > li').append("<span class=\"divider\">→</span>");
17 $('#breadcrumb > li:last').addClass("active");
18 $('#breadcrumb > li:last > span').remove();
19 });
20 </script>
21 </div>
22
23 <div class="row-fluid">
24
25 <!-- begin left sidebar container -->
26 <div id="nav" class="span2">
27 <ul class="nav nav-list well">
28 <li class="nav-header">Images</li>
29 {% for t in build.target_set.all %}
30 <li><a href="{% url 'target' build.pk t.pk %}">{{t.target}}</a><li>
31 {% endfor %}
32 <li class="nav-header">Build</li>
33 <li><a href="{% url 'configuration' build.pk %}">Configuration</a></li>
34 <li><a href="{% url 'tasks' build.pk %}">Tasks</a></li>
35 <li><a href="{% url 'recipes' build.pk %}">Recipes</a></li>
36 <li><a href="{% url 'packages' build.pk %}">Packages</a></li>
37 <li class="nav-header">Performance</li>
38 <li><a href="{% url 'buildtime' build.pk %}">Time</a></li>
39 <li><a href="{% url 'cpuusage' build.pk %}">CPU usage</a></li>
40 <li><a href="{% url 'diskio' build.pk %}">Disk I/O</a></li>
41 </ul>
42 </div>
43
44 <!-- end left sidebar container -->
45 <!-- Begin right container -->
46 <div class="row span10">
47 {% block buildinfomain %}{% endblock %}
48 </div>
49
50
51 </div>
52 </div>
53
54
16{% endblock %} 55{% endblock %}
17 56
diff --git a/bitbake/lib/toaster/toastergui/templates/basetable.html b/bitbake/lib/toaster/toastergui/templates/basetable.html
deleted file mode 100644
index 16628eafbe..0000000000
--- a/bitbake/lib/toaster/toastergui/templates/basetable.html
+++ /dev/null
@@ -1,64 +0,0 @@
1{% extends "base.html" %}
2
3{% block pagecontent %}
4<script>
5function showhideTableColumn(i, sh) {
6 if (sh)
7 $('td:nth-child('+i+'),th:nth-child('+i+')').show();
8 else
9 $('td:nth-child('+i+'),th:nth-child('+i+')').hide();
10}
11
12
13function filterTableRows(test) {
14 if (test.length > 0) {
15 var r = test.split(/[ ,]+/).map(function (e) { return new RegExp(e, 'i') });
16 $('tr.data').map( function (i, el) {
17 (! r.map(function (j) { return j.test($(el).html())}).reduce(function (c, p) { return c && p;} )) ? $(el).hide() : $(el).show();
18 });
19 } else
20 {
21 $('tr.data').show();
22 }
23}
24</script>
25<div style="margin-bottom: 0.5em">
26
27 {% block pagename %}
28 {% endblock %}
29 <div align="left" style="display:inline-block; width: 40%; margin-left: 2em"> Filter: <input type="search" id="filterstring" style="width: 80%" onkeyup="filterTableRows($('#filterstring').val())" autocomplete="off">
30 </div>
31 {% if hideshowcols %}
32 <div align="right" style="display: inline-block; width: 40%">Show/Hide columns:
33 {% for i in hideshowcols %}
34 <span>{{i.name}} <input type="checkbox" id="ct{{i.name}}" onchange="showhideTableColumn({{i.order}}, $('#ct{{i.name}}').is(':checked'))" checked autocomplete="off"></span> |
35 {% endfor %}
36 </div>
37 {% endif %}
38</div>
39
40 <div style="display: block; float:right; margin-left: auto; margin-right:5em"><span class="pagination" style="vertical-align: top; margin-right: 3em">Showing {{objects.start_index}} to {{objects.end_index}} out of {{objects.paginator.count}} entries.&nbsp;</span>
41 <ul class="pagination" style="display: block-inline">
42{%if objects.has_previous %}
43 <li><a href="?page={{objects.previous_page_number}}">&laquo;</a></li>
44{%else%}
45 <li class="disabled"><a href="#">&laquo;</a></li>
46{%endif%}
47{% for i in objects.page_range %}
48 <li{%if i == objects.number %} class="active" {%endif%}><a href="?page={{i}}">{{i}}</a></li>
49{% endfor %}
50{%if objects.has_next%}
51 <li><a href="?page={{objects.next_page_number}}">&raquo;</a></li>
52{%else%}
53 <li class="disabled"><a href="#">&raquo;</a></li>
54{%endif%}
55 </ul>
56</div>
57
58 <table class="table table-striped table-condensed" style="width:95%">
59{% block pagetable %}
60{% endblock %}
61 </table>
62</div>
63
64{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/basetable_bottom.html b/bitbake/lib/toaster/toastergui/templates/basetable_bottom.html
new file mode 100644
index 0000000000..2a6f084929
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/basetable_bottom.html
@@ -0,0 +1,60 @@
1 </table>
2
3<!-- Show pagination controls -->
4<div class="pagination pagination-centered">
5 <div class="pull-left">
6 Showing {{objects.start_index}} to {{objects.end_index}} out of {{objects.paginator.count}} entries.
7 </div>
8
9 <ul class="pagination" style="display: block-inline">
10{%if objects.has_previous %}
11 <li><a href="?page={{objects.previous_page_number}}&count={{request.GET.count}}">&laquo;</a></li>
12{%else%}
13 <li class="disabled"><a href="#">&laquo;</a></li>
14{%endif%}
15{% for i in objects.page_range %}
16 <li{%if i == objects.number %} class="active" {%endif%}><a href="?page={{i}}&count={{request.GET.count}}">{{i}}</a></li>
17{% endfor %}
18{%if objects.has_next%}
19 <li><a href="?page={{objects.next_page_number}}&count={{request.GET.count}}">&raquo;</a></li>
20{%else%}
21 <li class="disabled"><a href="#">&raquo;</a></li>
22{%endif%}
23 </ul>
24 <div class="pull-right">
25 <span class="help-inline" style="padding-top:5px;">Show rows:</span>
26 <select style="margin-top:5px;margin-bottom:0px;" class="pagesize">
27 {% with "2 5 10 25 50 100" as list%}
28 {% for i in list.split %}<option{%if i == request.GET.count %} selected{%endif%}>{{i}}</option>
29 {% endfor %}
30 {% endwith %}
31 </select>
32 </div>
33</div>
34
35<!-- Update page display settings -->
36
37<script>
38 $(document).ready(function() {
39
40 $('.chbxtoggle').each(function () {
41 showhideTableColumn($(this).attr('id'), $(this).is(':checked'))
42 });
43
44 //turn edit columns dropdown into a multi-select menu
45 $('.dropdown-menu input, .dropdown-menu label').click(function(e) {
46 e.stopPropagation();
47 });
48
49 //show tooltip with applied filter
50 $('#filtered').tooltip({container:'table', placement:'bottom', delay:{hide:1500}, html:true});
51
52 //progress bar tooltip
53 $('.progress, .lead span').tooltip({container:'table', placement:'top'});
54
55 $(".pagesize").change(function () {
56 $(".pagesize option:selected").each(function ()
57 {reload_params({"count":$(this).text()}); });
58 });
59});
60</script>
diff --git a/bitbake/lib/toaster/toastergui/templates/basetable_top.html b/bitbake/lib/toaster/toastergui/templates/basetable_top.html
new file mode 100644
index 0000000000..b9277b4a3d
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/basetable_top.html
@@ -0,0 +1,66 @@
1<!-- component to display a generic table -->
2 <script>
3 function showhideTableColumn(clname, sh) {
4 if (sh) $('.' + clname).show();
5 else $('.' + clname).hide();
6 }
7
8
9 function filterTableRows(test) {
10 if (test.length > 0) {
11 var r = test.split(/[ ,]+/).map(function (e) { return new RegExp(e, 'i') });
12 $('tr.data').map( function (i, el) {
13 (! r.map(function (j) { return j.test($(el).html())}).reduce(function (c, p) { return c && p;} )) ? $(el).hide() : $(el).show();
14 });
15 } else
16 {
17 $('tr.data').show();
18 }
19 }
20 </script>
21
22<!-- control header -->
23<div class="navbar">
24 <div class="navbar-inner">
25 <form class="navbar-search input-append pull-left">
26 <input class="input-xxlarge" type="text" placeholder="Search {{objectname}}" />
27 <button class="btn" type="button">Search</button>
28 </form>
29 <div class="pull-right">
30
31 {% if tablecols %}
32 <div class="btn-group">
33 <button class="btn dropdown-toggle" data-toggle="dropdown">
34 Edit columns
35 <span class="caret"></span>
36 </button>
37 <ul class="dropdown-menu">
38
39 {% for i in tablecols %}
40 <li>
41 <label class="checkbox">
42<input type="checkbox" class="chbxtoggle" id="{{i.clclass}}" value="ct{{i.name}}" {% if i.clclass %}{% if not i.hidden %}checked="checked"{%endif%} onchange="showhideTableColumn($(this).attr('id'), $(this).is(':checked'))" {%else%} disabled{% endif %}/> {{i.name}}
43 </label>
44 </li>
45 {% endfor %}
46 </ul>
47 </div>
48 {% endif %}
49
50 <div style="display:inline">
51 <span class="divider-vertical"></span>
52 <span class="help-inline" style="padding-top:5px;">Show rows:</span>
53 <select style="margin-top:5px;margin-bottom:0px;" class="pagesize">
54 {% with "2 5 10 25 50 100" as list%}
55 {% for i in list.split %}<option{%if i == request.GET.count %} selected{%endif%}>{{i}}</option>
56 {% endfor %}
57 {% endwith %}
58 </select>
59 </div>
60 </div>
61 </div>
62 </div>
63
64<!-- the actual rows of the table -->
65 <table class="table table-bordered table-hover tablesorter" id="otable">
66
diff --git a/bitbake/lib/toaster/toastergui/templates/bpackage.html b/bitbake/lib/toaster/toastergui/templates/bpackage.html
index 67fc65ca3e..3329ddae51 100644
--- a/bitbake/lib/toaster/toastergui/templates/bpackage.html
+++ b/bitbake/lib/toaster/toastergui/templates/bpackage.html
@@ -1,7 +1,12 @@
1{% extends "basebuildpage.html" %} 1{% extends "basebuildpage.html" %}
2 2
3{% block pagetitle %}Packages{% endblock %} 3{% block localbreadcrumb %}
4{% block pagetable %} 4<li>Packages</li>
5{% endblock %}
6
7{% block buildinfomain %}
8{% include "basetable_top.html" %}
9
5 {% if not objects %} 10 {% if not objects %}
6 <p>No packages were recorded for this target!</p> 11 <p>No packages were recorded for this target!</p>
7 {% else %} 12 {% else %}
@@ -21,7 +26,7 @@
21 {% for package in objects %} 26 {% for package in objects %}
22 27
23 <tr class="data"> 28 <tr class="data">
24 <td><a name="#{{package.name}}" href="{% url "bfile" build.pk package.pk %}">{{package.name}} ({{package.filelist_bpackage.count}} files)</a></td> 29 <td><a name="#{{package.name}}" href="{% url "package" build.pk package.pk %}">{{package.name}} ({{package.filelist_bpackage.count}} files)</a></td>
25 <td>{{package.version}}-{{package.revision}}</td> 30 <td>{{package.version}}-{{package.revision}}</td>
26 <td>{%if package.recipe%}<a href="{% url "layer_versions_recipes" package.recipe.layer_version_id %}#{{package.recipe.name}}">{{package.recipe.name}}</a>{{package.package_name}}</a>{%endif%}</td> 31 <td>{%if package.recipe%}<a href="{% url "layer_versions_recipes" package.recipe.layer_version_id %}#{{package.recipe.name}}">{{package.recipe.name}}</a>{{package.package_name}}</a>{%endif%}</td>
27 32
@@ -41,4 +46,5 @@
41 46
42 {% endif %} 47 {% endif %}
43 48
49{% include "basetable_bottom.html" %}
44{% endblock %} 50{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/build.html b/bitbake/lib/toaster/toastergui/templates/build.html
index 4fa87d5271..27ce1ccbc5 100644
--- a/bitbake/lib/toaster/toastergui/templates/build.html
+++ b/bitbake/lib/toaster/toastergui/templates/build.html
@@ -1,43 +1,96 @@
1{% extends "basetable.html" %} 1{% extends "base.html" %}
2
3
4{% load projecttags %}
5{% load humanize %}
6
7{% block pagecontent %}
8<div class="row-fluid">
9
10<div class="page-header" style="margin-top:40px;">
11 <h1>
12 Recent Builds
13 </h1>
14</div>
15{{build_mru}}
16{% for build in mru %}
17<div class="alert {%if build.outcome == build.SUCCEEDED%}alert-success{%elif build.outcome == build.FAILED%}alert-error{%else%}alert-info{%endif%}">
18 <div class="row-fluid">
19 <div class="lead span5">
20 {%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%}
21 <a href="{%url 'builddashboard' build.pk%}">
22 <span data-toggle="tooltip" {%if build.target_set.all.count > 1%}title="Targets: {%for target in build.target_set.all%}{{target.target}} {%endfor%}"{%endif%}>{{build.target_set.all.0.target}} {%if build.target_set.all.count > 1%}(+ {{build.target_set.all.count|add:"-1"}}){%endif%} {{build.machine}} ({{build.completed_on|naturaltime}})</span>
23 </a>
24 </div>
25{%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
26 <div class="span2 lead">
27{% if build.errors_no %}
28 <i class="icon-minus-sign red"></i> <a href="{%url 'builddashboard' build.pk%}" class="error">{{build.errors_no}} error{{build.errors_no|pluralize}}</a>
29{% endif %}
30 </div>
31 <div class="span2 lead">
32{% if build.warnings_no %}
33 <i class="icon-warning-sign yellow"></i> <a href="{%url 'builddashboard' build.pk%}" class="warning">{{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a>
34{% endif %}
35 </div>
36 <div class="lead pull-right">
37 Build time: <a href="build-time.html">{{ build|timespent }}</a>
38 </div>
39{%endif%}{%if build.outcome == build.IN_PROGRESS %}
40 <div class="span4">
41 <div class="progress" style="margin-top:5px;" data-toggle="tooltip" title="{{build.completeper}}% of tasks complete">
42 <div style="width: {{build.completeper}}%;" class="bar"></div>
43 </div>
44 </div>
45 <div class="lead pull-right">ETA: in {{build.eta|naturaltime}}</div>
46{%endif%}
47 </div>
48</div>
49
50{% endfor %}
2 51
3{% block pagename %}
4 <h1>Toaster - Builds</h1>
5{% endblock %}
6 52
7{% block pagetable %} 53<div class="page-header" style="margin-top:40px;">
54 <h1>
55 All builds
56 </h1>
57</div>
58
59{% include "basetable_top.html" %}
8 60
9 {% load projecttags %}
10 <tr> 61 <tr>
11 <th>Outcome</th> 62 <th class="outcome span2"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The outcome tells you if a build completed successfully or failed"></i> <a href="#" style="font-weight:normal;">Outcome</a> <div class="btn-group pull-right"> <a href="#outcome" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> </th>
12 <th>Started On</th> 63 <th class="target"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="This is the build target(s): one or more recipes or image recipes"></i> <a href="#" style="font-weight:normal;">Target</a> </th>
13 <th>Completed On</th> 64 <th class="machine span3"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The machine is the hardware for which you are building"></i> <a href="#" style="font-weight:normal;">Machine</a> </th>
14 <th>Target</th> 65 <th class="started_on"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The date and time you started the build"></i> <a href="#" style="font-weight:normal;">Started on</a> <div class="btn-group pull-right"> <a href="#started-on" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> </th>
15 <th>Machine</th> 66 <th class="completed_on"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The date and time the build finished"></i> <a href="#" class="sorted"> Completed on </a> <div class="btn-group pull-right"> <a href="#completed-on" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> <i class="icon-caret-down"></i> </th>
16 <th>Time</th> 67 <th class="failed_tasks"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="How many tasks failed during the build"></i> <a href="#" style="font-weight:normal;">Failed tasks</a> <div class="btn-group pull-right"> <a href="#failed-tasks" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> <!--div id="filtered" class="btn-group pull-right" title="<p>Showing only builds with failed tasks</p><p><a class='btn btn-mini btn-primary' href='#'>Show all builds</a></p>"> <a class="btn btn-mini btn-primary"> <i class="icon-filter"></i> </a> </div--> </th>
17 <th>Errors</th> 68 <th class="errors"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="How many errors were encountered during the build (if any)"></i> <a href="#" style="font-weight:normal;">Errors</a> <div class="btn-group pull-right"> <a href="#errors" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> </th>
18 <th>Warnings</th> 69 <th class="warnings"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="How many warnigns were encountered during the build (if any)"></i> <a href="#" style="font-weight:normal;">Warnings</a> <div class="btn-group pull-right"> <a href="#warnings" role="button" class="btn btn-mini" data-toggle="modal"> <i class="icon-filter"></i> </a> </div> <!--div id="filtered" class="btn-group pull-right" title="<p>Showing only builds without warnings</p><p><a class='btn btn-mini btn-primary' href='#'>Show all builds</a></p>"> <a class="btn btn-mini btn-primary"> <i class="icon-filter"></i> </a> </div--> </th>
19 <th>Output</th> 70 <th class="time"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="How long it took the build to finish"></i> <a href="#" style="font-weight:normal;">Time</a> </th>
20 <th>Log</th> 71 <th class="log span4"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The location in disk of the build main log file"></i> <a href="#" style="font-weight:normal;">Log</a> </th>
21 <th>Bitbake Version</th> 72 <th class="output"> <i class="icon-question-sign get-help" data-toggle="tooltip" title="The root file system types produced by the build. You can find them in your <code>/build/tmp/deploy/images/</code> directory"></i> <a href="#" style="font-weight:normal;">Output</a> </th>
22 <th>Build Name</th> 73
23 </tr> 74 </tr>
24 {% for build in objects %} 75 {% for build in objects %}
25 <tr class="data"> 76 <tr class="data">
26 <td><a href="{% url "configuration" build.id %}">{{build.get_outcome_display}}</a></td> 77 <td class="outcome"><a href="{% url "configuration" 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></td>
27 <td>{{build.started_on}}</td> 78 <td class="target">{% for t in build.target_set.all %}{%if t.is_image %}<a href="{% url "target" build.id t.id %}">{% endif %}{{t.target}}{% if t.is_image %}</a>{% endif %}<br/>{% endfor %}</td>
28 <td>{{build.completed_on}}</td> 79 <td class="machine">{{build.machine}}</td>
29 <td>{% for t in build.target_set.all %}{%if t.is_image %}<a href="{% url "tpackage" build.id t.id %}">{% endif %}{{t.target}}{% if t.is_image %}</a>{% endif %}<br/>{% endfor %}</td> 80 <td class="started_on">{{build.started_on}}</td>
30 <td>{{build.machine}}</td> 81 <td class="completed_on">{{build.completed_on}}</td>
31 <td>{% time_difference build.started_on build.completed_on %}</td> 82 <td class="failed_tasks"></td>
32 <td>{{build.errors_no}}:{% if build.errors_no %}{% for error in logs %}{% if error.build == build %}{% if error.level == 2 %}<p>{{error.message}}</p>{% endif %}{% endif %}{% endfor %}{% else %}None{% endif %}</td> 83 <td class="errors">{% if build.errors_no %}<a class="error" href="#">{{build.errors_no}} error{{build.errors_no|pluralize}}</a>{%endif%}</td>
33 <td>{{build.warnings_no}}:{% if build.warnings_no %}{% for warning in logs %}{% if warning.build == build %}{% if warning.level == 1 %}<p>{{warning.message}}</p>{% endif %}{% endif %}{% endfor %}{% else %}None{% endif %}</td> 84 <td class="warnings">{% if build.warnings_no %}<a class="warning" href="#">{{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>
34 <td>{% if build.outcome == 0 %}{% for t in build.target_set.all %}{% if t.is_image %}{{build.image_fstypes}}{% endif %}{% endfor %}{% endif %}</td> 85 <td class="time">{{build|timespent}}</td>
35 <td>{{build.cooker_log_path}}</td> 86 <td class="log">{{build.log}}</td>
36 <td>{{build.bitbake_version}}</td> 87 <td class="output">{% if build.outcome == 0 %}{% for t in build.target_set.all %}{% if t.is_image %}{{build.image_fstypes}}{% endif %}{% endfor %}{% endif %}</td>
37 <td>{{build.build_name}}</td>
38 </tr> 88 </tr>
39 89
40 {% endfor %} 90 {% endfor %}
41{% endblock %}
42 91
43 92
93{% include "basetable_bottom.html" %}
94
95</div>
96{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/builddashboard.html b/bitbake/lib/toaster/toastergui/templates/builddashboard.html
new file mode 100644
index 0000000000..7c58cc0b25
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/builddashboard.html
@@ -0,0 +1,8 @@
1{% extends "basebuildpage.html" %}
2{% block localbreadcrumb %}
3<li>Dashboard</li>
4{% endblock %}
5
6{% block buildinfomain %}
7
8{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/buildtime.html b/bitbake/lib/toaster/toastergui/templates/buildtime.html
new file mode 100644
index 0000000000..ea84ae797c
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/buildtime.html
@@ -0,0 +1,4 @@
1{% extends "basebuildpage.html" %}
2{% block localbreadcrumb %}
3<li>Build Time</li>
4{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/configuration.html b/bitbake/lib/toaster/toastergui/templates/configuration.html
index 521620fdce..e390a95ff5 100644
--- a/bitbake/lib/toaster/toastergui/templates/configuration.html
+++ b/bitbake/lib/toaster/toastergui/templates/configuration.html
@@ -1,7 +1,11 @@
1{% extends "basebuildpage.html" %} 1{% extends "basebuildpage.html" %}
2{% block localbreadcrumb %}
3<li>Configuration</li>
4{% endblock %}
5
6{% block buildinfomain %}
2 7
3{% block pagetitle %}Configuration{% endblock %} 8{% include "basetable_top.html" %}
4{% block pagetable %}
5 9
6 <tr> 10 <tr>
7 <th>Name</th> 11 <th>Name</th>
@@ -19,4 +23,6 @@
19 <td>{{variable.variable_value}}</td> 23 <td>{{variable.variable_value}}</td>
20 {% endfor %} 24 {% endfor %}
21 25
26{% include "basetable_bottom.html" %}
27
22{% endblock %} 28{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/cpuusage.html b/bitbake/lib/toaster/toastergui/templates/cpuusage.html
new file mode 100644
index 0000000000..02f07b7605
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/cpuusage.html
@@ -0,0 +1,4 @@
1{% extends "basebuildpage.html" %}
2{% block localbreadcrumb %}
3<li>Cpu Usage</li>
4{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/diskio.html b/bitbake/lib/toaster/toastergui/templates/diskio.html
new file mode 100644
index 0000000000..c5cef6f385
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/diskio.html
@@ -0,0 +1,4 @@
1{% extends "basebuildpage.html" %}
2{% block localbreadcrumb %}
3<li>Disk I/O</li>
4{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/recipe.html b/bitbake/lib/toaster/toastergui/templates/recipe.html
index d7f57eb9ea..87c69b8d3c 100644
--- a/bitbake/lib/toaster/toastergui/templates/recipe.html
+++ b/bitbake/lib/toaster/toastergui/templates/recipe.html
@@ -1,14 +1,11 @@
1{% extends "basetable.html" %} 1{% extends "basebuildpage.html" %}
2 2
3{% block pagename %} 3{% block localbreadcrumb %}
4<ul class="nav nav-tabs" style="display: inline-block"> 4<li>Recipes</li>
5 <li><a>Layer {{layer_version.layer.name}}&nbsp;:&nbsp;{{layer_version.branch}}&nbsp;:&nbsp;{{layer_version.commit}}&nbsp;:&nbsp;{{layer_version.priority}}</a></li>
6</ul>
7 <h1>Toaster - Recipes for a Layer</h1>
8{% endblock %} 5{% endblock %}
9 6
10{% block pagetable %} 7{% block buildinfomain %}
11 {% load projecttags %} 8{% include "basetable_top.html" %}
12 9
13 <tr> 10 <tr>
14 </tr> 11 </tr>
@@ -49,4 +46,6 @@
49 46
50 {% endfor %} 47 {% endfor %}
51 48
49{% include "basetable_bottom.html" %}
50
52{% endblock %} 51{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/target.html b/bitbake/lib/toaster/toastergui/templates/target.html
new file mode 100644
index 0000000000..f2d0ad461b
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/target.html
@@ -0,0 +1,8 @@
1{% extends "basebuildpage.html" %}
2
3{% block localbreadcrumb %}
4<li>Target</li>
5{% endblock %}
6
7{% block buildinfomain %}
8{% endblock %}
diff --git a/bitbake/lib/toaster/toastergui/templates/task.html b/bitbake/lib/toaster/toastergui/templates/task.html
index de965ab797..6af2c51277 100644
--- a/bitbake/lib/toaster/toastergui/templates/task.html
+++ b/bitbake/lib/toaster/toastergui/templates/task.html
@@ -1,7 +1,13 @@
1{% extends "basebuildpage.html" %} 1{% extends "basebuildpage.html" %}
2 2
3{% block pagetitle %}Tasks{% endblock %} 3{% block localbreadcrumb %}
4{% block pagetable %} 4<li>Tasks</li>
5{% endblock %}
6
7{% block buildinfomain %}
8{% include "basetable_top.html" %}
9
10
5 {% if not objects %} 11 {% if not objects %}
6 <p>No tasks were executed in this build!</p> 12 <p>No tasks were executed in this build!</p>
7 {% else %} 13 {% else %}
@@ -64,4 +70,5 @@
64 70
65 {% endif %} 71 {% endif %}
66 72
73{% include "basetable_bottom.html" %}
67{% endblock %} 74{% endblock %}