AMBARI-15059. AUI for user home directory creation (akovalenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a4f8a956 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a4f8a956 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a4f8a956 Branch: refs/heads/branch-dev-patch-upgrade Commit: a4f8a9567b68c755eb78438233959e50d2095a41 Parents: aa06ebe Author: Aleksandr Kovalenko <[email protected]> Authored: Tue Feb 16 18:46:51 2016 +0200 Committer: Aleksandr Kovalenko <[email protected]> Committed: Tue Feb 16 19:34:59 2016 +0200 ---------------------------------------------------------------------- .../main/resources/ui/admin-web/app/index.html | 1 + .../loginActivities/HomeDirectoryCtrl.js | 31 ++++++++++ .../ui/admin-web/app/scripts/i18n.config.js | 11 +++- .../resources/ui/admin-web/app/styles/main.css | 3 + .../views/loginActivities/homeDirectory.html | 63 +++++++++++++++++++- .../app/views/loginActivities/loginMessage.html | 2 +- 6 files changed, 107 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a4f8a956/ambari-admin/src/main/resources/ui/admin-web/app/index.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/index.html b/ambari-admin/src/main/resources/ui/admin-web/app/index.html index fd2c6b8..e7cda02 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/index.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/index.html @@ -130,6 +130,7 @@ <script src="scripts/controllers/authentication/AuthenticationMainCtrl.js"></script> <script src="scripts/controllers/loginActivities/LoginActivitiesMainCtrl.js"></script> <script src="scripts/controllers/loginActivities/LoginMessageMainCtrl.js"></script> + <script src="scripts/controllers/loginActivities/HomeDirectoryCtrl.js"></script> <script src="scripts/controllers/users/UsersCreateCtrl.js"></script> <script src="scripts/controllers/users/UsersListCtrl.js"></script> <script src="scripts/controllers/users/UsersShowCtrl.js"></script> http://git-wip-us.apache.org/repos/asf/ambari/blob/a4f8a956/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/loginActivities/HomeDirectoryCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/loginActivities/HomeDirectoryCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/loginActivities/HomeDirectoryCtrl.js new file mode 100644 index 0000000..582b68b --- /dev/null +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/loginActivities/HomeDirectoryCtrl.js @@ -0,0 +1,31 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +'use strict'; + +angular.module('ambariAdminConsole') + .controller('HomeDirectoryCtrl',['$scope', function($scope) { + + $scope.TEMPLATE_PLACEHOLER = '/user/{{username}}'; + + $scope.autoCreate = false; + $scope.template = ''; + $scope.group = ''; + $scope.permissions = ''; + + $scope.save = function () {} + }]); http://git-wip-us.apache.org/repos/asf/ambari/blob/a4f8a956/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js index 327ae03..0c67831 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js @@ -75,6 +75,8 @@ angular.module('ambariAdminConsole') 'warning': 'Warning', 'filterInfo': '{{showed}} of {{total}} {{term}} showing', 'usersGroups': 'Users/Groups', + 'enabled': 'Enabled', + 'disabled': 'Disabled', 'clusterNameChangeConfirmation': { 'title': 'Confirm Cluster Name Change', @@ -92,8 +94,13 @@ angular.module('ambariAdminConsole') 'message': 'Message', 'buttonText': 'Button', 'status': 'Status', - 'status.enabled': 'Enabled', - 'status.disabled': 'Disabled' + 'status.disabled': 'Disabled', + 'homeDirectory.alert': 'Many Ambari Views store user preferences in the logged in user\'s / user directory in HDFS. Optionally, Ambari can auto-create these directories for users on login.', + 'homeDirectory.autoCreate': 'Auto-Create HDFS user directories', + 'homeDirectory.header': 'User Directory Creation Options', + 'homeDirectory.template': 'User Directory creation template', + 'homeDirectory.group': 'Default Group', + 'homeDirectory.permissions': 'Permissions' }, 'controls': { http://git-wip-us.apache.org/repos/asf/ambari/blob/a4f8a956/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css b/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css index cc57fa3..957e4be 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css +++ b/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css @@ -687,6 +687,9 @@ table.no-border tr td{ .login-message-pane i.inactive {color: #d9534f;margin-top: 2px;} .login-message-pane .on-off-switch-wrap {height:32px;} +.home-directory-pane .separator { + margin-top: 10px; +} /*.login-message-pane .well {height: 74px;} .login-message-pane input {margin-left: 3px;}*/ http://git-wip-us.apache.org/repos/asf/ambari/blob/a4f8a956/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/homeDirectory.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/homeDirectory.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/homeDirectory.html index a37e281..ee5d860 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/homeDirectory.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/homeDirectory.html @@ -16,4 +16,65 @@ * limitations under the License. --> -Home Directory \ No newline at end of file +<br/> +<div class="home-directory-pane" ng-controller="HomeDirectoryCtrl"> + <form class="form-horizontal" novalidate name="form" autocomplete="off"> + <div class="well"> + <div class="alert alert-info"> + {{'common.loginActivities.homeDirectory.alert' | translate}} + </div> + <fieldset> + <div class="form-group"> + <label class="col-sm-4 control-label">{{'common.loginActivities.homeDirectory.autoCreate' | translate}}</label> + <div class="col-sm-8"> + <toggle-switch model="autoCreate" on-label="{{'common.enabled' | translate}}" off-label="{{'common.disabled' | translate}}" class="switch-primary"></toggle-switch> + </div> + <input type="checkbox" name="autoCreate" class="hidden" ng-model="autoCreate"> + </div> + <h4>{{'common.loginActivities.homeDirectory.header' | translate}}</h4> + <hr class="separator"/> + <div class="form-group"> + <label class="col-sm-4 control-label">{{'common.loginActivities.homeDirectory.template' | translate}}</label> + <div class="col-sm-8"> + <input type="text" + class="form-control" + name="template" + placeholder="{{TEMPLATE_PLACEHOLER}}" + ng-model="template" + ng-disabled="!autoCreate" + autocomplete="off"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-4 control-label">{{'common.loginActivities.homeDirectory.group' | translate}}</label> + <div class="col-sm-8"> + <input type="text" + class="form-control" + name="template" + placeholder="users" + ng-model="group" + ng-disabled="!autoCreate" + autocomplete="off"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-4 control-label">{{'common.loginActivities.homeDirectory.permissions' | translate}}</label> + <div class="col-sm-8"> + <input type="text" + class="form-control" + name="template" + placeholder="750" + ng-model="permissions" + ng-disabled="!autoCreate" + autocomplete="off"> + </div> + </div> + <button + class="btn btn-primary pull-right" + ng-click="save()"> + {{'common.controls.save' | translate}} + </button> + </fieldset> + </div> + </form> +</div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/a4f8a956/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html index 1daf54c..96217f5 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/loginActivities/loginMessage.html @@ -24,7 +24,7 @@ <div class="form-group"> <label class="col-sm-2 control-label">{{'common.loginActivities.status' | translate}}</label> <div class="col-sm-10"> - <toggle-switch ng-click="changeStatus();" model="status" on-label="{{'common.loginActivities.status.enabled' | translate}}" off-label="{{'common.loginActivities.status.disabled' | translate}}" class="switch-primary userstatus" data-off-color="disabled"></toggle-switch> + <toggle-switch ng-click="changeStatus();" model="status" on-label="{{'common.enabled' | translate}}" off-label="{{'common.disabled' | translate}}" class="switch-primary userstatus" data-off-color="disabled"></toggle-switch> </div> <input type="checkbox" name="status" class="hidden" ng-model="status"> </div>
