Explorar el Código

[security] Update HDFS path when picking another user

Romain Rigaux hace 11 años
padre
commit
72dbaa3

+ 7 - 7
apps/security/src/security/templates/hdfs.mako

@@ -81,17 +81,17 @@ ${ layout.menubar(section='hdfs') }
           <li class="nav-header">${ _('ACLs') }</li>
           <li class="active"><a href="#edits"><i class="fa fa-pencil"></i> ${ _('Edit') }</a></li>
           <li><a href="#view"><i class="fa fa-eye"></i> ${ _('View') }</a></li>
-          <li class="nav-header"><i class="fa fa-group"></i> ${ _('Groups') }
-            </br>
-            <input type="checkbox" checked="checked"> ${_('Me')}
-            </br>
-            <select data-bind="options: availableHadoopGroups" size="10" multiple="true"></select>
-          </li>
           <li class="nav-header"><i class="fa fa-group"></i> ${ _('Users') }
             </br>
             <input type="checkbox" checked="checked"> ${_('Me')}
             </br>          
             <select data-bind="options: availableHadoopUsers, value: doAs" size="10"></select>
+          </li>          
+          <li class="nav-header"><i class="fa fa-group"></i> ${ _('Groups') }
+            </br>
+            <input type="checkbox" checked="checked"> ${_('Me')}
+            </br>
+            <select data-bind="options: availableHadoopGroups" size="10" multiple="true"></select>
           </li>    
         </ul>
       </div>
@@ -175,7 +175,7 @@ ${ layout.menubar(section='hdfs') }
     <!-- ko if: $index() == 14 -->
       <li>
         <a href="javascript: void(0)">         
-          <i class="fa fa-plus"> Next</i> 
+          <i class="fa fa-plus"></i> 
         </a>
       </li>
     <!-- /ko -->        

+ 0 - 6
apps/security/src/security/templates/hive.mako

@@ -116,9 +116,6 @@ ${ layout.menubar(section='hive') }
               Groups
               <select data-bind="options: $root.availableHadoopGroups, selectedOptions: groups" size="5" multiple="true"></select>
             </div>
-            <button type="button" rel="tooltip" data-placement="bottom" data-original-title="${ _('Cancel') }" class="btn">
-              <i class="fa fa-times"></i>
-            </button>
             <button type="button" rel="tooltip" data-placement="bottom" data-loading-text="${ _('Saving...') }" data-original-title="${ _('Save') }" class="btn"
                 data-bind="click: $root.role.create">
               <i class="fa fa-save"></i>
@@ -178,9 +175,6 @@ ${ layout.menubar(section='hive') }
                 <div data-bind="template: { name: 'privilege-template', foreach: newPrivileges }">
                 </div>
                 <div data-bind="visible: newPrivileges().length > 0">
-		          <button type="button" rel="tooltip" data-placement="bottom" data-original-title="${ _('Cancel') }" class="btn">
-		            <i class="fa fa-times"></i>
-		          </button>
 		          <button type="button" rel="tooltip" data-placement="bottom" data-loading-text="${ _('Saving...') }" data-original-title="${ _('Save') }" class="btn"
 		              data-bind="click: $root.role.saveNewPrivileges">
 		            <i class="fa fa-save"></i>

+ 25 - 27
apps/security/static/js/hdfs.ko.js

@@ -150,9 +150,9 @@ var Assist = function (vm, assist) {
     self.path(obj.path());
   }
 
-  self.loadParents = function(breadcrumbs){
+  self.loadParents = function(breadcrumbs) {
     breadcrumbs.forEach(function(crumb, idx){
-      if (idx < breadcrumbs.length - 1 && crumb.url != ""){
+      if (idx < breadcrumbs.length - 1 && crumb.url != "") {
         var _item = {
           path: crumb.url,
           name: crumb.label,
@@ -165,9 +165,9 @@ var Assist = function (vm, assist) {
 
   self.fetchPath = function () {
     $.getJSON('/filebrowser/view' + self.path(), {
-    	'pagesize': 15,
-    	'format': 'json',
-    	'doas': vm.doAs(),
+      'pagesize': 15,
+      'format': 'json',
+      'doas': vm.doAs(),
     }, function (data) {
       self.loadParents(data.breadcrumbs);
       if (data['files'] && data['files'][0]['type'] == 'dir') { // Hack for now
@@ -240,28 +240,26 @@ var Assist = function (vm, assist) {
 
 
 var NodeModel = function(data) {
+  var self = this;
 
-	var self = this;
-
-	self.isExpanded = ko.observable(true);
-	self.description = ko.observable();
-	self.name = ko.observable();
-	self.nodes = ko.observableArray([]);
-
-	self.toggleVisibility = function() {
-		self.isExpanded(!self.isExpanded());
-	};
+  self.isExpanded = ko.observable(true);
+  self.description = ko.observable();
+  self.name = ko.observable();
+  self.nodes = ko.observableArray([]);
 
-	ko.mapping.fromJS(data, self.mapOptions, self);
+  self.toggleVisibility = function() {
+    self.isExpanded(!self.isExpanded());
+  };
 
+  ko.mapping.fromJS(data, self.mapOptions, self);
 };
 
 NodeModel.prototype.mapOptions = {
-	nodes: {
-		create: function(args) {
-			return new NodeModel(args.data);
-		}
-	}
+  nodes: {
+    create: function(args) {
+      return new NodeModel(args.data);
+    }
+  }
 };
 
 
@@ -269,14 +267,17 @@ var HdfsViewModel = function (initial) {
   var self = this;
 
   self.assist = new Assist(self, initial);
-  
 
   self.doAs = ko.observable('');
+  self.doAs.subscribe(function() {
+    self.assist.fetchPath();
+  });
   self.availableHadoopUsers = ko.observableArray();
   self.availableHadoopGroups = ko.observableArray();
 
-  self.init = function () {	
+  self.init = function () {  
     self.fetchUsers();
+    self.assist.path('/');
   }
 
 
@@ -288,10 +289,7 @@ var HdfsViewModel = function (initial) {
 
       $.each(data.groups, function (i, group) {
         self.availableHadoopGroups.push(group.name);
-      });
-      
-      self.assist.path('/');
-      self.doAs('admin');      
+      });      
     });
   }
 };