[bitbake-devel] [PATCH 12/22] toastergui: Consider task name when restarting a build in /builds
Alex DAMIAN
alexandru.damian at intel.com
Thu May 28 14:14:06 UTC 2015
From: Ed Bartosh <ed.bartosh at linux.intel.com>
Previously the same issue was fixed for project view.
'Run again' button now restarts builds using target:task also in builds view.
[YOCTO #7442]
Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
---
.../toastergui/templates/managed_mrb_section.html | 16 ++++++++++++++--
lib/toaster/toastergui/templates/runagain.html | 7 +++++++
lib/toaster/toastergui/templatetags/projecttags.py | 7 ++++---
3 files changed, 25 insertions(+), 5 deletions(-)
create mode 100644 lib/toaster/toastergui/templates/runagain.html
diff --git a/lib/toaster/toastergui/templates/managed_mrb_section.html b/lib/toaster/toastergui/templates/managed_mrb_section.html
index abcc0bb..c93c2af 100644
--- a/lib/toaster/toastergui/templates/managed_mrb_section.html
+++ b/lib/toaster/toastergui/templates/managed_mrb_section.html
@@ -54,7 +54,17 @@
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%}
@@ -104,8 +114,10 @@
<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/lib/toaster/toastergui/templates/runagain.html b/lib/toaster/toastergui/templates/runagain.html
new file mode 100644
index 0000000..a78c0dd
--- /dev/null
+++ b/lib/toaster/toastergui/templates/runagain.html
@@ -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
diff --git a/lib/toaster/toastergui/templatetags/projecttags.py b/lib/toaster/toastergui/templatetags/projecttags.py
index 1bc3bc2..8028ae0 100644
--- a/lib/toaster/toastergui/templatetags/projecttags.py
+++ b/lib/toaster/toastergui/templatetags/projecttags.py
@@ -44,9 +44,10 @@ def sectohms(time):
return "%02d:%02d:%02d" % (hours, int((tdsec - (hours * 3600))/ 60), int(tdsec) % 60)
- at register.filter(name = 'mapselect')
-def mapselect(value, argument):
- return map(lambda x: vars(x)[argument], value)
+ at 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")
--
1.9.1
More information about the bitbake-devel
mailing list