Patchwork [bitbake-devel,12/14] toaster: Fixes to the build dashboard

login
register
mail settings
Submitter Alexandru DAMIAN
Date April 4, 2014, 2:10 p.m.
Message ID <e4bb38e9db3948f6cb9677730c92f09093582228.1396620556.git.alexandru.damian@intel.com>
Download mbox | patch
Permalink /patch/70139/
State New
Headers show

Comments

Alexandru DAMIAN - April 4, 2014, 2:10 p.m.
From: Belen Barros Pena <belen.barros.pena@intel.com>

* Add "on" before the date in the build status

* Get rid of the extra space before the "and" in the
build status

* Make the errors and warnings links in the build
status show the message content

* Make sure that the "Images" section in the left navigation
appears only for successful builds

* Link the number of packages installed to the "Packages
included" tab in the image information page

* Remove unnecessary inline styles in the dashboard
template

* Make sure target names in the h1 are listed in
alphabetical order

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
---
 lib/toaster/toastergui/static/css/default.css      |  1 +
 .../toastergui/templates/basebuildpage.html        |  2 +-
 .../toastergui/templates/builddashboard.html       | 30 +++++++++++-----------
 3 files changed, 17 insertions(+), 16 deletions(-)

Patch

diff --git a/lib/toaster/toastergui/static/css/default.css b/lib/toaster/toastergui/static/css/default.css
index baf70fb..e33f177 100644
--- a/lib/toaster/toastergui/static/css/default.css
+++ b/lib/toaster/toastergui/static/css/default.css
@@ -108,6 +108,7 @@  select { width: auto; }
 .hero-unit { margin: 20px 0 30px; }
 .hero-unit > .close { font-size:40px; }
 .hero-actions { margin-top: 30px; }
+.dashboard-section { background-color: transparent; }
 
 /* make tables Chrome-happy (me, not so much) */
 #otable { table-layout: fixed; word-wrap: break-word; }
diff --git a/lib/toaster/toastergui/templates/basebuildpage.html b/lib/toaster/toastergui/templates/basebuildpage.html
index 778c4d4..4611051 100644
--- a/lib/toaster/toastergui/templates/basebuildpage.html
+++ b/lib/toaster/toastergui/templates/basebuildpage.html
@@ -32,7 +32,7 @@ 
         <!-- begin left sidebar container -->
         <div id="nav" class="span2">
             <ul class="nav nav-list well">
-              {% if build.target_set.all.0.is_image %}
+              {% if build.target_set.all.0.is_image and build.outcome == 0 %}
                 <li class="nav-header">Images</li>
                 {% block nav-target %}
                   {% for t in build.get_sorted_target_list %}
diff --git a/lib/toaster/toastergui/templates/builddashboard.html b/lib/toaster/toastergui/templates/builddashboard.html
index cc92af5..891d860 100644
--- a/lib/toaster/toastergui/templates/builddashboard.html
+++ b/lib/toaster/toastergui/templates/builddashboard.html
@@ -10,7 +10,7 @@ 
 <!-- page title -->
 <div class="row-fluid span10">
  <div class="page-header">
-     <h1>{{build.target_set.all|join:", "}} {{build.machine}}</h1>
+     <h1>{{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}}</h1>
  </div>
 </div>
 
@@ -20,7 +20,7 @@ 
     <div class="row-fluid lead">
             <span class="pull-left"><strong>
                 {%if build.outcome == build.SUCCEEDED%}Completed{%elif build.outcome == build.FAILED%}Failed{%else%}{%endif%}
-              </strong>
+              </strong> on
             {{build.completed_on|date:"d/m/y H:i"}}
 </span>
 {% if  build.warnings_no or build.errors_no %}
