Repository: ambari
Updated Branches:
  refs/heads/trunk 48f033580 -> 5962d489a


AMBARI-6797. Admin View: UI cleanup. (yusaku)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5962d489
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5962d489
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5962d489

Branch: refs/heads/trunk
Commit: 5962d489a6d59600c9bd48e2d79d0362a881c739
Parents: 48f0335
Author: Yusaku Sako <[email protected]>
Authored: Fri Aug 8 13:21:44 2014 -0700
Committer: Yusaku Sako <[email protected]>
Committed: Fri Aug 8 13:26:36 2014 -0700

----------------------------------------------------------------------
 .gitignore                                      |  1 -
 .../main/resources/ui/admin-web/app/index.html  |  2 +
 .../resources/ui/admin-web/app/scripts/app.js   |  3 +-
 .../controllers/ambariViews/ViewsEditCtrl.js    | 18 +++++-
 .../controllers/ambariViews/ViewsListCtrl.js    | 12 ----
 .../controllers/groups/GroupsEditCtrl.js        |  8 ++-
 .../scripts/controllers/users/UsersShowCtrl.js  |  3 +-
 .../ui/admin-web/app/scripts/services/Group.js  | 19 ++++++
 .../resources/ui/admin-web/app/styles/main.css  | 15 +++++
 .../admin-web/app/views/ambariViews/create.html | 24 ++++----
 .../admin-web/app/views/ambariViews/edit.html   | 36 +++++++-----
 .../admin-web/app/views/ambariViews/list.html   | 21 ++++---
 .../app/views/clusters/manageAccess.html        | 10 ++--
 .../ui/admin-web/app/views/groups/create.html   |  3 +-
 .../ui/admin-web/app/views/groups/edit.html     | 24 +++++---
 .../ui/admin-web/app/views/groups/list.html     |  9 ++-
 .../ui/admin-web/app/views/users/create.html    |  3 +-
 .../ui/admin-web/app/views/users/list.html      | 10 ++--
 .../ui/admin-web/app/views/users/show.html      | 61 +++++++-------------
 .../src/main/resources/ui/admin-web/bower.json  |  3 +-
 20 files changed, 162 insertions(+), 123 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index cff27da..0430303 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,4 +20,3 @@ derby.log
 pass.txt
 ambari-agent/src/test/python/ambari_agent/dummy_files/current-stack
 velocity.log*
-*.pydevproject

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/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 9aef85b..cccd914 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
@@ -27,6 +27,7 @@
     <!-- build:css styles/vendor.css -->
     <!-- bower:css -->
     <link rel="stylesheet" 
href="bower_components/bootstrap/dist/css/bootstrap.css" />
+    <link rel="stylesheet" 
href="bower_components/angular-bootstrap-toggle-switch/style/bootstrap3/angular-toggle-switch-bootstrap-3.css"
 />
     <!-- endbower -->
     <!-- endbuild -->
 
@@ -88,6 +89,7 @@
     <script 
src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
     <script src="bower_components/lodash/dist/lodash.compat.js"></script>
     <script src="bower_components/restangular/dist/restangular.js"></script>
