summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib')
-rw-r--r--bitbake/lib/toaster/toastergui/static/js/projectapp.js19
-rw-r--r--bitbake/lib/toaster/toastergui/templates/project.html7
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py6
3 files changed, 26 insertions, 6 deletions
diff --git a/bitbake/lib/toaster/toastergui/static/js/projectapp.js b/bitbake/lib/toaster/toastergui/static/js/projectapp.js
index 26e054dc23..0b6e0126dd 100644
--- a/bitbake/lib/toaster/toastergui/static/js/projectapp.js
+++ b/bitbake/lib/toaster/toastergui/static/js/projectapp.js
@@ -484,11 +484,13 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
484 layerAdd: selectedArray.join(","), 484 layerAdd: selectedArray.join(","),
485 } 485 }
486 }).then(function () { 486 }).then(function () {
487 $scope.adjustMostBuiltItems(selectedArray.length);
487 $scope.layerAddName = undefined; 488 $scope.layerAddName = undefined;
488 }); 489 });
489 }); 490 });
490 } 491 }
491 else { 492 else {
493 $scope.adjustMostBuiltItems(1);
492 $scope._makeXHRCall({ 494 $scope._makeXHRCall({
493 method: "POST", url: $scope.urls.xhr_edit, 495 method: "POST", url: $scope.urls.xhr_edit,
494 data: { 496 data: {
@@ -503,6 +505,7 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
503 }; 505 };
504 506
505 $scope.layerDel = function(id) { 507 $scope.layerDel = function(id) {
508 $scope.adjustMostBuiltItems(-1);
506 $scope._makeXHRCall({ 509 $scope._makeXHRCall({
507 method: "POST", url: $scope.urls.xhr_edit, 510 method: "POST", url: $scope.urls.xhr_edit,
508 data: { 511 data: {
@@ -511,6 +514,14 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
511 }); 514 });
512 }; 515 };
513 516
517 $scope.adjustMostBuiltItems = function(listDelta) {
518 $scope.layerCount += listDelta;
519 $scope.mutedtargets = ($scope.layerCount == 0 ? "muted" : "");
520 };
521
522/*
523*/
524
514 525
515 /** 526 /**
516 * Verifies if a project settings change would trigger layer updates. If user confirmation is needed, 527 * Verifies if a project settings change would trigger layer updates. If user confirmation is needed,
@@ -799,6 +810,14 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
799 return keys.length === 0; 810 return keys.length === 0;
800 }; 811 };
801 812
813 $scope.disableBuildCheckbox = function(t) {
814 if ( $scope.layerCount == 0 ) {
815 $scope.mostBuiltTargets[t] = 0;
816 return true;
817 };
818 return false;
819 }
820
802 $scope.buildSelectedTargets = function () { 821 $scope.buildSelectedTargets = function () {
803 var keys = Object.keys($scope.mostBuiltTargets); 822 var keys = Object.keys($scope.mostBuiltTargets);
804 keys = keys.filter(function (e) { if ($scope.mostBuiltTargets[e]) return e; }); 823 keys = keys.filter(function (e) { if ($scope.mostBuiltTargets[e]) return e; });
diff --git a/bitbake/lib/toaster/toastergui/templates/project.html b/bitbake/lib/toaster/toastergui/templates/project.html
index 40048c2f2c..9d51a57208 100644
--- a/bitbake/lib/toaster/toastergui/templates/project.html
+++ b/bitbake/lib/toaster/toastergui/templates/project.html
@@ -328,10 +328,10 @@ vim: expandtab tabstop=2
328 <h4 class="air"> 328 <h4 class="air">
329 Most built targets 329 Most built targets
330 </h4> 330 </h4>
331 <ul class="unstyled configuration-list"> 331 <ul class="unstyled configuration-list {[mutedtargets]}">
332 <li ng-repeat="t in frequenttargets"> 332 <li ng-repeat="t in frequenttargets">
333 <label class="checkbox"> 333 <label class="checkbox">
334 <input type="checkbox" ng-model="mostBuiltTargets[t]">{[t]} 334 <input type="checkbox" ng-model="mostBuiltTargets[t]" ng-disabled="disableBuildCheckbox(t)" ng-checked="mostBuiltTargets[t] && !disableBuildCheckbox(t)">{[t]}
335 </label> 335 </label>
336 </li> 336 </li>
337 </ul> 337 </ul>
@@ -443,7 +443,8 @@ angular.element(document).ready(function() {
443 scope.frequenttargets = {{freqtargets|json}}; 443 scope.frequenttargets = {{freqtargets|json}};
444 scope.machine = {{machine|json}}; 444 scope.machine = {{machine|json}};
445 scope.releases = {{releases|json}}; 445 scope.releases = {{releases|json}};
446 446 scope.layerCount = scope.layers.length;
447 scope.mutedtargets = (scope.layerCount == 0 ? "muted" : "")
447 var now = (new Date()).getTime(); 448 var now = (new Date()).getTime();
448 scope.todaydate = now - (now % 86400000); 449 scope.todaydate = now - (now % 86400000);
449 450
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index d999959446..fdd80222ab 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -2204,11 +2204,11 @@ if toastermain.settings.MANAGED:
2204 freqtargets = [] 2204 freqtargets = []
2205 try: 2205 try:
2206 freqtargets += map(lambda x: x.target, reduce(lambda x, y: x + y, map(lambda x: list(x.target_set.all()), Build.objects.filter(project = prj, outcome__lt = Build.IN_PROGRESS)))) 2206 freqtargets += map(lambda x: x.target, reduce(lambda x, y: x + y, map(lambda x: list(x.target_set.all()), Build.objects.filter(project = prj, outcome__lt = Build.IN_PROGRESS))))
2207 freqtargets += map(lambda x: x.target, reduce(lambda x, y: x + y, map(lambda x: list(x.brtarget_set.all()), BuildRequest.objects.filter(project = prj, state__lte = BuildRequest.REQ_QUEUED)))) 2207 freqtargets += map(lambda x: x.target, reduce(lambda x, y: x + y, map(lambda x: list(x.brtarget_set.all()), BuildRequest.objects.filter(project = prj, state = BuildRequest.REQ_FAILED))))
2208 except TypeError: 2208 except TypeError:
2209 pass 2209 pass
2210 freqtargets = Counter(freqtargets) 2210 freqtargets = Counter(freqtargets)
2211 freqtargets = sorted(freqtargets, key = lambda x: freqtargets[x]) 2211 freqtargets = sorted(freqtargets, key = lambda x: freqtargets[x], reverse=True)
2212 2212
2213 context = { 2213 context = {
2214 "project" : prj, 2214 "project" : prj,
@@ -2228,7 +2228,7 @@ if toastermain.settings.MANAGED:
2228 "branch" : { "name" : x.layercommit.get_vcs_reference(), "layersource" : x.layercommit.up_branch.layer_source.name if x.layercommit.up_branch != None else None}}, 2228 "branch" : { "name" : x.layercommit.get_vcs_reference(), "layersource" : x.layercommit.up_branch.layer_source.name if x.layercommit.up_branch != None else None}},
2229 prj.projectlayer_set.all().order_by("id")), 2229 prj.projectlayer_set.all().order_by("id")),
2230 "targets" : map(lambda x: {"target" : x.target, "task" : x.task, "pk": x.pk}, prj.projecttarget_set.all()), 2230 "targets" : map(lambda x: {"target" : x.target, "task" : x.task, "pk": x.pk}, prj.projecttarget_set.all()),
2231 "freqtargets": freqtargets, 2231 "freqtargets": freqtargets[:5],
2232 "releases": map(lambda x: {"id": x.pk, "name": x.name, "description":x.description}, Release.objects.all()), 2232 "releases": map(lambda x: {"id": x.pk, "name": x.name, "description":x.description}, Release.objects.all()),
2233 "project_html": 1, 2233 "project_html": 1,
2234 } 2234 }