blob: 433bf8cff3cd6cdd887b6c919d9495660fa6d00c [file] [log] [blame]
Iftekharul Islamcd789502017-04-19 14:37:55 -05001/**
2 * Controller for network
3 *
4 * @module app/configuration
5 * @exports networkController
6 * @name networkController
Iftekharul Islamcd789502017-04-19 14:37:55 -05007 */
8
Andrew Geisslerba5e3f32018-05-24 10:58:00 -07009window.angular && (function(angular) {
10 'use strict';
Iftekharul Islamcd789502017-04-19 14:37:55 -050011
Andrew Geisslerd27bb132018-05-24 11:07:27 -070012 angular.module('app.configuration').controller('networkController', [
Gunnar Mills9a0094d2018-05-02 21:50:56 -050013 '$scope', '$window', 'APIUtils', 'dataService', '$route',
14 function($scope, $window, APIUtils, dataService, $route) {
Andrew Geisslerd27bb132018-05-24 11:07:27 -070015 $scope.dataService = dataService;
16 $scope.network = {};
17 $scope.interface = {};
18 $scope.networkDevice = false;
19 $scope.hostname = '';
Gunnar Mills7ddc7272018-04-12 16:12:03 -050020 $scope.set_network_error = '';
21 $scope.set_network_success = false;
22 $scope.selectedInterface = '';
Gunnar Millsd01504c2018-05-03 13:01:51 -050023 $scope.confirm_settings = false;
Iftekharul Islam2a489552017-11-02 13:23:08 -050024
Andrew Geisslerd27bb132018-05-24 11:07:27 -070025 $scope.selectInterface = function(interfaceId) {
26 $scope.interface = $scope.network.interfaces[interfaceId];
27 $scope.selectedInterface = interfaceId;
28 $scope.networkDevice = false;
29 };
Gunnar Mills7ddc7272018-04-12 16:12:03 -050030 $scope.setNetworkSettings = function() {
Gunnar Millsd01504c2018-05-03 13:01:51 -050031 // Hides the confirm network settings modal
32 $scope.confirm_settings = false;
Gunnar Mills7ddc7272018-04-12 16:12:03 -050033 $scope.set_network_error = '';
34 $scope.set_network_success = false;
35 // TODO openbmc/openbmc#3165: check if the network settings
36 // changed before setting
37 APIUtils
38 .setMACAddress(
39 $scope.selectedInterface, $scope.interface.MACAddress)
40 .then(
41 function(data) {
42 $scope.set_network_success = true;
43 },
44 function(error) {
45 console.log(error);
46 $scope.set_network_error = 'MAC Address';
47 });
48 };
Gunnar Mills9a0094d2018-05-02 21:50:56 -050049 $scope.refresh = function() {
50 $route.reload();
51 };
Andrew Geisslerd27bb132018-05-24 11:07:27 -070052 APIUtils.getNetworkInfo().then(function(data) {
53 $scope.network = data.formatted_data;
54 $scope.hostname = data.hostname;
55 if ($scope.network.interface_ids.length) {
56 $scope.selectedInterface = $scope.network.interface_ids[0];
57 $scope.interface =
58 $scope.network.interfaces[$scope.selectedInterface];
59 }
60 });
61 }
62 ]);
Iftekharul Islamcd789502017-04-19 14:37:55 -050063
64})(angular);