+    <script 
src="bower_components/angular-bootstrap-toggle-switch/angular-toggle-switch.js"></script>
     <!-- endbower -->
     <!-- endbuild -->
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js
index c7d2478..7ddeb44 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js
@@ -21,7 +21,8 @@ angular.module('ambariAdminConsole', [
   'ngRoute',
   'ui.bootstrap',
   'restangular',
-  'angularAlert'
+  'angularAlert',
+  'toggle-switch'
 ])
 .constant('Settings',{
        baseUrl: '/api/v1'

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
index 5c988e8..b55e157 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
@@ -18,8 +18,8 @@
 'use strict';
 
 angular.module('ambariAdminConsole')
-.controller('ViewsEditCtrl', ['$scope', '$routeParams' , 'View', 'uiAlert', 
'PermissionLoader', 'PermissionSaver', function($scope, $routeParams, View, 
uiAlert, PermissionLoader, PermissionSaver) {
-
+.controller('ViewsEditCtrl', ['$scope', '$routeParams' , 'View', 'uiAlert', 
'PermissionLoader', 'PermissionSaver', 'ConfirmationModal', '$location', 
function($scope, $routeParams, View, uiAlert, PermissionLoader, 
PermissionSaver, ConfirmationModal, $location) {
+  $scope.isConfigurationEmpty = true;
   function reloadViewInfo(){
     // Load instance data, after View permissions meta loaded
     View.getInstance($routeParams.viewId, $routeParams.version, 
$routeParams.instanceId)
@@ -31,6 +31,7 @@ angular.module('ambariAdminConsole')
       };
 
       $scope.configuration = 
angular.copy($scope.instance.ViewInstanceInfo.properties);
+      $scope.isConfigurationEmpty = angular.equals({}, $scope.configuration);
     })
     .catch(function(data) {
       uiAlert.danger(data.data.status, data.data.message);
@@ -47,6 +48,7 @@ angular.module('ambariAdminConsole')
       // Refresh data for rendering
       $scope.permissionsEdit = permissions;
       $scope.permissions = angular.copy(permissions);
+      $scope.isPermissionsEmpty = angular.equals({}, $scope.permissions);
     })
     .catch(function(data) {
       uiAlert.danger(data.data.status, data.data.message);
@@ -143,4 +145,16 @@ angular.module('ambariAdminConsole')
       uiAlert.danger(data.data.status, data.data.message);
     });
   };
+
+  $scope.deleteInstance = function(instance) {
+    ConfirmationModal.show('Delete View Instance', 'Are you sure you want to 
delete View Instance '+ instance.ViewInstanceInfo.label +'?').then(function() {
+      View.deleteInstance(instance.ViewInstanceInfo.view_name, 
instance.ViewInstanceInfo.version, instance.ViewInstanceInfo.instance_name)
+      .then(function() {
+        $location.path('/views');
+      })
+      .catch(function(data) {
+        uiAlert.danger(data.data.status, data.data.message);
+      });
+    });
+  };
 }]);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js
index 512b0c2..91d48be 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js
@@ -45,18 +45,6 @@ angular.module('ambariAdminConsole')
     modalInstance.result.then(loadViews);
   };
 
-  $scope.deleteInstance = function(instance) {
-    ConfirmationModal.show('Delete View Instance', 'Are you sure you want to 
delete View Instance '+ instance.ViewInstanceInfo.label +'?').then(function() {
-      View.deleteInstance(instance.ViewInstanceInfo.view_name, 
instance.ViewInstanceInfo.version, instance.ViewInstanceInfo.instance_name)
-      .then(function() {
-        loadViews();
-      })
-      .catch(function(data) {
-        uiAlert.danger(data.data.status, data.data.message);
-      });
-    });
-  };
-
   $scope.viewsFilter = '';
   $scope.filteredViews = [];
   $scope.getFilteredViews = function(views) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
index a386b62..2818746 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
@@ -31,7 +31,11 @@ angular.module('ambariAdminConsole')
     });
   }    
   
-  loadMembers();
+  $scope.group.isLDAP().then(function(isLDAP) {
+    $scope.group.ldap_group = isLDAP;
+    loadMembers();
+  });
+    
   
   $scope.removeMember = function(member) {
     $scope.group.removeMember(member).finally(function() {
@@ -59,6 +63,8 @@ angular.module('ambariAdminConsole')
     ConfirmationModal.show('Delete Group', 'Are you sure you want to delete 
group "'+ group.group_name +'"?').then(function() {
       group.destroy().then(function() {
         $location.path('/groups');
+      }).catch(function() {
+        
       });
     });
   };

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
index 2911b68..ad6a7e3 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
@@ -69,8 +69,7 @@ angular.module('ambariAdminConsole')
   };
 
   $scope.toggleUserActive = function() {
-    $scope.user.active = !$scope.user.active;
-    User.setActive($scope.user.user_name, $scope.user.active);
+    User.setActive($scope.user.user_name, !$scope.user.active);
   };
 
   User.get($routeParams.id).then(function(data) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js
index 5f67233..206712e 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js
@@ -28,6 +28,25 @@ angular.module('ambariAdminConsole')
     }
   }
 
