You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by pr...@apache.org on 2018/03/07 05:44:23 UTC
[3/3] ranger git commit: RANGER-2011:Level 20 resource value is not
set on UI in Ranger Edit Policy.
RANGER-2011:Level 20 resource value is not set on UI in Ranger Edit Policy.
Signed-off-by: pradeep <pr...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/8f1625c2
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/8f1625c2
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/8f1625c2
Branch: refs/heads/master
Commit: 8f1625c26bc0dcd8970867c25b6be0b5afbbcb0f
Parents: 06bf917
Author: ni3galave <ni...@gmail.com>
Authored: Wed Feb 28 19:30:10 2018 +0530
Committer: pradeep <pr...@apache.org>
Committed: Wed Mar 7 09:21:11 2018 +0530
----------------------------------------------------------------------
.../scripts/models/BackboneFormDataType.js | 44 ++++++++++++++++++--
.../scripts/views/policies/RangerPolicyForm.js | 21 +++++++---
.../common/ServiceManagerLayout_tmpl.html | 9 ++--
3 files changed, 63 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ranger/blob/8f1625c2/security-admin/src/main/webapp/scripts/models/BackboneFormDataType.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/models/BackboneFormDataType.js b/security-admin/src/main/webapp/scripts/models/BackboneFormDataType.js
index 5c06ad9..a928470 100644
--- a/security-admin/src/main/webapp/scripts/models/BackboneFormDataType.js
+++ b/security-admin/src/main/webapp/scripts/models/BackboneFormDataType.js
@@ -89,7 +89,7 @@ define(function(require) {
}
break;
}
- if($.inArray(v.level, samelevelFieldCreated) >= 0){
+ if($.inArray(v.parent, samelevelFieldCreated) >= 0){
return;
}
@@ -141,8 +141,12 @@ define(function(require) {
if(optionsAttrs.length > 1){
var optionsTitle = _.map(optionsAttrs,function(field){ return field.name;});
formObj['sameLevelOpts'] = optionsTitle;
- samelevelFieldCreated.push(v.level);
- fieldName = 'sameLevel'+v.level;
+ samelevelFieldCreated.push(v.parent);
+ if(!_.isUndefined(v.parent)){
+ fieldName = 'sameLevel'+v.level+''+v.parent;
+ }else{
+ fieldName = 'sameLevel'+v.level;
+ }
formObj['title'] = '';
formObj['resourcesAtSameLevel'] = true;
@@ -182,6 +186,7 @@ define(function(require) {
formObj['recursiveSupport'] = v.recursiveSupported;
formObj['name'] = v.name;
formObj['editorAttrs'] = {'data-placeholder': v.label };
+ formObj.fieldAttrs = { 'data-name' : 'field-'+v.name, 'parent' : v.parent };
if(!_.isUndefined(v.lookupSupported) && v.lookupSupported ){
var options = {
'containerCssClass' : v.name,
@@ -196,6 +201,39 @@ define(function(require) {
form.initilializePathPlugin = true;
}
formObj['initilializePathPlugin'] = true;
+ var optionsAttrs = [] ,parentResource;
+ if(!_.isUndefined(v.level)){
+ optionsAttrs = _.filter(config,function(field){
+ if(field.level == v.level && field.parent == v.parent){
+ return field;
+ }
+ });
+ }
+ var resourceDef = _.findWhere(optionsAttrs,{'name':v.name});
+ //for parent leftnode status
+ if(v.parent){
+ parentResource = _.findWhere(config ,{'name':v.parent});
+ }
+ //show only required resources in acccess policy in order to show their access types
+ if(!_.isUndefined(v.parent) && !_.isEmpty(v.parent)
+ && parentResource.isValidLeaf){
+ optionsAttrs.unshift({'level':v.level, name:'none',label:'none'});
+ }
+ if(optionsAttrs.length > 1){
+ var optionsTitle = _.map(optionsAttrs,function(field){ return field.name;});
+ formObj['sameLevelOpts'] = optionsTitle;
+ samelevelFieldCreated.push(v.parent);
+ if(!_.isUndefined(v.parent)){
+ fieldName = 'sameLevel'+v.level+''+v.parent;
+ }else{
+ fieldName = 'sameLevel'+v.level;
+ }
+ formObj['title'] = '';
+ formObj['resourcesAtSameLevel'] = true;
+
+ // formView is used to listen form events
+ formObj['formView'] = form;
+ }
break;
case 'password':formObj.type = 'Password';break;
default:formObj.type = 'Text';
http://git-wip-us.apache.org/repos/asf/ranger/blob/8f1625c2/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js
index c4eef7a..04dad2e 100644
--- a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js
+++ b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js
@@ -214,7 +214,7 @@ define(function(require){
_.each(this.model.get('resources'),function(obj,key){
var resourceDef = _.findWhere(resourceDefList,{'name':key}),
sameLevelResourceDef = [], parentResource ;
- sameLevelResourceDef = _.where(resourceDefList, {'level': resourceDef.level});
+ sameLevelResourceDef = _.where(resourceDefList, {'level': resourceDef.level, 'parent' : resourceDef.parent});
//for parent leftnode status
if(resourceDef.parent){
parentResource = _.findWhere(resourceDefList ,{'name':resourceDef.parent});
@@ -227,9 +227,15 @@ define(function(require){
}
if(sameLevelResourceDef.length > 1){
obj['resourceType'] = key;
- this.model.set('sameLevel'+resourceDef.level, obj)
- //parentShowHide
- this.selectedResourceTypes['sameLevel'+resourceDef.level]=key;
+ if(_.isUndefined(resourceDef.parent)){
+ this.model.set('sameLevel'+resourceDef.level, obj);
+ //parentShowHide
+ this.selectedResourceTypes['sameLevel'+resourceDef.level] = key;
+ }else{
+ this.model.set('sameLevel'+resourceDef.level+resourceDef.parent, obj);
+ this.selectedResourceTypes['sameLevel'+resourceDef.level+resourceDef.parent] = key;
+ }
+
}else{
//single value support
/*if(! XAUtil.isSinglevValueInput(resourceDef) ){
@@ -677,7 +683,12 @@ define(function(require){
var currentResource = _.findWhere(this.getResources(), {'name': name });
//same level type
if(_.isUndefined(this.fields[currentResource.name])){
- var sameLevelName = 'sameLevel'+currentResource.level;
+ if(!_.isUndefined(currentResource.parent)){
+ var sameLevelName = 'sameLevel'+currentResource.level + currentResource.parent;
+ }else{
+ var sameLevelName = 'sameLevel'+currentResource.level;
+ }
+
name = this.fields[sameLevelName].editor.$resourceType.val()
val = this.fields[sameLevelName].getValue();
if(isCurrentSameLevelField){
http://git-wip-us.apache.org/repos/asf/ranger/blob/8f1625c2/security-admin/src/main/webapp/templates/common/ServiceManagerLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/common/ServiceManagerLayout_tmpl.html b/security-admin/src/main/webapp/templates/common/ServiceManagerLayout_tmpl.html
index fec2535..d4d19a6 100644
--- a/security-admin/src/main/webapp/templates/common/ServiceManagerLayout_tmpl.html
+++ b/security-admin/src/main/webapp/templates/common/ServiceManagerLayout_tmpl.html
@@ -36,10 +36,12 @@
<th>
<span class="policy-title">
<!-- Remove alt attribut from img tag -->
- <img src="images/folder-grey.png">
- {{./this.attributes.name}}
+ <span>
+ <img src="images/folder-grey.png">
+ {{./this.attributes.name}}
+ </span>
{{#if ../operation}}
-
+ <span>
<a href="javascript:void(0)" title="Export" type="button" class="download pull-right text-decoration" data-id="downloadBtnOnService" data-servicetype="{{./this.attributes.name}}" style="margin-right: 5px;" >
<i class="icon-external-link-sign"> </i>
</a>
@@ -49,6 +51,7 @@
</a>
<a href="#!/service/{{./this.id}}/create"class="pull-right text-decoration" title="Add New Service" style="margin-right: 2px;"> <i class="icon-plus"></i></a>
+ </span>
{{/if}}
</span>