From 7ddc7274a98f518772efa96b93e9b331d7a61117 Mon Sep 17 00:00:00 2001 From: Gunnar Mills Date: Thu, 12 Apr 2018 16:12:03 -0500 Subject: Set MAC address on "Save Settings" Make a REST call to set the MAC address when the "Save Settings" button is pressed. Tested: Verified the MAC Address is set. Change-Id: I39f6d4688842b3453fd219795d07f819ba4ba481 Signed-off-by: Gunnar Mills --- app/common/services/api-utils.js | 17 +++++++++++++++++ app/common/styles/elements/index.scss | 1 + app/common/styles/elements/success.scss | 7 +++++++ .../controllers/network-controller.html | 8 +++++--- app/configuration/controllers/network-controller.js | 20 ++++++++++++++++++++ app/configuration/styles/network.scss | 6 +++++- 6 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 app/common/styles/elements/success.scss diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js index fec8572..5e0cd3c 100644 --- a/app/common/services/api-utils.js +++ b/app/common/services/api-utils.js @@ -183,6 +183,23 @@ window.angular && (function(angular) { }); return deferred.promise; }, + setMACAddress: function(interface_name, mac_address) { + return $http({ + method: 'PUT', + url: DataService.getHost() + + '/xyz/openbmc_project/network/' + interface_name + + '/attr/MACAddress', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json' + }, + withCredentials: true, + data: JSON.stringify({'data': mac_address}) + }) + .then(function(response) { + return response.data; + }); + }, getLEDState: function() { var deferred = $q.defer(); $http({ diff --git a/app/common/styles/elements/index.scss b/app/common/styles/elements/index.scss index d431ef8..9a6fe55 100644 --- a/app/common/styles/elements/index.scss +++ b/app/common/styles/elements/index.scss @@ -12,3 +12,4 @@ @import "modals"; @import "quicklinks"; @import "errors"; +@import "success"; diff --git a/app/common/styles/elements/success.scss b/app/common/styles/elements/success.scss new file mode 100644 index 0000000..defdb16 --- /dev/null +++ b/app/common/styles/elements/success.scss @@ -0,0 +1,7 @@ +.success-msg { + color: $primebtn__bg; + padding: 1em; + font-size: 1em; + font-family: "Courier New", Helvetica, Arial, sans-serif; + font-weight: 500; +} diff --git a/app/configuration/controllers/network-controller.html b/app/configuration/controllers/network-controller.html index caa2913..6c494d0 100644 --- a/app/configuration/controllers/network-controller.html +++ b/app/configuration/controllers/network-controller.html @@ -81,9 +81,11 @@
- - + +
+ + - \ No newline at end of file + diff --git a/app/configuration/controllers/network-controller.js b/app/configuration/controllers/network-controller.js index e764de8..b3d33f9 100644 --- a/app/configuration/controllers/network-controller.js +++ b/app/configuration/controllers/network-controller.js @@ -17,12 +17,32 @@ window.angular && (function(angular) { $scope.interface = {}; $scope.networkDevice = false; $scope.hostname = ''; + $scope.set_network_error = ''; + $scope.set_network_success = false; + $scope.selectedInterface = ''; $scope.selectInterface = function(interfaceId) { $scope.interface = $scope.network.interfaces[interfaceId]; $scope.selectedInterface = interfaceId; $scope.networkDevice = false; }; + $scope.setNetworkSettings = function() { + $scope.set_network_error = ''; + $scope.set_network_success = false; + // TODO openbmc/openbmc#3165: check if the network settings + // changed before setting + APIUtils + .setMACAddress( + $scope.selectedInterface, $scope.interface.MACAddress) + .then( + function(data) { + $scope.set_network_success = true; + }, + function(error) { + console.log(error); + $scope.set_network_error = 'MAC Address'; + }); + }; APIUtils.getNetworkInfo().then(function(data) { $scope.network = data.formatted_data; $scope.hostname = data.hostname; diff --git a/app/configuration/styles/network.scss b/app/configuration/styles/network.scss index b4bd72d..26653fd 100644 --- a/app/configuration/styles/network.scss +++ b/app/configuration/styles/network.scss @@ -43,4 +43,8 @@ margin: .5em; } } -} \ No newline at end of file + .set_network_error + { + margin-left: 3em; + } +} -- cgit v1.2.1