+  Group.prototype.isLDAP = function() {
+    var deferred = $q.defer();
+    var self = this;
+    if( typeof this.ldap_group === 'boolean' ){
+      deferred.resolve(this.ldap_group)
+    } else {
+      $http({
+        method: 'GET',
+        url: Settings.baseUrl + '/groups/'+this.group_name
+      }).
+      success(function(data) {
+        self.ldap_group = data.Groups.ldap_group;
+        deferred.resolve(self.ldap_group);
+      });
+    }
+
+    return deferred.promise;
+  }
+
   Group.prototype.save = function() {
     return $http({
       method : 'POST',

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/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 4104ccb..42da202 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
@@ -51,6 +51,18 @@
   font-weight: bold;
   font-size: 2em;
 }
+
+.breadcrumb{
+  background: none;
+  font-size: 24px;
+  margin: 0;
+  padding: 0;
+}
+
+.user-edit-panel .ats-switch span.switch-right{
+  background-color: #da4f49;
+  color: white;
+}
 /*
   Style topnav menu
 */
@@ -167,6 +179,9 @@ table.no-border tr td{
 .no-border{
   border: none !important;
 }
+.top-margin-4{
+  margin-top: 4px;
+}
 
 .groups-pane table ul{
   list-style-type: none;

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
index 1b11d65..ce5c5f7 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
@@ -17,9 +17,8 @@
 -->
 <ol class="breadcrumb">
   <li><a href="#/views">Views</a></li>
-  <li class="active">Create instance</li>
+  <li class="active">Create {{view.ViewVersionInfo.view_name}} instance</li>
 </ol>
-<h2>Create View Instance</h2>
 <hr>
 <form class="form-horizontal create-view-form" role="form" 
name="form.isntanceCreateForm" novalidate>
   <div class="view-header">
@@ -105,19 +104,22 @@
 
   <div class="panel panel-default">
     <div class="panel-heading">
-      <h3 class="panel-title">Configuration</h3>
+      <h3 class="panel-title">Properties</h3>
     </div>
     <div class="panel-body">
-    <div class="form-group" ng-repeat="parameter in instance.properties"
-      ng-class="{'has-error' : 
(form.isntanceCreateForm[parameter.name].$error.required && 
form.isntanceCreateForm.submitted)}" >
-      <label for="" class="col-sm-3 
control-label">{{parameter.description}}</label>
-      <div class="col-sm-9">
-        <input type="text" class="form-control"  name="{{parameter.name}}" 
ng-required="parameter.required" ng-model="parameter.value">
-        <div class="alert alert-danger no-margin-bottom top-margin" 
ng-show='form.isntanceCreateForm[parameter.name].$error.required && 
form.isntanceCreateForm.submitted'>
-          Field requried!
+      <div class="form-group" ng-repeat="parameter in instance.properties"
+        ng-class="{'has-error' : 
(form.isntanceCreateForm[parameter.name].$error.required && 
form.isntanceCreateForm.submitted)}" >
+        <label for="" class="col-sm-3 
control-label">{{parameter.description}}</label>
+        <div class="col-sm-9">
+          <input type="text" class="form-control"  name="{{parameter.name}}" 
ng-required="parameter.required" ng-model="parameter.value">
+          <div class="alert alert-danger no-margin-bottom top-margin" 
ng-show='form.isntanceCreateForm[parameter.name].$error.required && 
form.isntanceCreateForm.submitted'>
+            Field requried!
+          </div>
         </div>
       </div>
-    </div>
+      <div ng-show="!instance.properties.length">
+        <div class="alert alert-info">There are no properties defined for this 
view.</div>
+      </div>
     </div>
   </div>
   

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
index 9bfcffd..20e26fd 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
@@ -15,13 +15,17 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 -->
-<ol class="breadcrumb">
-  <li><a href="#/views">Views</a></li>
-  <li class="active">Edit {{instance.ViewInstanceInfo.label}}</li>
-</ol>
-<h2>Edit {{instance.ViewInstanceInfo.view_name}}: 
{{instance.ViewInstanceInfo.label}}</h2>
+<div class="clearfix">
+  <ol class="breadcrumb pull-left">
+    <li><a href="#/views">Views</a></li>
+    <li class="active">{{instance.ViewInstanceInfo.view_name}}: 
{{instance.ViewInstanceInfo.label}}</li>
+  </ol>
+  <div class="pull-right top-margin-4">
+    <button class="btn btn-danger" ng-click="deleteInstance(instance)">Delete 
Instance</button>
+  </div>
+</div>
 <hr>
-<div class="panel panel-default">
+<div class="panel panel-default" ng-cloak>
   <div class="panel-heading clearfix">
     <h3 class="panel-title pull-left">Settings</h3>
     <div class="pull-right">
@@ -62,12 +66,12 @@
 <div class="panel panel-default views-permissions-panel" style="">
   <div class="panel-heading clearfix">
     <h3 class="panel-title pull-left">Permissions</h3>
-    <div class="pull-right">
-      <a href ng-click="editPermissionDisabled = !editPermissionDisabled" 
ng-show="editPermissionDisabled"> <span class="glyphicon glyphicon-cog"></span> 
Edit</a>
+    <div class="pull-right" >
+      <a ng-hide="isPermissionsEmpty" href ng-click="editPermissionDisabled = 
!editPermissionDisabled" ng-show="editPermissionDisabled"> <span 
class="glyphicon glyphicon-cog"></span> Edit</a>
     </div>
   </div>
   <div class="panel-body">
-    <form class="form-horizontal">
+    <form class="form-horizontal" ng-show="!isPermissionsEmpty">
       <div class="form-group">
         <div class="col-sm-2"></div>
         <label class="col-sm-5 control-label text-left">Users</label>
@@ -98,6 +102,7 @@
           </div>
         </div>
       </div>
+      
       <div class="form-group" ng-hide="editPermissionDisabled">
         <div class="col-sm-offset-2 col-sm-10">
           <button class="btn btn-primary pull-right left-margin" 
ng-click="savePermissions()">Save</button>
@@ -105,19 +110,21 @@
         </div>
       </div>
     </form>
-      
+    <div ng-show="isPermissionsEmpty">
+      <div class="alert alert-info">There are no permissions defined for this 
view.</div>
+    </div>
   </div>
 </div>
 
 <div class="panel panel-default">
   <div class="panel-heading clearfix">
-    <h3 class="panel-title pull-left">Configuration</h3>
+    <h3 class="panel-title pull-left">Properties</h3>
     <div class="pull-right">
-      <a href ng-click="editConfigurationDisabled = 
!editConfigurationDisabled" ng-show="editConfigurationDisabled"> <span 
class="glyphicon glyphicon-cog"></span> Edit</a>
+      <a href ng-hide="isConfigurationEmpty" 
ng-click="editConfigurationDisabled = !editConfigurationDisabled" 
ng-show="editConfigurationDisabled"> <span class="glyphicon 
glyphicon-cog"></span> Edit</a>
     </div>
   </div>
   <div class="panel-body">
-    <form action="" class="form-horizontal">
+    <form action="" class="form-horizontal" ng-hide="isConfigurationEmpty">
       <fieldset ng-disabled="editConfigurationDisabled">
         <div class="form-group" ng-repeat="(propertyName, propertyValue) in 
configuration">
           <label for="" class="control-label col-sm-3">{{propertyName}}</label>
@@ -131,5 +138,8 @@
         </div>
       </fieldset>
     </form>
+    <div ng-show="isConfigurationEmpty">
+      <div class="alert alert-info">There are no configuration defined for 
this view.</div>
+    </div>
   </div>
 </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html
index aad6665..3da2823 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html
@@ -15,13 +15,13 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 -->
-<ol class="breadcrumb">
-  <li class="active">Views</li>
-</ol>
+    
 <div class="views-list-pane">
   <div class="clearfix">
-    <h3 class="pull-left">Views</h3>
-    <div class="pull-right top-buffer col-sm-4">
+    <ol class="breadcrumb pull-left">
+      <li class="active">Views</li>
+    </ol>
+    <div class="pull-right col-sm-4">
       <div class="input-group">
         <input type="text" class="form-control" placeholder="Search" 
ng-model="viewsFilter" ng-change="getFilteredViews()">
         <span class="input-group-addon">
@@ -55,12 +55,10 @@
           <tr ng-repeat="instance in view.instances">
             <td class="col-sm-3"></td>
             <td class="col-sm-3">{{instance.ViewInstanceInfo.version}}</td>
-            <td class="col-sm-3">{{instance.ViewInstanceInfo.label}}</td>
             <td class="col-sm-3">
-              <a 
href="#/views/{{view.view_name}}/versions/{{instance.ViewInstanceInfo.version}}/instances/{{instance.ViewInstanceInfo.instance_name}}/edit"
 class="btn btn-default"><span class="glyphicon glyphicon-cog"></span> Edit</a>
-              <a href="" class="btn btn-default" 
ng-click="deleteInstance(instance)">
-                <span class="glyphicon glyphicon-trash"></span> Delete
-              </a>
+              <a 
href="#/views/{{view.view_name}}/versions/{{instance.ViewInstanceInfo.version}}/instances/{{instance.ViewInstanceInfo.instance_name}}/edit"
 class="">{{instance.ViewInstanceInfo.label}}</a>
+            </td>
+            <td class="col-sm-3">
             </td>
           </tr>
         </tbody>
@@ -68,10 +66,11 @@
           <tr>
             <td class="col-sm-3"></td>
             <td class="col-sm-3"></td>
-            <td class="col-sm-3"></td>
             <td class="col-sm-3">
               <a class="btn btn-default" 
href="#/views/{{view.view_name}}/versions/{{view.versionsList[view.versionsList.length-1].ViewVersionInfo.version}}/new"><span
 class="glyphicon glyphicon-plus" ></span> Create Instance</a>
             </td>
+            <td class="col-sm-3">
+            </td>
           </tr>
         </tfoot>
       </table>

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html
 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html
index 8074fae..790d73d 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html
@@ -15,13 +15,13 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 -->
-<ol class="breadcrumb">
-  <li class="active">Cluster Permissions</li>
-</ol>
+    
 <div class="cluster-manage-access-pane">
   <div class="clearfix">
-    <h3 class="pull-left">{{clusterName}} Permissions</h3>
-    <div class="pull-right top-buffer">
+    <ol class="breadcrumb pull-left">
+      <li class="active">{{clusterName}} Permissions</li>
+    </ol>
+    <div class="pull-right top-margin-4">
       <a href class="btn btn-primary"  ng-click="toggleEditMode()"><span 
class="glyphicon glyphicon-pencil"></span> Edit</a>
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html
index 5bcc2fc..070fd95 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html
@@ -17,9 +17,8 @@
 -->
 <ol class="breadcrumb">
   <li><a href="#/groups">Groups</a></li>
-  <li class="active">Create group</li>
+  <li class="active">Create local group</li>
 </ol>
-<h2>Create local group</h2>
 <hr>
 <form class="form-horizontal" role="form" novalidate name="form">
   <div class="form-group" ng-class="{'has-error' : 
form.user_name.$error.required && form.submitted}">

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
index 8e8476b..1df0739 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
@@ -15,13 +15,13 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 -->
-<ol class="breadcrumb">
-  <li><a href="#/groups">Groups</a></li>
-  <li class="active">Edit {{group.group_name}}</li>
-</ol>
+  
 <div class="clearfix">
-  <h3 class="pull-left">Edit {{group.group_name}}</h3>
-  <div class="pull-right top-buffer">
+  <ol class="breadcrumb pull-left">
+    <li><a href="#/groups">Groups</a></li>
+    <li class="active">{{group.group_name}}</li>
+  </ol>
+  <div class="pull-right top-margin-4">
     <button class="btn btn-danger" ng-click="deleteGroup(group)">Delete 
Group</button>
   </div>
 </div>
@@ -34,7 +34,13 @@
     </div>
   </div>
   <div class="form-group">
-    <label for="" class="col-sm-2 control-label">Users</label>
+    <label for="" class="col-sm-2 control-label">Type</label>
+    <div class="col-sm-10">
+      <label for="" class="control-label">{{group.ldap_group ? 'LDAP' : 
'Local'}}</label>
+    </div>
+  </div>
+  <div class="form-group">
+    <label for="" class="col-sm-2 control-label">{{group.ldap_group ? 'LDAP 
Members' : 'Local Members'}}</label>
     <div class="col-sm-10">
       <div ng-switch="editMode">
         <div class="well users" ng-switch-when="false">
@@ -42,7 +48,7 @@
             <link-to route='users.show' id="{{member}}">
               {{member}}
             </link-to>
-            <button type="button" class="close" 
ng-click="removeMember(member)"><span aria-hidden="true">&times;</span><span 
class="sr-only">Close</span></button>
+            <button ng-show="!group.ldap_group" type="button" class="close" 
ng-click="removeMember(member)"><span aria-hidden="true">&times;</span><span 
class="sr-only">Close</span></button>
             {{$last ? '' : ', '}}
           </span>
         </div>
@@ -53,7 +59,7 @@
       </div>
         
 
-      <button class="btn btn-primary pull-right" 
ng-click="toggleEditMode()"><span class="glyphicon {{editMode ? 
'glyphicon-save' : 'glyphicon-pencil'}}"></span> {{editMode ? 'Save': 
'Edit'}}</button>
+      <button ng-show="!group.ldap_group" class="btn btn-primary pull-right" 
ng-click="toggleEditMode()"><span class="glyphicon {{editMode ? 
'glyphicon-save' : 'glyphicon-pencil'}}"></span> {{editMode ? 'Save': 
'Edit'}}</button>
     </div>
   </div>
 </form>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html
