Index: /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/administrator/systemAction/systemAction.html
===================================================================
--- /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/administrator/systemAction/systemAction.html	(revision 2328)
+++ /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/administrator/systemAction/systemAction.html	(working copy)
@@ -1,4 +1,4 @@
-v class="row">
+<div class="row">
     <div class="col-md-12">
         <div class="col-md-12">
             <div class="row">
Index: /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/access_control/access_control.controller.js
===================================================================
--- /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/access_control/access_control.controller.js	(revision 2328)
+++ /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/access_control/access_control.controller.js	(working copy)
@@ -1,5 +1,54 @@
 angular
     .module('cm.system')
+    .controller('access_webuiCtrl', [
+        '$scope',
+        '$rootScope',
+        '$state',
+        '$uibModal',
+        '$filter',
+        '$location',
+        'systemService',
+        function ($scope, $rootScope, $state, $uibModal, $filter, $location, systemService) {
+            var webUIViewModel = this;
+            $rootScope.title = "WebUI Settings";
+
+            webUIViewModel.data = {
+                "enable_webui": false,
+                "webui_port": 8888
+            };
+
+            $scope.allow_config = true;
+            $scope.actualConfig = {};
+
+            function get_webui_settings() {
+                systemService
+                    .get_webui_settings()
+                    .then(function (res) {
+                        if (res && res.status === 200) {
+                            webUIViewModel.data = res.data;
+                            $scope.actualConfig = angular.copy(res.data);
+                        }
+                    });
+            }
+
+            webUIViewModel.save = function (general) {
+                var payload = {}
+                if (this.data.enable_webui) {
+                    payload = {webui_port: this.data.webui_port};
+                } else {
+                    payload = {enable_webui: this.data.enable_webui};
+                }
+                systemService.update_webui_settings(payload).then(function (res) {
+                    if (res && res.status === 200) {}
+                });
+            }
+
+            webUIViewModel.cancel = function () {
+                get_webui_settings();
+            };
+
+            get_webui_settings();
+        }])
     .controller('access_webui_sslCtrl', [
         '$scope',
         '$rootScope',
@@ -8,22 +57,22 @@
         '$filter',
         '$location',
         'systemService',
-        function($scope, $rootScope, $state, $uibModal, $filter, $location, systemService) {
+        function ($scope, $rootScope, $state, $uibModal, $filter, $location, systemService) {
             var avxViewModel = this;
             $rootScope.title = "WebUI SSL Settings";
             avxViewModel.webui_ssl_cert = "Loading";
             avxViewModel.webui_ssl_interca = "Loading";
-            $scope.allow_config=true;
+            $scope.allow_config = true;
             systemService
                 .get_webui_ssl()
-                .then(function(res) {
+                .then(function (res) {
                     if (res && res.status === 200) {
                         avxViewModel.webui_ssl_cert = res.data.cert_file;
                         avxViewModel.webui_ssl_interca = res.data.interca_file;
                         $scope.allow_config = $rootScope.allow_config;
                     }
-            });
-            avxViewModel.showProgressBar = function() {
+                });
+            avxViewModel.showProgressBar = function () {
                 var modalInstance = $uibModal.open({
                     templateUrl: 'app/modules/common/templates/progress.html',
                     controller: 'showProgressCtrl',
@@ -31,13 +80,13 @@
                     backdrop: false
                 });
             };
-            avxViewModel.import_cert = function(type) {
+            avxViewModel.import_cert = function (type) {
                 var modalInstance = $uibModal.open({
                     templateUrl: 'app/modules/system/submenu/access_control/webui_ssl_import.html',
                     controller: 'webuiSSLImport',
                     controllerAs: 'webui_ssl_import',
                     resolve: {
-                        modalData: {"type":type}
+                        modalData: {"type": type}
                     }
                 });
                 modalInstance.result.then(function (rst) {
@@ -46,7 +95,7 @@
                     }
                 });
             };
-            avxViewModel.clear_cert = function(type) {
+            avxViewModel.clear_cert = function (type) {
                 if (confirm($filter('T')("This WebUI session may no longer be active if the WebUI configuration is changed successfully. Are you sure you want to do this?"))) {
                     avxViewModel.showProgressBar();
                     var RequestData = {
@@ -55,25 +104,25 @@
                     systemService
                         .webui_ssl_clear(RequestData)
                         .then(function (res) {
-                            $rootScope.$broadcast('endLoading', true);
-                            if (res && res.status === 200) {
-                                if (typeof(res.data) == "string") {
+                                $rootScope.$broadcast('endLoading', true);
+                                if (res && res.status === 200) {
+                                    if (typeof (res.data) == "string") {
+                                        $rootScope.TipService.setMessage($filter('T')("Your current WebUI connection is terminated."));
+                                        window.location.href = "/login";
+                                    } else {
+                                        if (!res.data[0]) {
+                                            $rootScope.TipService.setMessage(res.data[1]);
+                                        }
+                                    }
+                                } else {
                                     $rootScope.TipService.setMessage($filter('T')("Your current WebUI connection is terminated."));
                                     window.location.href = "/login";
-                                } else {
-                                    if (!res.data[0]) {
-                                        $rootScope.TipService.setMessage(res.data[1]);
-                                    }
                                 }
-                            } else {
+                            },
+                            function (res) {
                                 $rootScope.TipService.setMessage($filter('T')("Your current WebUI connection is terminated."));
                                 window.location.href = "/login";
-                            }
-                        },
-                        function(res) {
-                            $rootScope.TipService.setMessage($filter('T')("Your current WebUI connection is terminated."));
-                            window.location.href = "/login";
-                        });
+                            });
                 }
             };
         }
@@ -90,9 +139,9 @@
         'FileUploader',
         '$timeout',
         'modalData',
-        function($scope, $rootScope, $state, $stateParams, $uibModalInstance, $uibModal, systemService, $filter, FileUploader, $timeout, modalData) {
+        function ($scope, $rootScope, $state, $stateParams, $uibModalInstance, $uibModal, systemService, $filter, FileUploader, $timeout, modalData) {
             var modalViewModel = this;
-            modalViewModel.showProgressBar = function() {
+            modalViewModel.showProgressBar = function () {
                 var modalInstance = $uibModal.open({
                     templateUrl: 'app/modules/common/templates/progress.html',
                     controller: 'showProgressCtrl',
@@ -107,26 +156,26 @@
                 autoUpload: true,
                 removeAfterUpload: true,
             });
-            fileUploader.onBeforeUploadItem = function(item) {
+            fileUploader.onBeforeUploadItem = function (item) {
                 modalViewModel.showProgressBar();
             };
-            fileUploader.onSuccessItem = function(item, response, status, headers) {
-                $timeout(function() {
+            fileUploader.onSuccessItem = function (item, response, status, headers) {
+                $timeout(function () {
                     $rootScope.$broadcast('endLoading', true);
                 }, 500);
                 if (!response.error) {
                     modalViewModel.local = response.files[0].url;
                 }
             };
-            fileUploader.onCompleteItem = function(item, response, status, headers) {
-                $timeout(function() {
+            fileUploader.onCompleteItem = function (item, response, status, headers) {
+                $timeout(function () {
                     $rootScope.$broadcast('endLoading', true);
                 }, 500);
             };
-            modalViewModel.modalClose = function(ret) {
+            modalViewModel.modalClose = function (ret) {
                 $uibModalInstance.close(ret);
             };
-            modalViewModel.import = function() {
+            modalViewModel.import = function () {
                 if (confirm($filter('T')("This WebUI session may no longer be active if the WebUI configuration is changed successfully. Are you sure you want to do this?"))) {
                     modalViewModel.showProgressBar();
                     var RequestData = {
@@ -139,26 +188,27 @@
                     systemService
                         .webui_ssl_import(RequestData)
                         .then(function (res) {
-                            $rootScope.$broadcast('endLoading', true);
-                            if (res && res.status === 200) {
-                                if (typeof(res.data) == "string") {
+                                $rootScope.$broadcast('endLoading', true);
+                                if (res && res.status === 200) {
+                                    if (typeof (res.data) == "string") {
+                                        $rootScope.TipService.setMessage($filter('T')("Your current WebUI connection is terminated."));
+                                        modalViewModel.modalClose(true);
+                                    } else {
+                                        if (!res.data[0]) {
+                                            $rootScope.TipService.setMessage($filter('T')(res.data[1]));
+                                        }
+                                    }
+                                } else {
                                     $rootScope.TipService.setMessage($filter('T')("Your current WebUI connection is terminated."));
                                     modalViewModel.modalClose(true);
-                                } else {
-                                    if (!res.data[0]) {
-                                        $rootScope.TipService.setMessage($filter('T')(res.data[1]));
-                                    }
                                 }
-                            } else {
+                            },
+                            function (ret) {
                                 $rootScope.TipService.setMessage($filter('T')("Your current WebUI connection is terminated."));
                                 modalViewModel.modalClose(true);
-                            }
-                        },
-                        function(ret) {
-                            $rootScope.TipService.setMessage($filter('T')("Your current WebUI connection is terminated."));
-                            modalViewModel.modalClose(true);
-                        });
+                            });
                 }
             };
         }
     ]);
+
Index: /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/access_control/webui.html
===================================================================
--- /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/access_control/webui.html	(revision 0)
+++ /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/access_control/webui.html	(working copy)
@@ -0,0 +1,48 @@
+<div class="row">
+    <div class="col-lg-12">
+        <rd-widget>
+            <rd-widget-header title="{{'WebUI Settings'|T}}">
+            </rd-widget-header>
+        </rd-widget>
+        <rd-widget>
+            <rd-widget-body class="no-padding">
+                <div>
+                    <div style="margin-bottom: 15px;text-align: center" ng-if="!access_webui.data"><img
+                        src="app/images/loading.gif"></div>
+                    <form class="form-horizontal" name="general" verify-scope="tipStyle: 1" unsaved-warning-form
+                          ng-if="access_webui.data">
+                        <div class="form-group">
+                            <label class="col-md-3 control-label">{{'Enable'|T}}</label>
+                            <div class="col-md-6">
+                                <div class="switch">
+                                    <input bs-switch ng-model="access_webui.data.enable_webui" type="checkbox"
+                                           switch-active="{{allow_config}}" name="enable_webui" resettable>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="col-md-3 control-label">{{'Port'|T}}</label>
+                            <div class="col-md-3">
+                                <input ng-verify class="form-control" type="number" min="1025" max="65000"
+                                       ng-readonly="!access_webui.data.enable_webui" ng-model="access_webui.data.webui_port"
+                                       name="webui_port" resettable>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="col-md-3 control-label"></label>
+                            <div ng-show="general.$dirty" class="col-md-6">
+                                <button ng-verify="control:'general'" type="submit" class="btn btn-primary"
+                                        ng-click="access_webui.save(general)">{{'Apply Changes'|T}}
+                                </button>
+                                <button type="reset" class="btn btn-default btn-cancel"
+                                        ng-click="general.$dirty=false;access_webui.cancel()">{{'Cancel'|T}}
+                                </button>
+                            </div>
+                        </div>
+                    </form>
+                </div>
+            </rd-widget-body>
+        </rd-widget>
+    </div>
+</div>
+
Index: /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/system.html
===================================================================
--- /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/system.html	(revision 2328)
+++ /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/system.html	(working copy)
@@ -25,6 +25,9 @@
             <li role="presentation" ng-class="{ active: url_contain('/system/system_ha') }">
                 <a ui-sref="index.system.system_ha">{{ 'System HA' | T }}</a>
             </li>
+            <li role="presentation" ng-class="{ active: url_contain('/system/webui') }">
+                <a ui-sref="index.system.webui">{{ 'WebUI Settings' | T }}</a>
+            </li>
             <li role="presentation" ng-class="{ active: url_contain('/system/ssl_webui') }">
                 <a ui-sref="index.system.ssl_webui">{{ 'WebUI SSL Settings' | T }}</a>
             </li>
@@ -46,6 +49,7 @@
     <div class="" ng-show="url_contain('/system/license')" ui-view="license"></div>
     <div class="" ng-show="url_contain('/system/setting')" ui-view="setting"></div>
     <div class="" ng-show="url_contain('/system/system_ha')" ui-view="system_ha"></div>
+    <div class="" ng-show="url_contain('/system/webui')" ui-view="webui"></div>
     <div class="" ng-show="url_contain('/system/ssl_webui')" ui-view="ssl_webui"></div>
     <div class="" ng-show="url_contain('/system/auth_aaa')" ui-view="admin_aaa"></div>
     <div class="" ng-show="url_contain('/system/log')" ui-view="log"></div>
Index: /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/system.module.js
===================================================================
--- /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/system.module.js	(revision 2328)
+++ /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/system.module.js	(working copy)
@@ -181,6 +181,17 @@
                 }
             });
         $stateProvider
+            .state('index.system.webui', {
+                url: '^/system/webui',
+                views: {
+                    'webui@index.system': {
+                        templateUrl: 'app/modules/system/submenu/access_control/webui.html',
+                        controller: 'access_webuiCtrl',
+                        controllerAs: 'access_webui'
+                    }
+                }
+            });
+        $stateProvider
             .state('index.system.admin_aaa', {
                 url: '^/system/auth_aaa',
                 views: {
Index: /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/system.service.js
===================================================================
--- /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/system.service.js	(revision 2328)
+++ /branches/amp_3_6/src/webui/webui/htdocs/new/src/client/app/modules/system/system.service.js	(working copy)
@@ -40,6 +40,10 @@
                 get_licenseInfo: get_licenseInfo,
                 update_licenseInfo: update_licenseInfo,
 
+                //webui
+                get_webui_settings: get_webui_settings,
+                update_webui_settings: update_webui_settings,
+
                 // webui_ssl
                 get_webui_ssl: get_webui_ssl,
                 webui_ssl_import: webui_ssl_import,
@@ -210,6 +214,16 @@
                 return apiService.post('/api/cm/system/License/_update', post_data);
             }
 
+            function get_webui_settings() {
+                return apiService.get('/api/cm/system/AccessControl/_field_group?field_group=webui_settings');
+            }
+
+            function update_webui_settings(data) {
+                var url = '/api/cm/system/AccessControl/_update';
+                var post_data = { "post_data": JSON.stringify(data) };
+                return apiService.post(url, post_data);
+            }
+
             function get_webui_ssl() {
                 return apiService.get('/api/cm/system/AccessControl/_field_group?field_group=webui_ssl_cert');
             }
