Merge ~ltrager/maas:lp1763831 into maas:master

Proposed by Lee Trager
Status: Merged
Approved by: Blake Rouse
Approved revision: 56a2d0893953e4c13c741b2e7c20df1d1030b70d
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~ltrager/maas:lp1763831
Merge into: maas:master
Diff against target: 53 lines (+29/-1)
2 files modified
src/maasserver/static/js/angular/controllers/node_details.js (+2/-1)
src/maasserver/static/js/angular/controllers/tests/test_node_details.js (+27/-0)
Reviewer Review Type Date Requested Status
Blake Rouse (community) Approve
MAAS Lander Approve
Review via email: mp+343253@code.launchpad.net

Commit message

LP: #1763831 - Only show available actions

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b lp1763831 lp:~ltrager/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 56a2d0893953e4c13c741b2e7c20df1d1030b70d

review: Approve
Revision history for this message
Blake Rouse (blake-rouse) wrote :

Looks good.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/static/js/angular/controllers/node_details.js b/src/maasserver/static/js/angular/controllers/node_details.js
2index 5adb5cb..3e59b5b 100644
3--- a/src/maasserver/static/js/angular/controllers/node_details.js
4+++ b/src/maasserver/static/js/angular/controllers/node_details.js
5@@ -161,8 +161,9 @@ angular.module('MAAS').controller('NodeDetailsController', [
6 // allowed actions, except set-zone which does not make
7 // sense in this view because the form has this
8 // functionality
9- $scope.action.availableOptions = GeneralManager.getData(
10+ $scope.action.allOptions = GeneralManager.getData(
11 actionTypeForNodeType[$scope.node.node_type]);
12+ $scope.action.availableOptions.length = 0;
13 angular.forEach($scope.action.allOptions, function(option) {
14 if($scope.node.actions.indexOf(option.name) >= 0
15 && option.name !== "set-zone") {
16diff --git a/src/maasserver/static/js/angular/controllers/tests/test_node_details.js b/src/maasserver/static/js/angular/controllers/tests/test_node_details.js
17index 1613463..9b89802 100644
18--- a/src/maasserver/static/js/angular/controllers/tests/test_node_details.js
19+++ b/src/maasserver/static/js/angular/controllers/tests/test_node_details.js
20@@ -606,6 +606,33 @@ describe("NodeDetailsController", function() {
21 ]);
22 });
23
24+ it("updates $scope.actions", function() {
25+ var setActiveDefer = $q.defer();
26+ spyOn(MachinesManager, "setActiveItem").and.returnValue(
27+ setActiveDefer.promise);
28+ var loadManagersDefer = $q.defer();
29+ var loadItemsDefer = $q.defer();
30+ var controller = makeController(loadManagersDefer, loadItemsDefer);
31+ node.node_type = 0;
32+ node.actions = ['test', 'release', 'delete'];
33+ var all_actions = [
34+ {'name': 'deploy'},
35+ {'name': 'commission'},
36+ {'name': 'test'},
37+ {'name': 'release'},
38+ {'name': 'delete'}
39+ ];
40+ loadManagersDefer.resolve();
41+ $rootScope.$digest();
42+ setActiveDefer.resolve(node);
43+ $rootScope.$digest();
44+ loadItemsDefer.resolve(all_actions);
45+ $rootScope.$digest();
46+ expect($scope.action.allOptions).toEqual(all_actions);
47+ expect($scope.action.availableOptions).toEqual([
48+ {'name': 'test'}, {'name': 'release'}, {'name': 'delete'}]);
49+ });
50+
51 it("reloads osinfo on route change", function() {
52 var controller = makeController();
53 $scope.$emit("$routeChangeSuccess");

Subscribers

People subscribed via source and target branches