index 12f990a..43493dd 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html
@@ -15,13 +15,12 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 -->
-<ol class="breadcrumb">
-  <li class="active">Groups</li>
-</ol>
 <div class="groups-pane">
   <div class="clearfix">
-    <h3 class="pull-left">Groups management</h3>
-    <div class="pull-right top-buffer">
+    <ol class="breadcrumb pull-left">
+      <li class="active">Groups</li>
+    </ol>
+    <div class="pull-right top-margin-4">
       <link-to route="groups.create" class="btn btn-primary"><span 
class="glyphicon glyphicon-plus"></span> Create Local Group</link-to>
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html
index 7b33c76..b37e54b 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html
@@ -17,9 +17,8 @@
 -->
 <ol class="breadcrumb">
   <li><a href="#/users">Users</a></li>
-  <li class="active">Create user</li>
+  <li class="active">Create local user</li>
 </ol>
-<h2>Create local user</h2>
 <hr>
 <form class="form-horizontal" role="form" novalidate name="form">
   <div class="form-group" ng-class="{'has-error' : 
form.user_name.$error.required && form.submitted}">

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html
index 45c3a4f..1ee21d4 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html
@@ -15,13 +15,13 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 -->
-<ol class="breadcrumb">
-  <li class="active">Users</li>
-</ol>
+    
 <div class="users-pane">
   <div class="clearfix">
