Updating network settings
Adding display network settings info in network settings page
Change-Id: I5ab3b399445b8d2d6422f907dc4c5a477bfc794d
Signed-off-by: Iftekharul Islam <iffy.ryan@ibm.com>
diff --git a/app/configuration/controllers/firmware-controller.js b/app/configuration/controllers/firmware-controller.js
index 50df4f0..cafc707 100644
--- a/app/configuration/controllers/firmware-controller.js
+++ b/app/configuration/controllers/firmware-controller.js
@@ -63,7 +63,20 @@
}
$scope.preserveSettingsConfirmed = function(){
- //show progress..callapi..hide..iferror..show error
+ $scope.uploading = true;
+ APIUtils.activateImage($scope.activate_image_id).then(function(response){
+ $scope.uploading = false;
+ if(response.status == 'error'){
+ $scope.displayError({
+ modal_title: response.data.description,
+ title: response.data.description,
+ desc: response.data.exception,
+ type: 'Error'
+ });
+ }else{
+ $scope.loadFirmwares();
+ }
+ });
$scope.preserve_settings_confirm = false;
}
@@ -105,7 +118,7 @@
var contentType = headers['content-type'];
if(!headers['x-filename']){
- filename = Constants.FIRMWARE.FALLBACK_DOWNLOAD_FILENAME;
+ filename = $scope.download_filename;
}
var linkElement = document.createElement('a');
@@ -161,10 +174,23 @@
$scope.delete_image_id = imageId;
$scope.confirm_delete = true;
}
- $scope.confirmDeleteImage = function(imageId){
+ $scope.confirmDeleteImage = function(){
+ $scope.loading = true;
+ APIUtils.deleteImage($scope.delete_image_id).then(function(response){
+ $scope.loading = false;
+ if(response.status == 'error'){
+ $scope.displayError({
+ modal_title: response.data.description,
+ title: response.data.description,
+ desc: response.data.exception,
+ type: 'Error'
+ });
+ }else{
+ $scope.loadFirmwares();
+ }
+ });
$scope.confirm_delete = false;
}
-
$scope.fileNameChanged = function(){
$scope.file_empty = false;
}
diff --git a/app/configuration/controllers/network-controller.html b/app/configuration/controllers/network-controller.html
index 6276ad3..caa2913 100644
--- a/app/configuration/controllers/network-controller.html
+++ b/app/configuration/controllers/network-controller.html
@@ -9,30 +9,27 @@
</div>
<fieldset>
<div class="column small-12 large-3">
+ <label for="net-config__mac">Hostname</label>
+ <input id="net-config__mac" type="text" readonly value="{{hostname}}"/>
+ </div>
+ <div class="column small-12 large-3">
<label for="netinterface-select">Network interface</label>
<div id="netinterface-select" class="dropdown__wrapper">
- <button class="dropdown__button" ng-click="networkDevice = ! networkDevice">eth0</button>
+ <button type="button" class="dropdown__button" ng-click="networkDevice = !networkDevice">{{selectedInterface}}</button>
<ul class="dropdown__list inline" ng-show="networkDevice">
- <li>
- <button ng-click="networkDevice=false;">eth0</button>
- </li>
- <li>
- <button ng-click="networkDevice=false;">eth1</button>
+ <li ng-repeat="interface_id in network.interface_ids">
+ <button type="button" ng-click="selectInterface(interface_id);">{{interface_id}}</button>
</li>
</ul>
</div>
</div>
<div class="column small-12 large-3">
- <label for="net-config__mac">MAC address</label>
- <input id="net-config__mac" type="text" readonly/>
- </div>
- <div class="column small-12 large-3">
- <label for="net-config__host">Hostname</label>
- <input id="net-config__host" type="text"/>
+ <label for="net-config__host">MAC address</label>
+ <input id="net-config__host" type="text" ng-model="interface.MACAddress"/>
</div>
<div class="column small-12 large-3">
<label for="net-config__domain">Domain name</label>
- <input id="net-config__domain" type="text"/>
+ <input id="net-config__domain" type="text" ng-model="interface.DomainName"/>
</div>
</fieldset>
</section>
@@ -43,28 +40,28 @@
<fieldset>
<div class="row column">
<label class="control-radio" for="dhcp-address">Obtain an IP address automatically using DHCP
- <input type="radio" name="ip-address" id="dhcp-address" ng-checked="true" ng-model="dhcp" ng-value="true" ng-init="dhcp=true"/>
+ <input type="radio" name="ip-address" id="dhcp-address" ng-checked="true" ng-model="interface.DHCPEnabled" ng-value="true">
<span class="control__indicator control__indicator-on"></span>
</label>
</div>
<div class="row column">
<label class="control-radio" for="static-ip-address">Assign a static IP address
- <input type="radio" name="ip-address" id="static-ip-address" ng-model="dhcp" ng-value="false"/>
+ <input type="radio" name="ip-address" id="static-ip-address" ng-model="interface.DHCPEnabled" ng-value="false"/>
<span class="control__indicator control__indicator-on"></span>
</label>
</div>
- <fieldset class="net-config__static-ip-wrap">
+ <fieldset class="net-config__static-ip-wrap" ng-repeat="ipv4 in interface.ipv4.values">
<div class="column small-12 large-4">
<label for="net-config__ipv4-address" class="inline">IPV4 address</label>
- <input id="net-config__ipv4-address" type="text" ng-disabled="dhcp" value=""/>
+ <input id="net-config__ipv4-address" type="text" ng-disabled="interface.DHCPEnabled" ng-model="ipv4.Address"/>
</div>
<div class="column small-12 large-4">
- <label for="net-config__subnet" class="inline">Subnet mask</label>
- <input id="net-config__subnet" type="text" ng-disabled="dhcp" value=""/>
+ <label for="net-config__subnet" class="inline">Gateway</label>
+ <input id="net-config__subnet" type="text" ng-disabled="interface.DHCPEnabled" value="" ng-model="ipv4.Gateway"/>
</div>
<div class="column small-12 large-4">
- <label for="net-config__default-gateway" class="inline">Default gateway</label>
- <input id="net-config__default-gateway" type="text" ng-disabled="dhcp" value=""/>
+ <label for="net-config__default-gateway" class="inline">Origin</label>
+ <input id="net-config__default-gateway" type="text" ng-disabled="interface.DHCPEnabled" ng-model="ipv4.Origin"/>
</div>
</fieldset>
</fieldset>
@@ -75,16 +72,12 @@
</div>
<fieldset>
<div class="column small-12 large-4">
- <label for="net-config__prime-dns">Primary DNS server</label>
- <input id="net-config__prime-dns" type="text"/>
- </div>
- <div class="column small-12 large-4">
- <label for="net-config__secondary-dns">Secondary DNS server</label>
- <input id="net-config__secondary-dns" type="text"/>
- </div>
- <div class="column small-12 large-4">
- <label for="net-config__tertiary-dns">Tertiary DNS server</label>
- <input id="net-config__tertiary-dns" type="text"/>
+ <ul>
+ <li ng-repeat="dns in interface.Nameservers track by $index">
+ <label for="net-config__prime-dns">DNS Server {{$index+1}}</label>{{dns}}
+ <br/>
+ </li>
+ </ul>
</div>
</fieldset>
<div class="network-config__submit-wrapper">
diff --git a/app/configuration/controllers/network-controller.js b/app/configuration/controllers/network-controller.js
index 31b5030..90b89f8 100644
--- a/app/configuration/controllers/network-controller.js
+++ b/app/configuration/controllers/network-controller.js
@@ -19,6 +19,24 @@
'dataService',
function($scope, $window, APIUtils, dataService){
$scope.dataService = dataService;
+ $scope.network = {};
+ $scope.interface = {};
+ $scope.networkDevice = false;
+ $scope.hostname = "";
+
+ $scope.selectInterface = function(interfaceId){
+ $scope.interface = $scope.network.interfaces[interfaceId];
+ $scope.selectedInterface = interfaceId;
+ $scope.networkDevice = false;
+ }
+ APIUtils.getNetworkInfo().then(function(data){
+ $scope.network = data.formatted_data;
+ $scope.hostname = data.hostname;
+ if($scope.network.interface_ids.length){
+ $scope.selectedInterface = $scope.network.interface_ids[0];
+ $scope.interface = $scope.network.interfaces[$scope.selectedInterface];
+ }
+ });
}
]
);