[Toaster] [PATCH] toaster: fix layout for command-line builds in recent builds area
Barros Pena, Belen
belen.barros.pena at intel.com
Thu Jun 30 03:38:18 PDT 2016
On 30/06/2016 10:56, "toaster-bounces at yoctoproject.org on behalf of Elliot
Smith" <toaster-bounces at yoctoproject.org on behalf of
elliot.smith at intel.com> wrote:
>Command-line builds were displayed incorrectly, so that the
>HTML elements for other builds were being "consumed" by the
>command-line build elements due to incorrect positioning of
>element end tags.
>
>Fix by ensuring end tags close elements in the right places.
>
>As the indentation was all over the place in the most recent
>builds section template, it was almost impossible to see what the
>problem was. So that was fixed, too.
Thanks for this. It looks great.
Cheers
Belén
>
>[YOCTO #9842]
>
>Signed-off-by: Elliot Smith <elliot.smith at intel.com>
>---
> .../toaster/toastergui/templates/mrb_section.html | 247
>++++++++++-----------
> 1 file 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 4b4e3e6..b164269 100644
>--- a/bitbake/lib/toaster/toastergui/templates/mrb_section.html
>+++ b/bitbake/lib/toaster/toastergui/templates/mrb_section.html
>@@ -3,6 +3,7 @@
> {% load project_url_tag %}
> {% load humanize %}
> <script src="{% static 'js/mrbsection.js' %}"></script>
>+
> <script>
> $(document).ready(function () {
> var ctx = {
>@@ -18,165 +19,163 @@
> });
> </script>
>
>-{%if mru %}
>+{% if mru %}
>
>- {%if mrb_type == 'project' %}
>- <h2>
>- Latest project builds
>+ {% if mrb_type == 'project' %}
>+ <h2>
>+ Latest project builds
>
>- {% if project.is_default %}
>- <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>
>- {% endif %}
>- </h2>
>+ {% if project.is_default %}
>+ <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>
>+ {% endif %}
>+ </h2>
> {% else %}
> <div class="page-header">
>- <h1>
>- Latest builds
>- </h1>
>+ <h1>Latest builds</h1>
> </div>
> {% endif %}
>+
> <div id="latest-builds">
>- {% for build in mru %}
>- <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%}">
>+ {% for build in mru %}
>+ <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 %}">
> {% if mrb_type != 'project' %}
>- <div class="row project-name">
>- <div class="col-md-12">
>- <small>
>- <a class="alert-link text-uppercase" href={% project_url
>build.project %}>{{build.project.name}}</a>
>- </small>
>+ <div class="row project-name">
>+ <div class="col-md-12">
>+ <small>
>+ <a class="alert-link text-uppercase" href={% project_url
>build.project %}>{{build.project.name}}</a>
>+ </small>
>+ </div>
> </div>
>- </div>
> {% endif %}
>+
> <div class="row">
> <div class="col-md-3">
>- {%if build.outcome == build.SUCCEEDED or build.outcome ==
>build.FAILED %}
>- <a href="{%url 'builddashboard' build.pk%}"
>class="alert-link">
>- {% endif %}
>+ {% if build.outcome == build.SUCCEEDED or build.outcome ==
>build.FAILED %}
>+ <a href="{% url 'builddashboard' build.pk %}"
>class="alert-link">
>+ {% endif %}
>+
> {% if build.target_set.all.count > 0 %}
>- <span data-toggle="tooltip"
>- {% if build.target_set.all.count > 1 %}
>- {{build.get_sorted_target_list.0.target}}
>- title="Recipes:
>- {% for target in build.get_sorted_target_list %}
>- {% if target.task %}
>- {{target.target}}:{{target.task}}
>- {% else %}
>- {{target.target}}
>- {% endif %}
>- {% endfor %}"
>- {% endif %}
>- >
>+ <span data-toggle="tooltip"
>+ {% if build.target_set.all.count > 1 %}
>+ {{build.get_sorted_target_list.0.target}}
>+ title="Recipes:
>+ {% for target in build.get_sorted_target_list %}
>+ {% if target.task %}
>+ {{target.target}}:{{target.task}}
>+ {% else %}
>+ {{target.target}}
>+ {% endif %}
>+ {% endfor %}"
>+ {% endif %}
>+ >
> {% if build.target_set.all.0.task %}
>-
>{{build.get_sorted_target_list.0.target}}:{{build.target_set.all.0.task}}
>+
>{{build.get_sorted_target_list.0.target}}:{{build.target_set.all.0.task}}
> {% else %}
>- {{build.get_sorted_target_list.0.target}}
>+ {{build.get_sorted_target_list.0.target}}
> {% endif %}
>+
> {% if build.target_set.all.count > 1 %}
>- (+{{build.target_set.all.count|add:"-1"}})
>+ (+{{build.target_set.all.count|add:"-1"}})
> {% endif %}
>- </span>
>- {% endif %}
>- {%if build.outcome == build.SUCCEEDED or build.outcome ==
>build.FAILED %}
>- </a>
>- {% endif %}
>- </div>
>- {% if build.outcome == build.SUCCEEDED or build.outcome ==
>build.FAILED %}
>+ </span>
>+ {% endif %}
>+ {% if build.outcome == build.SUCCEEDED or build.outcome ==
>build.FAILED %}
>+ </a>
>+ {% endif %}
>+ </div>
>+
>+ {% if build.outcome == build.SUCCEEDED or build.outcome ==
>build.FAILED %}
> <div class="col-md-2">
>- {% if build.completed_on|format_build_date %}
>- {{ build.completed_on|date:'d/m/y H:i' }}
>- {% else %}
>- {{ build.completed_on|date:'H:i' }}
>- {% endif %}
>+ {% if build.completed_on|format_build_date %}
>+ {{build.completed_on|date:'d/m/y H:i'}}
>+ {% else %}
>+ {{ build.completed_on|date:'H:i' }}
>+ {% endif %}
> </div>
>- {% endif %}
>- {%if build.outcome == build.SUCCEEDED or build.outcome ==
>build.FAILED %}
>+ {% endif %}
>+
>+ {% if build.outcome == build.SUCCEEDED or build.outcome ==
>build.FAILED %}
> <div class="col-md-2">
>- {% if build.errors.count %}
>+ {% if build.errors.count %}
> <span class="glyphicon glyphicon-minus-sign"></span>
>- <a href="{%url 'builddashboard' build.pk%}#errors"
>class="alert-link">{{build.errors.count}}
>error{{build.errors.count|pluralize}}</a>
>- {% endif %}
>+ <a href="{%url 'builddashboard' build.pk%}#errors"
>class="alert-link">
>+ {{build.errors.count}}
>error{{build.errors.count|pluralize}}
>+ </a>
>+ {% endif %}
> </div>
>+
> <div class="col-md-2">
>- {% if build.warnings.count %}
>+ {% if build.warnings.count %}
> <span class="glyphicon glyphicon-warning-sign
>build-warnings"></span>
>- <a href="{%url 'builddashboard' build.pk%}#warnings"
>class="alert-link build-warnings">{{build.warnings.count}}
>warning{{build.warnings.count|pluralize}}</a>
>- {% endif %}
>+ <a href="{%url 'builddashboard' build.pk%}#warnings"
>class="alert-link build-warnings">
>+ {{build.warnings.count}}
>warning{{build.warnings.count|pluralize}}
>+ </a>
>+ {% endif %}
> </div>
>+
> <div class="col-md-3">
> Build time: <a class="alert-link" href="{% url 'buildtime'
>build.pk %}">{{ build.timespent_seconds|sectohms }}
> </a>
>+
> {% if build.project.is_default %}
>- <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 %}
>- " title="Builds in this project cannot be started from
>Toaster: they are started from the command line">
>- </span>
>+ <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 %}"
>+ title="Builds in this project cannot be started from
>Toaster: they are started from the command line">
>+ </span>
> {% else %}
>- <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"
>- data-request-url="{% url 'xhr_buildrequest'
>build.project.pk %}"
>-
>data-target='{{build.target_set.all|get_tasks|json}}'>
>- <span class="glyphicon glyphicon-repeat"></span>
>- Rebuild
>- </a>
>+ <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"
>+ data-request-url="{% url 'xhr_buildrequest'
>build.project.pk %}"
>+ data-target='{{build.target_set.all|get_tasks|json}}'>
>+ <span class="glyphicon glyphicon-repeat"></span>
>+ Rebuild
>+ </a>
> {% endif %}
> </div>
>- {%endif%}
>+ {% endif %}
>
>- {%if build.outcome == build.IN_PROGRESS %}
>- <div class="col-md-4" style="display:none"
>id="cancelling-msg-{{build.buildrequest.pk}}">
>- Cancelling the build ...
>- </div>
>- <div class="col-md-4 col-md-offset-1 progress-info">
>- <div class="progress" id="build-pc-done-title-{{build.pk}}">
>- <div id="build-pc-done-bar-{{build.pk}}" style="width:
>{{build.completeper}}%;" class="progress-bar"></div>
>- </div>
>- </div>
>- <div class="col-md-4 progress-info"><span
>id="build-pc-done-{{build.pk}}">{{build.completeper}}</span>% of tasks
>complete
>- {# No build cancel for command line builds project #}
>- {% if build.project.is_default %}
>- <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>
>- {% else %}
>- <a href="#" class="cancel-build-btn pull-right alert-link"
>- data-buildrequest-id={{build.buildrequest.pk}}
>- data-request-url="{% url 'xhr_buildrequest' build.project.pk
>%}" >
>- <span class="glyphicon glyphicon-remove-circle"></span>
>- Cancel
>- </a>
>- </div>
>- {% endif %}
>+ {% if build.outcome == build.IN_PROGRESS %}
>+ <div class="col-md-4" style="display:none"
>id="cancelling-msg-{{build.buildrequest.pk}}">
>+ Cancelling the build ...
>+ </div>
>
>- {%endif%} {# end if in progress #}
>+ <div class="col-md-4 col-md-offset-1 progress-info">
>+ <div class="progress"
>id="build-pc-done-title-{{build.pk}}">
>+ <div id="build-pc-done-bar-{{build.pk}}" style="width:
>{{build.completeper}}%;" class="progress-bar">
>+ </div>
>+ </div>
>+ </div>
>
>- {% if build.outcome == build.CANCELLED %}
>- <div class="col-md-6">
>- Build cancelled
>- </div>
>- <div class="col-md-3">
>- <a href="#" class="info pull-right run-again-btn alert-link"
>- data-request-url="{% url 'xhr_buildrequest' build.project.pk %}"
>- data-target='{{build.target_set.all|get_tasks|json}}'>
>- <span class="glyphicon glyphicon-repeat"></span>
>- Rebuild
>- </a>
>- </div>
>- {% endif %}
>- </div>
>-</div>
>- {% endfor %}
>- </div>
>+ <div class="col-md-4 progress-info">
>+ <span
>id="build-pc-done-{{build.pk}}">{{build.completeper}}</span>% of tasks
>complete
>+ {# No build cancel for command line builds project #}
>+ {% if build.project.is_default %}
>+ <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>
>+ {% else %}
>+ <a href="#" class="cancel-build-btn pull-right
>alert-link"
>+ data-buildrequest-id={{build.buildrequest.pk}}
>+ data-request-url="{% url 'xhr_buildrequest'
>build.project.pk %}">
>+ <span class="glyphicon glyphicon-remove-circle"></span>
>+ Cancel
>+ </a>
>+ {% endif %}
>+ </div>
>+ {% endif %} {# end if in progress #}
>
>-{%endif%}
>+ {% if build.outcome == build.CANCELLED %}
>+ <div class="col-md-6">
>+ Build cancelled
>+ </div>
>
>+ <div class="col-md-3">
>+ <a href="#" class="info pull-right run-again-btn
>alert-link"
>+ data-request-url="{% url 'xhr_buildrequest'
>build.project.pk %}"
>+ data-target='{{build.target_set.all|get_tasks|json}}'>
>+ <span class="glyphicon glyphicon-repeat"></span>
>+ Rebuild
>+ </a>
>+ </div>
>+ {% endif %}
>+ </div>
>+ </div>
>+ {% endfor %}
>+ </div>
>+{% endif %}
>\ No newline at end of file
>--
>2.7.4
>
>--
>_______________________________________________
>toaster mailing list
>toaster at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/toaster
More information about the toaster
mailing list