* [PATCH 0/1] error-report-web
@ 2014-09-03 11:41 Roxana Ciobanu
2014-09-03 11:41 ` [PATCH 1/1] error-report-tool: apply changes to the landing page Roxana Ciobanu
0 siblings, 1 reply; 2+ messages in thread
From: Roxana Ciobanu @ 2014-09-03 11:41 UTC (permalink / raw)
To: yocto
The following changes since commit 4be8e30cecedd36819b0cf14db16b5b8cb275b31:
README: add info on the git repo and contributing (2014-08-24 16:39:11 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib roxana/YB6537
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=roxana/YB6537
Roxana Ciobanu (1):
error-report-tool: apply changes to the landing page
Post/static/css/custom.css | 9 +-
Post/views.py | 15 +-
project/urls.py | 4 +-
templates/base.html | 6 +-
templates/error-page.html | 27 ++-
templates/home.html | 442 ++++++++++++++++++++++--------------------
templates/latest-errors.html | 239 +++++++++++++++++++++++
templates/search-details.html | 2 +-
8 files changed, 527 insertions(+), 217 deletions(-)
create mode 100644 templates/latest-errors.html
--
1.9.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 1/1] error-report-tool: apply changes to the landing page
2014-09-03 11:41 [PATCH 0/1] error-report-web Roxana Ciobanu
@ 2014-09-03 11:41 ` Roxana Ciobanu
0 siblings, 0 replies; 2+ messages in thread
From: Roxana Ciobanu @ 2014-09-03 11:41 UTC (permalink / raw)
To: yocto
* Reduce the time range from the last month to the last week
* Provide a list of the latest errors
* Provide a link to the list of errors generated by the autobuilder
[YOCTO #YB6537]
Signed-off-by: Roxana Ciobanu <roxana.ciobanu@intel.com>
---
Post/static/css/custom.css | 9 +-
Post/views.py | 15 +-
project/urls.py | 4 +-
templates/base.html | 6 +-
templates/error-page.html | 27 ++-
templates/home.html | 442 ++++++++++++++++++++++--------------------
templates/latest-errors.html | 239 +++++++++++++++++++++++
templates/search-details.html | 2 +-
8 files changed, 527 insertions(+), 217 deletions(-)
create mode 100644 templates/latest-errors.html
diff --git a/Post/static/css/custom.css b/Post/static/css/custom.css
index 16fe910..c274b67 100644
--- a/Post/static/css/custom.css
+++ b/Post/static/css/custom.css
@@ -6,8 +6,9 @@
*/
body {
- padding:50px;
+ padding: 70px 40px;
}
+
.logo img {
height: 25px;
width: auto !important;
@@ -56,7 +57,11 @@ td a:visited {
margin: 10px 0 0;
}
-.navbar-inner form {
+.navbar-inner .navbar-search {
+ margin-top: 7px;
+}
+
+.navbar-inner form, .pagination form {
margin: 5px 0 0;
}
diff --git a/Post/views.py b/Post/views.py
index 1844c87..79d688e 100644
--- a/Post/views.py
+++ b/Post/views.py
@@ -58,13 +58,26 @@ def search(request, template_name, items = None, page = None, query = None):
page = request.GET.get('page', '')
query = request.GET.get('query', '')
items = request.GET.get('items', '')
+
+ latest = False
+
+ if "latest" in query:
+ latest = True
+ query = query.replace("_latest", "")
+
if query == "" or query.isspace():
query = "all"
elems = Info().getSearchResult(query.strip())
elems.sort(key=lambda r : r.BUILD.DATE, reverse=True)
no = len(elems)
if no == 0:
- return render_to_response("error-page.html", {"query" : query}, RequestContext(request))
+ return render_to_response("error-page.html", {"latest" : latest, "query" : query}, RequestContext(request))
+
+ if latest is True:
+ if no > 150:
+ elems = elems[:150]
+ no = 150
+
paginator = Paginator(elems, items)
try:
c = paginator.page(page)
diff --git a/project/urls.py b/project/urls.py
index dbf2a3c..80d5d48 100644
--- a/project/urls.py
+++ b/project/urls.py
@@ -18,6 +18,7 @@ urlpatterns = patterns('',
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
#url(r'^accounts/', include('registration.backends.default.urls')),
+ url(r'^Errors/Search/Latest/$', 'Post.views.search', {'template_name' : 'latest-errors.html'}, name= "latest_errors"),
url(r'^Errors/Search/Args/$', 'Post.views.search', {'template_name' : 'search-details.html'}, name = "entry_args"),
url(r'^Errors/Search/(?P<items>\d+)/(?P<page>\d+)/(?P<query>\w+)/', 'Post.views.search', {'template_name' : 'search-details.html'}, name = "entry"),
url(r'^Errors/Search/(?P<page>\d+)/(?P<query>\d+)/', 'Post.views.viewEntry', {'template_name' : 'search-details.html'}),
@@ -27,5 +28,6 @@ urlpatterns = patterns('',
url(r'^Errors/ErrorPage/$', direct_to_template, {'template':"error-page.html"}, name = "errorpage"),
url(r'^ClientPost/', 'Post.views.addData'),
url(r'^Errors/', direct_to_template, {'template':"home.html"}, name = "main"),
- url(r'.*', redirect_to, {'url' : '/Errors/'}, name = "home"),
+ url(r'.*', redirect_to, {'url' : '/Errors/Search/Latest/?items=25&page=1&query=all_latest'}),
+
)
diff --git a/templates/base.html b/templates/base.html
index a6f0cf0..69e9871 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -21,8 +21,8 @@
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container-fluid">
- <a class="brand logo" href="{% url main %}"><img src="{% static "img/logo.png" %}" /></a>
- <a class="brand" href={% url main%}>Error reports</a>
+ <a class="brand logo" href="{% url latest_errors %}?items=25&page=1&query=all_latest"><img src="{% static "img/logo.png" %}" /></a>
+ <a class="brand" href="{% url latest_errors %}?items=25&page=1&query=all_latest">Error reports</a>
{% comment %}
{% if user.is_authenticated %}
<div class="dropdown pull-right">
@@ -55,7 +55,7 @@
</div>
</div>
</div>
-
+
<script type = "text/javascript" src = "{% static "js/jquery.js" %}"></script>
<script type = "text/javascript" src = "{% static "js/bootstrap.min.js" %}"></script>
<script type = "text/javascript" src = "{% static "js/d3.v2.js" %}"></script>
diff --git a/templates/error-page.html b/templates/error-page.html
index fa16354..d811c77 100644
--- a/templates/error-page.html
+++ b/templates/error-page.html
@@ -6,10 +6,31 @@
<body>
{% block content %}
<div class="row-fluid">
+ {% if latest %}
+ <ul class="nav nav-pills">
+ <li> <a href="{% url latest_errors %}?items=25&page=1&query=all_latest" >Latest errors</a> </li>
+ <li class="active"> <a href="{% url latest_errors %}?items=25&page=1&query=autobuilder_latest" >Latest Autobuilder errors</a></li>
+ <li> <a href="{% url main %}" >Statistics </a> </li>
+ </ul>
+ <div class="alert">
+ {% ifequal query "autobuilder" %}
+ <h3>No Autobuilder errors found</h3>
+ {% else %}
+ <h3>No errors found</h3>
+ {% endifequal%}
+ <form class="no-results" action="{% url entry_args %}" method="GET">
+ <div class="input-append">
+ <input class="input-xxlarge" type="text" name="query" value="{{ query }}">
+ <input type="text" name="items" value=10 style="display: none;">
+ <input type="text" name="page" value=1 style="display: none;">
+ <button class="btn" type="submit" value = "Search">Search</button>
+ </div>
+ </form>
+ </div>
+ {% else %}
<div class="page-header">
<h1>No errors found</h1>
</div>
-
<div class="alert">
<form class="no-results" action="{% url entry_args %}" method="GET">
<div class="input-append">
@@ -17,10 +38,12 @@
<input type="text" name="items" value=10 style="display: none;">
<input type="text" name="page" value=1 style="display: none;">
<button class="btn" type="submit" value = "Search">Search</button>
- <a class="btn btn-link" href="/">Go to error dashboard</a>
+ <a class="btn btn-link" href="/">View latest errors</a>
</div>
</form>
</div>
+ {% endif %}
+ </div>
{% endblock %}
</body>
</html>
diff --git a/templates/home.html b/templates/home.html
index 6c8a1e7..7be605f 100644
--- a/templates/home.html
+++ b/templates/home.html
@@ -5,217 +5,245 @@
<html>
<body>
{% block content%}
+
+
<div class="row-fluid">
- <div class="page-header">
- <h1>Error dashboard</h1>
- </div>
- <p class="lead">Errors reported from 22nd June to 22nd July 2013</p>
- <ul class="thumbnails">
- <li class="span6">
- <h2>By machine</h2>
- <div class="thumbnail">
- <p style="display:none">{% load_chart charttype chartdata "m"%}</p>
- {% include_container "m" %}
+ <ul class="nav nav-pills">
+ <li><a href="{% url latest_errors %}?items=25&page=1&query=all_latest">Latest errors</a></li>
+ <li><a href="{% url latest_errors %}?items=25&page=1&query=autobuilder_latest">Latest Autobuilder errors</a></li>
+ <li class="active"> <a href="#stats" data-toggle="tab">Statistics </a> </li>
+ </ul>
+
+ <div class="tab-content">
+ <div class="tab-pane active" id="stats">
+
+ <p class="lead">Errors reported from 21st to 27th August 2014</p>
+ <div class="row-fluid">
+ <ul class="thumbnails">
+ <li class="span6">
+ <h2>By machine</h2>
+ <div class="thumbnail">
+ <p style="display:none">{% load_chart charttype chartdata "m"%}</p>
+ {% include_container "m" %}
+ </div>
+ </li>
+ <li class="span6">
+ <h2>By recipe</h2>
+ <div class="thumbnail">
+ <p style="display:none">{% load_chart charttype chartdata "r"%}</p>
+ {% include_container "r" %}
+ </div>
+ </li>
+ </ul>
</div>
- </li>
- <li class="span6">
- <h2>By recipe</h2>
- <div class="thumbnail">
- <p style="display:none">{% load_chart charttype chartdata "r"%}</p>
- {% include_container "r" %}
+ <div class="row-fluid">
+ <ul class="thumbnails">
+ <li class="span6">
+ <h2>By target</h2>
+ <div class="thumbnail">
+ <p style="display:none">{% load_chart charttype chartdata "t"%}</p>
+ {% include_container "t" %}
+ </div>
+ </li>
+ <li class="span6">
+ <h2>By distro</h2>
+ <div class="thumbnail">
+ <p style="display:none">{% load_chart charttype chartdata "d"%}</p>
+ {% include_container "d" %}
+ </div>
+ </li>
+ </ul>
</div>
- </li>
- </ul>
- </div>
- <div class="row-fluid">
- <ul class="thumbnails">
- <li class="span6">
- <h2>By target</h2>
- <div class="thumbnail">
- <p style="display:none">{% load_chart charttype chartdata "t"%}</p>
- {% include_container "t" %}
- </div>
- </li>
- <li class="span6">
- <h2>By distro</h2>
- <div class="thumbnail">
- <p style="display:none">{% load_chart charttype chartdata "d"%}</p>
- {% include_container "d" %}
- </div>
- </li>
- </ul>
- </div>
- <div class="row-fluid">
- <ul class="thumbnails">
- <li class="span6">
- <h2>By branch</h2>
- <div class="thumbnail">
- <p style="display:none">{% load_chart charttype chartdata "b"%}</p>
- {% include_container "b" %}
- </div>
- </li>
- <li class="span6">
- <h2>By commit</h2>
- <div class="thumbnail">
- <p style="display:none">{% load_chart charttype chartdata "c"%}</p>
- {% include_container "c" %}
- </div>
- </li>
- </ul>
- </div>
- <div class="row-fluid">
- <ul class="thumbnails">
- <li class="span6">
- <h2>By target system</h2>
- <div class="thumbnail">
- <p style="display:none">{% load_chart charttype chartdata "ts"%}</p>
- {% include_container "ts" %}
- </div>
- </li>
- <li class="span6">
- <h2>By host distro</h2>
- <div class="thumbnail">
- <p style="display:none">{% load_chart charttype chartdata "hd"%}</p>
- {% include_container "hd" %}
- </div>
- </li>
- </ul>
- </div>
- <script type="text/javascript">
- $(document).ready(function() {
- var month=new Array();
- month[0]="January";
- month[1]="February";
- month[2]="March";
- month[3]="April";
- month[4]="May";
- month[5]="June";
- month[6]="July";
- month[7]="August";
- month[8]="September";
- month[9]="October";
- month[10]="November";
- month[11]="December";
-
- var today = new Date();
- var dd = today.getDate();
- var mm = today.getMonth();
- var yyyy = today.getFullYear();
- var currentm = month[mm];
- var ind = "";
-
- if (mm == 0){
- var lastm = month[11];
- }
- else {
- var lastm = month[mm-1];
- }
- if (dd > 9){
- var lastd = dd % 10;
- }
- else {
- var lastd=dd;
- }
- if (dd == 11 || dd == 12 || dd == 13){
- ind = 'th'}
- else if (lastd == 1){
- ind = 'st'}
- else if (lastd == 2){
- ind = 'nd'}
- else if (lastd == 3){
- ind = 'rd'}
- else if (ind == ""){
- ind ='th'}
- var today = dd + ind +" " + currentm + " " + yyyy;
- if (dd>28){
- dd = 28;
- ind = 'th'
- }
- var last = dd + ind + " " +lastm;
- var text = "Errors reported from " +last + " to " +today;
- $("p").text(text);
-
- function modify_chart(data, type, div){
- var start = '<script type="text/javascript">'
- var end='</li>'
- var current_index = data.indexOf(type)
- var current_part = data.substr(current_index)
- current_part = current_part.replace('width:600px;', '')
- var i = current_part.indexOf(start)
- var current_part = current_part.substr(i)
- var i = current_part.indexOf(start)
- var current_part = current_part.substr(i)
- var j = current_part.indexOf(end)
- var draw = current_part.substr(i, j)
- draw=draw.replace('<div id="m"', '<div id="' + div + '"')
- draw=draw.replace("('#m svg')", "('#" + div + " svg')")
- draw = draw.replace("chart.xAxis", "chart.xAxis.tickFormat(function(d){ if (d.length <= 9) return String(d); else return String(d.substring(0,8) + '...'); });")
- draw = draw.replace("chart.yAxis", "chart.yAxis.tickFormat(d3.format('%'));")
- draw = draw.replace("String(graph.point.y)", "String(graph.point.y*100)")
- draw = draw.replace("'<center><b>'+key+'</b></center>' + y + ' at '", "parseInt(graph.point.y*100)+'% '")
- draw = draw.replace("return tooltip_str;", "d3.selectAll('.discreteBar').on('click', function(){ if(String(graph.point.x) != 'others') window.location.href='{% url entry_args %}?items=10&page=1&query='+String(graph.point.x) }); \n return tooltip_str;\n")
- draw = draw.replace("return chart;", "nv.utils.windowResize(chart.update); \n return chart;\n")
- return draw;
- }
-
-
- if ($("#m").text() == ""){
- $.get('{% url statistics "MACHINE" %}', function(data){
- draw = modify_chart(data, "By machine", "m");
- $("#m").html(draw);
- })
- }
- if ($("#r").text() == ""){
-
- $.get('{% url statistics "RECIPE" %}', function(data){
- draw = modify_chart(data, "By recipe", "r");
- $("#r").html(draw)
- })
- }
- if ($("#t").text() == ""){
-
- $.get('{% url statistics "TARGET" %}', function(data){
- draw = modify_chart(data, "By target", "t");
- $("#t").html(draw)
- })
- }
- if ($("#d").text() == ""){
-
- $.get('{% url statistics "DISTRO" %}', function(data){
- draw = modify_chart(data, "By distro", "d");
- $("#d").html(draw)
- })
- }
- if ($("#b").text() == ""){
-
- $.get('{% url statistics "BRANCH" %}', function(data){
- draw = modify_chart(data, "By branch", "b");
- $("#b").html(draw)
- })
- }
- if ($("#c").text() == ""){
-
- $.get('{% url statistics "COMMIT" %}', function(data){
- draw = modify_chart(data, "By commit", "c");
- $("#c").html(draw)
- })
- }
- if ($("#ts").text() == ""){
-
- $.get('{% url statistics "TARGET_SYS" %}', function(data){
- draw = modify_chart(data, "By target system", "ts");
- $("#ts").html(draw)
- })
- }
- if ($("#hd").text() == ""){
-
- $.get('{% url statistics "NATIVELSBSTRING" %}', function(data){
- draw = modify_chart(data, "By host distro", "hd");
- $("#hd").html(draw)
+ <div class="row-fluid">
+ <ul class="thumbnails">
+ <li class="span6">
+ <h2>By branch</h2>
+ <div class="thumbnail">
+ <p style="display:none">{% load_chart charttype chartdata "b"%}</p>
+ {% include_container "b" %}
+ </div>
+ </li>
+ <li class="span6">
+ <h2>By commit</h2>
+ <div class="thumbnail">
+ <p style="display:none">{% load_chart charttype chartdata "c"%}</p>
+ {% include_container "c" %}
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div class="row-fluid">
+ <ul class="thumbnails">
+ <li class="span6">
+ <h2>By target system</h2>
+ <div class="thumbnail">
+ <p style="display:none">{% load_chart charttype chartdata "ts"%}</p>
+ {% include_container "ts" %}
+ </div>
+ </li>
+ <li class="span6">
+ <h2>By host distro</h2>
+ <div class="thumbnail">
+ <p style="display:none">{% load_chart charttype chartdata "hd"%}</p>
+ {% include_container "hd" %}
+ </div>
+ </li>
+ </ul>
+ </div>
+ <script type="text/javascript">
+ $(document).ready(function() {
+ var month=new Array();
+ month[0]="January";
+ month[1]="February";
+ month[2]="March";
+ month[3]="April";
+ month[4]="May";
+ month[5]="June";
+ month[6]="July";
+ month[7]="August";
+ month[8]="September";
+ month[9]="October";
+ month[10]="November";
+ month[11]="December";
+
+ var today = new Date();
+ var dd = today.getDate();
+ var mm = today.getMonth();
+ var yyyy = today.getFullYear();
+ var currentm = month[mm];
+ var ind = "";
+
+ if (mm == 0){
+ var lastm = month[11];
+ }
+ else {
+ var lastm = month[mm-1];
+ }
+ if (dd > 9){
+ var lastd = dd % 10;
+ }
+ else {
+ var lastd=dd;
+ }
+ if (dd == 11 || dd == 12 || dd == 13){
+ ind = 'th'}
+ else if (lastd == 1){
+ ind = 'st'}
+ else if (lastd == 2){
+ ind = 'nd'}
+ else if (lastd == 3){
+ ind = 'rd'}
+ else if (ind == ""){
+ ind ='th'}
+ var today = dd + ind +" " + currentm + " " + yyyy;
+
+ dd -= 7;
+
+ if (dd <= 0) {
+ dd = 28;
+ ind = 'th' + ' ' + lastm;
+ } else {
+ if (dd == 11 || dd == 12 || dd == 13){
+ ind = 'th'}
+ else if (lastd == 1){
+ ind = 'st'}
+ else if (lastd == 2){
+ ind = 'nd'}
+ else if (lastd == 3){
+ ind = 'rd'}
+ else if (ind == ""){
+ ind ='th'}
+ }
+
+ var last = dd + ind;
+ var text = "Errors reported from " + last + " to " +today;
+ $("p").text(text);
+
+ function modify_chart(data, type, div){
+ var start = '<script type="text/javascript">'
+ var end='</li>'
+ var current_index = data.indexOf(type)
+ var current_part = data.substr(current_index)
+ current_part = current_part.replace('width:600px;', '')
+ var i = current_part.indexOf(start)
+ var current_part = current_part.substr(i)
+ var i = current_part.indexOf(start)
+ var current_part = current_part.substr(i)
+ var j = current_part.indexOf(end)
+ var draw = current_part.substr(i, j)
+ draw=draw.replace('<div id="m"', '<div id="' + div + '"')
+ draw=draw.replace("('#m svg')", "('#" + div + " svg')")
+ draw = draw.replace("chart.xAxis", "chart.xAxis.tickFormat(function(d){ if (d.length <= 9) return String(d); else return String(d.substring(0,8) + '...'); });")
+ draw = draw.replace("chart.yAxis", "chart.yAxis.tickFormat(d3.format('%'));")
+ draw = draw.replace("String(graph.point.y)", "String(graph.point.y*100)")
+ draw = draw.replace("'<center><b>'+key+'</b></center>' + y + ' at '", "parseInt(graph.point.y*100)+'% '")
+ draw = draw.replace("return tooltip_str;", "d3.selectAll('.discreteBar').on('click', function(){ if(String(graph.point.x) != 'others') window.location.href='{% url entry_args %}?items=10&page=1&query='+String(graph.point.x) }); \n return tooltip_str;\n")
+ draw = draw.replace("return chart;", "nv.utils.windowResize(chart.update); \n return chart;\n")
+ return draw;
+ }
+
+ if ($("#m").text() == ""){
+ $.get('{% url statistics "MACHINE" %}', function(data){
+ draw = modify_chart(data, "By machine", "m");
+ $("#m").html(draw);
+ })
+ }
+ if ($("#r").text() == ""){
+
+ $.get('{% url statistics "RECIPE" %}', function(data){
+ draw = modify_chart(data, "By recipe", "r");
+ $("#r").html(draw)
+ })
+ }
+ if ($("#t").text() == ""){
+
+ $.get('{% url statistics "TARGET" %}', function(data){
+ draw = modify_chart(data, "By target", "t");
+ $("#t").html(draw)
+ })
+ }
+ if ($("#d").text() == ""){
+
+ $.get('{% url statistics "DISTRO" %}', function(data){
+ draw = modify_chart(data, "By distro", "d");
+ $("#d").html(draw)
+ })
+ }
+ if ($("#b").text() == ""){
+
+ $.get('{% url statistics "BRANCH" %}', function(data){
+ draw = modify_chart(data, "By branch", "b");
+ $("#b").html(draw)
+ })
+ }
+ if ($("#c").text() == ""){
+
+ $.get('{% url statistics "COMMIT" %}', function(data){
+ draw = modify_chart(data, "By commit", "c");
+ $("#c").html(draw)
+ })
+ }
+ if ($("#ts").text() == ""){
+
+ $.get('{% url statistics "TARGET_SYS" %}', function(data){
+ draw = modify_chart(data, "By target system", "ts");
+ $("#ts").html(draw)
+ })
+ }
+ if ($("#hd").text() == ""){
+
+ $.get('{% url statistics "NATIVELSBSTRING" %}', function(data){
+ draw = modify_chart(data, "By host distro", "hd");
+ $("#hd").html(draw)
+ })
+ }
})
- }
- })
- </script>
+ </script>
+
+ </div>
+ </div> <!-- end of tab-content -->
+
+ </div> <!-- end of row-fluid -->
{% endblock %}
</body>
</html>
diff --git a/templates/latest-errors.html b/templates/latest-errors.html
new file mode 100644
index 0000000..3927100
--- /dev/null
+++ b/templates/latest-errors.html
@@ -0,0 +1,239 @@
+{% extends "base.html" %}
+{% load i18n %}
+{% load staticfiles %}
+{% load projecttags %}
+<!DOCTYPE html>
+<html>
+ <body>
+ {% block content %}
+ <script>$
+ function showhideTableColumn( clname, sh) {
+ if ( sh ) {
+ $('.' + clname ).show( 100 );
+ }
+ else {
+ $('.' + clname ).hide( 100 );
+ }
+ // save cookie for all checkboxes$
+ save = '';
+ $( '.chbxtoggle' ).each(function( ) {
+ if ( $( this ).attr( 'id' ) != undefined ) {
+ save += ';' + $( this ).attr( 'id' ) +':'+ $( this ).is( ':checked' )
+ }
+ });
+ $.cookie( '_displaycols_{{objectname}}', save );
+ save = '';
+ }
+ </script>
+
+ <div class="row-fluid">
+ <ul class="nav nav-pills">
+ {% ifequal d 'autobuilder' %}
+ <li> <a href="{% url latest_errors %}?items=25&page=1&query=all_latest" >Latest errors</a> </li>
+ <li class="active"> <a href="{% url latest_errors %}?items=25&page=1&query=autobuilder_latest" >Latest Autobuilder errors</a></li>
+ {% else %}
+ <li class="active"> <a href="{% url latest_errors %}?items=25&page=1&query=all_latest" >Latest errors</a> </li>
+ <li> <a href="{% url latest_errors %}?items=25&page=1&query=autobuilder_latest" >Latest Autobuilder errors</a></li>
+ {% endifequal %}
+ <li> <a href="{% url main %}" >Statistics </a> </li>
+ </ul>
+ <div class="navbar">
+ <div class="navbar-inner">
+ {% if no > 10 %}
+ <form class="form-inline pull-right">
+ <label>Show latest:</label>
+ <select class="paginationLimit input-mini" onchange="javascript:window.open('{% url latest_errors %}?items='+this.value+'&page={{ details.number }}', '_self')">
+ {% ifequal items "10" %}
+ <option selected="selected" value = "10">10</option>
+ <option value = "25">25</option>
+ <option value = "50">50</option>
+ <option value = "100">100</option>
+ <option value = "150">150</option>
+ {%endifequal%}
+ {% ifequal items "25"%}
+ <option value = "10">10</option>
+ <option selected="selected" value = "25">25</option>
+ <option value = "50">50</option>
+ <option value = "100">100</option>
+ <option value = "150">150</option>
+ {%endifequal%}
+ {% ifequal items "50"%}
+ <option value = "10">10</option>
+ <option value = "25">25</option>
+ <option selected="selected" value = "50">50</option>
+ <option value = "100">100</option>
+ <option value = "150">150</option>
+ {%endifequal%}
+ {% ifequal items "100"%}
+ <option value = "10">10</option>
+ <option value = "25">25</option>
+ <option value = "50">50</option>
+ <option selected="selected" value = "100">100</option>
+ <option value = "150">150</option>
+ {%endifequal%}
+ {% ifequal items "150"%}
+ <option value = "10">10</option>
+ <option value = "25">25</option>
+ <option value = "50">50</option>
+ <option value = "100">100</option>
+ <option selected="selected" value = "150">150</option>
+ {%endifequal%}
+ </select>
+ </form>
+ <span class="divider-vertical pull-right"></span>
+ {% endif %}
+ <div class="btn-group pull-right">
+ {% ifequal d "autobuilder" %}
+ <form style="display:inline" action="{% url entry_args %}" method="GET">
+ <div class="input-append">
+ <input type="text" name="items" value=10 style="display: none;">
+ <input type="text" name="page" value=1 style="display: none;">
+ <input type="text" name="query" value=autobuilder style="display: none;">
+ </div>
+ <button type="submit" value="View All" class="btn dropdown-toggle">View all Autobuilder errors </button>
+ </form>
+ {% endifequal %}
+ {% if tablecols %}
+ <button class="btn dropdown-toggle" data-toggle="dropdown">Edit columns
+ <span class="caret"></span>
+ </button>
+ <ul id='editcol' class="dropdown-menu">
+ {% for i in tablecols|sortcols %}
+ <li>
+ <label {% if not i.clclass %} class="checkbox muted" {%else%} class="checkbox" {%endif%}>
+ <input type="checkbox" class="chbxtoggle"
+ {% if i.clclass %}
+ id="{{i.clclass}}"
+ value="ct{{i.name}}"
+ {% if not i.hidden %}
+ checked="checked"
+ {%endif%}
+ onclick="showhideTableColumn($(this).attr('id'), $(this).is(':checked'))"
+ {%else%}
+ checked disabled
+ {% endif %}/> {{i.name}}
+ </label>
+ </li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+ </div>
+ </div> <!-- navbar-inner -->
+ </div>
+ {% if details %}
+ <table class="table table-bordered table-hover">
+ <thead>
+ <tr>
+ {% for i in tablecols %} <th class="{{i.dclass}} {{i.clclass}}"> {{i.name}} </th> {%endfor%}
+ </tr>
+ </thead>
+ <tbody>
+ {%for detail in details %}
+ <tr class="data">
+ <td class="submitted_on"> <a href="{% url id detail.id details.number items d %}">{{ detail.BUILD.DATE|date:"d/m/y H:i"}}</a></td>
+ <td class="recipe"><a href="{% url id detail.id details.number items d %}">{{ detail.RECIPE }}</a></td>
+ <td class="recipe_version"><a href="{% url id detail.id details.number items d %}">{{ detail.RECIPE_VERSION }}</a></td>
+ <td class="task"><a href="{% url id detail.id details.number items d %}">{{ detail.TASK }}</a></td>
+ <td class="machine"><a href="{% url id detail.id details.number items d %}">{{ detail.BUILD.MACHINE }}</a></td>
+ <td class="distro"><a href="{% url id detail.id details.number items d %}">{{ detail.BUILD.DISTRO }}</a></td>
+ <td class="build_sys"><a href="{% url id detail.id details.number items d %}">{{ detail.BUILD.BUILD_SYS }}</a></td>
+ <td class="target_sys"><a href="{% url id detail.id details.number items d %}">{{ detail.BUILD.TARGET_SYS }}</a></td>
+ <td class="host_distro"><a href="{% url id detail.id details.number items d %}">{{ detail.BUILD.NATIVELSBSTRING }}</a></td>
+ <td class="branch"><a href="{% url id detail.id details.number items d %}">{{ detail.BUILD.BRANCH }} </a></td>
+ <td class="commit">
+ {% autoescape off %}
+ <div class="btn" rel="popover" data-content= {{ detail.BUILD.COMMIT|escape}} title="">
+ {% endautoescape %}
+ {{ detail.BUILD.COMMIT|truncatechars:10}}
+ </div>
+ </td>
+ <td class="submitter"><a href="{% url id detail.id details.number items d %}">{{ detail.BUILD.NAME }} </a></td>
+ </tr>
+ {%endfor%}
+ </tbody>
+ </table>
+ <div class="pagination pagination-centered">
+ <form class="form-inline pull-right">
+ {% if no > 10 %}
+ <label>Show latest:</label>
+ <form>
+ <select class="paginationLimit input-mini" onchange="javascript:window.open('{% url latest_errors %}?items='+this.value+'&page={{details.number}}', '_self')">
+ {% ifequal items "10" %}
+ <option selected="selected" value = "10">10</option>
+ <option value = "25">25</option>
+ <option value = "50">50</option>
+ <option value = "100">100</option>
+ <option value = "150">150</option>
+ {%endifequal%}
+ {% ifequal items "25"%}
+ <option value = "10">10</option>
+ <option selected="selected" value = "25">25</option>
+ <option value = "50">50</option>
+ <option value = "100">100</option>
+ <option value = "150">150</option>
+ {%endifequal%}
+ {% ifequal items "50"%}
+ <option value = "10">10</option>
+ <option value = "25">25</option>
+ <option selected="selected" value = "50">50</option>
+ <option value = "100">100</option>
+ <option value = "150">150</option>
+ {%endifequal%}
+ {% ifequal items "100"%}
+ <option value = "10">10</option>
+ <option value = "25">25</option>
+ <option value = "50">50</option>
+ <option selected="selected" value = "100">100</option>
+ <option value = "150">150</option>
+ {%endifequal%}
+ {% ifequal items "150"%}
+ <option value = "10">10</option>
+ <option value = "25">25</option>
+ <option value = "50">50</option>
+ <option value = "100">100</option>
+ <option selected="selected" value = "150">150</option>
+ {%endifequal%}
+ </select>
+ </form>
+ </form>
+ {% endif %}
+ </div>
+ {% endif %}
+ {% if result %}
+ <h4>Nothing matches your search!</h4>
+ {% endif %}
+ </div> <!-- row-fluid -->
+ <script>
+ $(document).ready(function() {
+ $('.commit > div').popover({placement:'left'})
+
+ // we load cookies for the column display$
+ save = $.cookie('_displaycols_{{objectname}}');
+ if (save != undefined) {
+ setting = save.split(';');
+ for ( i = 0; i < setting.length; i++) {
+ if (setting[i].length > 0) {
+ splitlist = setting[i].split(':');
+ id = splitlist[0], v = splitlist[1];
+ if (v == 'true') {
+ $('.chbxtoggle#'+id).prop('checked', true);
+ }
+ else {
+ $('.chbxtoggle#'+id).prop('checked', false);
+ }
+ }
+ }
+ }
+
+ $('.chbxtoggle').each(function () {
+ showhideTableColumn($(this).attr('id'), $(this).is(':checked'))
+ });
+ //turn edit columns dropdown into a multi-select menu$
+ $('.dropdown-menu input, .dropdown-menu label').click(function(e) {
+ e.stopPropagation();
+ });$
+ });
+ </script>
+ {% endblock %}
+ </body>
+</html>
diff --git a/templates/search-details.html b/templates/search-details.html
index ca428d0..ef586cd 100644
--- a/templates/search-details.html
+++ b/templates/search-details.html
@@ -37,7 +37,7 @@
<form class="form-inline pull-right">
{% if no > 10 %}
<label>Show rows:</label>
- <select class="paginationLimit input-mini" onchange="javascript:window.open('{% url entry_args %}?items='+this.value+'&page={{ details.number }}&query={{ d }}', '_self')">
+ <select class="paginationLimit input-mini" style="margin-top:5px;margin-bottom:0px;width:60px;" onchange="javascript:window.open('{% url entry_args %}?items='+this.value+'&page={{ details.number }}&query={{ d }}', '_self')">
{% ifequal items "10" %}
<option selected="selected" value = "10">10</option>
<option value = "25">25</option>
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-09-03 11:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-03 11:41 [PATCH 0/1] error-report-web Roxana Ciobanu
2014-09-03 11:41 ` [PATCH 1/1] error-report-tool: apply changes to the landing page Roxana Ciobanu
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.