]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bitbake: toastergui: Consider task name when restarting a build in /builds
authorEd Bartosh <ed.bartosh@linux.intel.com>
Tue, 19 May 2015 21:34:56 +0000 (00:34 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 29 May 2015 10:59:45 +0000 (11:59 +0100)
Previously the same issue was fixed for project view.
'Run again' button now restarts builds using target:task also in builds view.

[YOCTO #7442]

(Bitbake rev: ae6349a13f11b6fa90fe5603b000bef14ee0f2f0)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/toaster/toastergui/templates/managed_mrb_section.html
bitbake/lib/toaster/toastergui/templates/runagain.html [new file with mode: 0644]
bitbake/lib/toaster/toastergui/templatetags/projecttags.py

index abcc0bb58f852ba94cbe53dab2b6add810e60c53..c93c2af301e9d0eac4218bfa68622d6dfb7553fe 100644 (file)
                 Build time: <a href="{% url 'buildtime' build.pk %}">{{ build.timespent|sectohms }}</a>
               </span>
           {% if build.project %}
-              <button class="btn {%if build.outcome == build.SUCCEEDED%}btn-success{%elif build.outcome == build.FAILED%}btn-danger{%else%}btn-info{%endif%} pull-right" onclick='scheduleBuild({% url 'xhr_projectbuild' build.project.id as bpi%}{{bpi|json}}, {{build.project.name|json}}, {% url 'project' buildrequest.project.id as bpurl%}{{bpurl|json}}, {{build.get_sorted_target_list|mapselect:'target'|json}})'>Run again</button>
+              <button class="btn
+                  {% if build.outcome == build.SUCCEEDED %}
+                      btn-success
+                  {% elif build.outcome == build.FAILED %}
+                      btn-danger
+                  {% else %}
+                      btn-info
+                  {%endif%}
+                  pull-right"
+                  {% include "runagain.html" %}
+              </button>
           {% endif %}
             </div>
     {%endif%}
               <span class="lead{%if not MANAGED or not buildrequest.project%} pull-right{%endif%}">
                 Build time: {{ buildrequest.get_duration|sectohms }}
               </span>
-              <button class="btn btn-danger pull-right" onclick='scheduleBuild({% url 'xhr_projectbuild' buildrequest.project.id as bpi%}{{bpi|json}},  {{buildrequest.project.name|json}}, {% url 'project' buildrequest.project.id as bpurl%}{{bpurl|json}}, {{buildrequest.get_sorted_target_list|mapselect:'target'|json}})'>Run again</button>
 
+              <button class="btn btn-danger pull-right"
+                  {% include "runagain.html" %}
+              </button>
             </div>
 
 
diff --git a/bitbake/lib/toaster/toastergui/templates/runagain.html b/bitbake/lib/toaster/toastergui/templates/runagain.html
new file mode 100644 (file)
index 0000000..a78c0dd
--- /dev/null
@@ -0,0 +1,7 @@
+{% load projecttags %}
+onclick='scheduleBuild(
+    {% url 'xhr_projectbuild' buildrequest.project.id as bpi %}{{bpi|json}},
+    {{buildrequest.project.name|json}},
+    {% url 'project' buildrequest.project.id as bpurl %}{{bpurl|json}},
+    {{buildrequest.brtarget_set.all|get_tasks|json}})
+'>Run again
index 1bc3bc2319f49b3ad22706849e6070117e9e08d6..8028ae0022db9d3c99b827056fc505c92cd4c6e1 100644 (file)
@@ -44,9 +44,10 @@ def sectohms(time):
     return "%02d:%02d:%02d" % (hours, int((tdsec - (hours * 3600))/ 60), int(tdsec) % 60)
 
 
-@register.filter(name = 'mapselect')
-def mapselect(value, argument):
-    return map(lambda x: vars(x)[argument], value)
+@register.filter(name = 'get_tasks')
+def get_tasks(queryset):
+    return list(target + ':' + task if task else target \
+                    for target, task in queryset.values_list('target', 'task'))
 
 
 @register.filter(name = "json")