-    <h3 class="pull-left">Users management</h3>
-    <div class="pull-right top-buffer">
+    <ol class="breadcrumb pull-left">
+      <li class="active">Users</li>
+    </ol>
+    <div class="pull-right top-margin-4">
       <link-to route="users.create" class="btn btn-primary"><span 
class="glyphicon glyphicon-plus"></span> Create Local User</link-to>
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html
----------------------------------------------------------------------
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html 
b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html
index e171d0c..e577b97 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html
@@ -15,14 +15,14 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 -->
-<ol class="breadcrumb">
-  <li><a href="#/users">Users</a></li>
-  <li class="active">Edit {{user.user_name}}</li>
-</ol>
-<div ng-show="user.user_name">
+    
+<div ng-show="user.user_name" class="user-edit-panel">
   <div class="clearfix">
-    <h3 class="pull-left">{{user.user_name}}</h3>
-    <div class="pull-right top-buffer">
+    <ol class="breadcrumb pull-left">
+      <li><a href="#/users">Users</a></li>
+      <li class="active">{{user.user_name}}</li>
+    </ol>
+    <div class="pull-right top-margin-4">
       <button class="btn btn-danger" ng-click="deleteUser()">Delete 
User</button>
     </div>
   </div>
@@ -31,17 +31,13 @@
     <div class="form-group">
       <label for="" class="col-sm-2 control-label">Type</label>
       <div class="col-sm-10">