@@ -28,13 +28,13 @@ 
 {% endif %}
 {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
 {% if  build.errors_no %}
-     <span > <i class="icon-minus-sign red"></i><strong><a href="#errors" class="error"> {{build.errors_no}} error{{build.errors_no|pluralize}}</a></strong></span>
+     <span > <i class="icon-minus-sign red"></i><strong><a href="#errors" class="error show-errors"> {{build.errors_no}} error{{build.errors_no|pluralize}}</a></strong></span>
 {% endif %}
 {% if  build.warnings_no %}
 {% if  build.errors_no %}
-&nbsp;and
+    and
 {% endif %}
-    <span > <i class="icon-warning-sign yellow"></i><strong><a href="#warnings" class="warning"> {{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a></strong></span>
+    <span > <i class="icon-warning-sign yellow"></i><strong><a href="#warnings" class="warning show-warnings"> {{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a></strong></span>
 {% endif %}
             <span class="pull-right">Build time: <a href="{% url 'buildtime' build.pk %}">{{ build.timespent|sectohms }}</a></span>
 {%endif%}
@@ -75,27 +75,27 @@ 
 	<h2>Images</h2>
 	{% for target in targets %}
         {% if target.target.is_image %}
-	<div class="well" style="background-color:transparent;">
+	<div class="well dashboard-section">
 		<h3><a href="{% url 'target' build.pk target.target.pk %}">{{target.target}}</a>
                 </h3>
 		<dl class="dl-horizontal">
 			<dt>Packages included</dt>
-			<dd><a href="{% url 'packages' build.pk %}">{{target.npkg}}</a></dd>
+			<dd><a href="{% url 'target' build.pk target.target.pk %}">{{target.npkg}}</a></dd>
 			<dt>Total package size</dt>
 			<dd>{{target.pkgsz|filtered_filesizeformat}}</dd>
 			<dt>
-				<i class="icon-question-sign get-help" title="Path to the license manifest, which is a document listing all packages installed in your image and their licenses"></i>
-				License manifest
+				<i class="icon-question-sign get-help" title="The location in disk of the license manifest, a document listing all packages installed in your image and their licenses"></i>
+				<a href="{% url 'target' build.pk target.target.pk %}">License manifest</a>
 			</dt>
-			<dd><a href="{% url 'targetpackages' build.pk target.target.pk %}"><code>{{target.target.license_manifest_path}}</code></a></dd>
+			<dd><code>{{target.target.license_manifest_path}}</code></dd>
 			<dt>
-				<i class="icon-question-sign get-help" title="Image files are stored in <code style='background-color:transparent;color:#FFFFFF;font-weight:normal;border:none;'>/build/tmp/deploy/images/</code>"></i>
+				<i class="icon-question-sign get-help" title="Image files are stored in <code>/build/tmp/deploy/images/</code>"></i>
 				Image files
 			</dt>
 			<dd>
 				<ul>
                                   {% for i in target.imageFiles %}
-					<li><strong>{{i.path}}</strong>
+					<li>{{i.path}}
 					({{i.size|filtered_filesizeformat}})</li>
                                   {% endfor %}
 				</ul>
@@ -114,7 +114,7 @@ 
 <!-- build summary -->
 <div class="row-fluid span10 pull-right">
 <h2>Build summary</h2>
-    <div class="well span4" style="margin-left:0px; background-color:transparent;">
+    <div class="well span4 dashboard-section" style="margin-left:0px;">
         <h4><a href="{%url 'configuration' build.pk%}">Configuration</a></h4>
             <dl>
         <dt>Machine</dt><dd>{{build.machine}}</dd>
@@ -122,7 +122,7 @@ 
         <dt>Layers</dt>{% for i in build.layer_version_build.all|dictsort:"layer.name" %}<dd>{{i.layer.name}}</dd>{%endfor%}
             </dl>
     </div>
-    <div class="well span4" style="background-color:transparent;">
+    <div class="well span4 dashboard-section">
         <h4><a href="{%url 'tasks' build.pk%}">Tasks</a></h4>
             <dl>
         <dt>Total number of tasks</dt><dd><a href="{% url 'tasks' build.pk %}">{{build.task_build.all.count}}</a></dd>
@@ -151,7 +151,7 @@ 
         </dd>
             </dl>
     </div>
-    <div class="well span4" style="background-color:transparent;">
+    <div class="well span4 dashboard-section">
         <h4><a href="{% url 'recipes' build.pk %}">Recipes</a> & <a href="{% url 'packages' build.pk %}">Packages</a></h4>
             <dl>
         <dt>Recipes built</dt><dd><a href="{% url 'recipes' build.pk %}">{{recipecount}}</a></dd>