diff options
-rw-r--r-- | bitbake/lib/toaster/toastergui/templates/base.html | 22 | ||||
-rw-r--r-- | bitbake/lib/toaster/toastergui/templates/builddashboard.html | 56 | ||||
-rw-r--r-- | bitbake/lib/toaster/toastergui/views.py | 3 |
3 files changed, 77 insertions, 4 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/base.html b/bitbake/lib/toaster/toastergui/templates/base.html index 16a1812789d..d963aaa7b53 100644 --- a/bitbake/lib/toaster/toastergui/templates/base.html +++ b/bitbake/lib/toaster/toastergui/templates/base.html @@ -48,7 +48,27 @@ function reload_params(params) { } </script> - +<script> + $(document).ready(function() { + //toggle the errors and warnings sections + $('.show-errors').click(function() { + $('#collapse-errors').addClass('in'); + }); + $('.toggle-errors').click(function() { + $('#collapse-errors').toggleClass('in'); + }); + $('.show-warnings').click(function() { + $('#collapse-warnings').addClass('in'); + }); + $('.toggle-warnings').click(function() { + $('#collapse-warnings').toggleClass('in'); + }); + //show warnings section when requested from the previous page + if (location.href.search('#warnings') > -1) { + $('#collapse-warnings').addClass('in'); + } + }); +</script> </head> <body style="height: 100%"> diff --git a/bitbake/lib/toaster/toastergui/templates/builddashboard.html b/bitbake/lib/toaster/toastergui/templates/builddashboard.html index b6506c73d08..823b6f60444 100644 --- a/bitbake/lib/toaster/toastergui/templates/builddashboard.html +++ b/bitbake/lib/toaster/toastergui/templates/builddashboard.html @@ -18,10 +18,10 @@ <div class="alert {%if build.outcome == build.SUCCEEDED%}alert-success{%elif build.outcome == build.FAILED%}alert-error{%else%}alert-info{%endif%}"> <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> {{build.completed_on|date:"d/m/y H:i"}} with </span>{%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}{% if build.errors_no %} - <span class="span2"><i class="icon-minus-sign red"></i><strong><a href="{%url 'builddashboard' build.pk%}" class="error"> {{build.errors_no}} error{{build.errors_no|pluralize}}</a></strong></span> + <span class="span2"><i class="icon-minus-sign red"></i><strong><a href="#errors" class="error"> {{build.errors_no}} error{{build.errors_no|pluralize}}</a></strong></span> {% endif %} {% if build.warnings_no %} - <span class="span2"><i class="icon-warning-sign yellow"></i><strong><a href="{%url 'builddashboard' build.pk%}" class="warning"> {{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a></strong></span> + <span class="span2"><i class="icon-warning-sign yellow"></i><strong><a href="#warnings" class="warning"> {{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a></strong></span> {% endif %} <span class="pull-right">Build time: <a href="build-time.html">{{ build.timespent|sectohms }}</a></span> {%endif%} @@ -29,6 +29,32 @@ </div> </div> +{% if build.errors_no %} +<div class="accordion span10 pull-right" id="errors" name="errors"> + <div class="accordion-group"> + <div class="accordion-heading"> + <a class="accordion-toggle error toggle-errors"> + <h2 id="error-toggle"> + <i class="icon-minus-sign"></i> + {{build.errors_no}} error{{build.errors_no|pluralize}} + </h2> + </a> + </div> + <div class="accordion-body collapse in" id="collapse-errors"> + <div class="accordion-inner"> + <div class="span10"> + {% for error in logmessages %}{% if error.level == 2 %} + <div class="alert alert-error"> + <pre>{{error.message}}</pre> + </div> + {% endif %}{% endfor %} + </div> + </div> + </div> + </div> +</div> +{% endif %} + {%if build.outcome == build.SUCCEEDED%} <!-- built images --> <div class="row-fluid span10 pull-right"> @@ -71,4 +97,30 @@ </div> </div> +{% if build.warnings_no %} +<div class="accordion span10 pull-right" id="warnings" name="warnings"> + <div class="accordion-group"> + <div class="accordion-heading"> + <a class="accordion-toggle warning toggle-warnings"> + <h2 id="warning-toggle"> + <i class="icon-warning-sign"></i> + {{build.warnings_no}} warning{{build.warnings_no|pluralize}} + </h2> + </a> + </div> + <div class="accordion-body collapse" id="collapse-warnings"> + <div class="accordion-inner"> + <div class="span10"> + {% for warning in logmessages %}{% if warning.level == 1 %} + <div class="alert alert-warning"> + <pre>{{warning.message}}</pre> + </div> + {% endif %}{% endfor %} + </div> + </div> + </div> + </div> +</div> +{% endif %} + {% endblock %} diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index 3a362e6fe6a..50551b54254 100644 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py @@ -344,7 +344,8 @@ def builddashboard(request, build_id): return redirect(builds) context = { 'build' : Build.objects.filter(pk=build_id)[0], - 'recipecount' : Recipe.objects.filter(layer_version__id__in=Layer_Version.objects.filter(build=build_id)).count() + 'recipecount' : Recipe.objects.filter(layer_version__id__in=Layer_Version.objects.filter(build=build_id)).count(), + 'logmessages' : LogMessage.objects.filter(build=build_id), } return render(request, template, context) |