-        <label for="" class="control-label">Local</label>
+        <label for="" class="control-label">{{user.ldap_user ? 'LDAP' : 
'Local'}}</label>
       </div>
     </div>
     <div class="form-group">
       <label for="" class="col-sm-2 control-label">Status</label>
       <div class="col-sm-10">
-        <div class="btn" ng-class="user.active ? 'btn-success' : 'btn-danger'">
-          <span ng-show="user.active">Active</span>
-          <span ng-show="!user.active">Inactive</span>
-        </div>
-        <a href ng-click="toggleUserActive()">Make User {{user.active ? 
'Inactive' : 'Active'}}</a>
+        <toggle-switch on-change="toggleUserActive()" model="user.active" 
on-label="Active" off-label="Inactive" class="switch-primary" 
data-off-color="danger"></toggle-switch>
       </div>
     </div>
     <div class="form-group">
@@ -51,7 +47,7 @@
       </div>
     </div>
     <div class="form-group">
-      <label for="groups" class="col-sm-2 control-label">Groups</label>
+      <label for="groups" class="col-sm-2 control-label">{{user.ldap_user ? 
'LDAP Group Membership' : 'Local Group Membership'}}</label>
       <div class="col-sm-10">
         <div class="row" ng-hide="isGroupEditing">
           <div class="col-sm-10">
