[Toaster] [PATCH] toaster: fix layout for command-line builds in recent builds area

Michael Wood michael.g.wood at intel.com
Mon Jul 4 04:53:32 PDT 2016


Thanks. Applied to toaster-next and sent to bitbake-devel

Michael

On 30/06/16 11:38, Barros Pena, Belen wrote:
>
> 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