@@ -60,7 +56,7 @@
             </div>
           </div>
           <div class="col-sm-2">
-            <a href ng-click="enableGroupEditing()"><span class="glyphicon 
glyphicon-cog"></span> Edit</a>
+            <a href ng-click="enableGroupEditing()" 
ng-hide="user.ldap_user"><span class="glyphicon glyphicon-cog"></span> Edit</a>
           </div>
         </div>
         <div class="row" ng-show="isGroupEditing">
@@ -74,34 +70,19 @@
         
     </div>
     <div class="form-group">
-      <label for="" class="col-sm-2 control-label">Clusters</label>
+      <label for="" class="col-sm-2 control-label">Privileges</label>
       <div class="col-sm-10">
-        <div class="control-label text-left">
-          <a href="#">My Cluster</a> OPERATOR
-        </div>
+        <table class="table">
+          <thead>
+            <tr>
+              <th>Resource</th>
+              <th>Permissions</th>
+            </tr>
+          </thead>
+          <tbody></tbody>
+        </table>
       </div>
     </div>
-    <div class="form-group">
-      <label for="" class="col-sm-2 control-label">Views</label>
-      <div class="col-sm-10 padding-top-7">
-        <div ng-repeat="view in user.views" class="row">
-          <div class="col-sm-4">
-            <a href="#">Some limk to some view</a>
-          </div>
-          <div class="col-sm-5">
-            USE, EDIT_SCRIPT
-          </div>
-        </div>
-        <div class="row">
-          <div class="col-sm-4">
-            <a href="#">Some limk to some view</a>
-          </div>
-          <div class="col-sm-5">
-            USE, EDIT_SCRIPT
-          </div>
-        </div>
-      </div>
-    </div>    
   </form>
 </div>
   
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/bower.json
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/bower.json 
b/ambari-admin/src/main/resources/ui/admin-web/bower.json
index 1030988..0c30117 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/bower.json
+++ b/ambari-admin/src/main/resources/ui/admin-web/bower.json
@@ -6,7 +6,8 @@
     "angular": "~1.2.18",
     "angular-route": "~1.2.18",
     "angular-bootstrap": "~0.11.0",
-    "restangular": "~1.4.0"
+    "restangular": "~1.4.0",
+    "angular-bootstrap-toggle-switch": "~0.5.1"
   },
   "devDependencies": {}
 }

Reply via email to