Skip to content

Commit 2b4635d

Browse files
ni3galavemneethiraj
authored andcommitted
RANGER-3804: Update policy UI to support multiple resource-sets: fix build issue - #2
Signed-off-by: Madhan Neethiraj <[email protected]>
1 parent 495d720 commit 2b4635d

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

security-admin/src/main/webapp/scripts/views/policies/PermissionList.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -278,20 +278,26 @@ define(function(require) {
278278
}
279279
}).on('select2-focus', XAUtil.select2Focus);
280280
},
281-
renderPerms :function({changeType, value, resourceName, event, resourceItemIndex, action}){
281+
renderPerms :function(options){
282+
var changeType = options.changeType, value = options.value, resourceName = options.resourceName, event = options.event,
283+
resourceItemIndex = options.resourceItemIndex, action = options.action;
282284
var that = this , accessTypeByResource = this.accessTypes;
283285
if(action === 'removed'){
284286
var removedItemIndex = _.findIndex(this.storeResourceRef, function(a){ return a.resourceItemIndex == resourceItemIndex;});
285287
if(removedItemIndex >= 0){
286-
this.storeResourceRef.splice(this.storeResourceRef.findIndex(item => item.resourceItemIndex === resourceItemIndex), 1);
287-
_.each(this.storeResourceRef, (obj, index) => {
288+
this.storeResourceRef.splice(this.storeResourceRef.findIndex(function (item) {
289+
return item.resourceItemIndex === resourceItemIndex;
290+
}) , 1);
291+
_.each(this.storeResourceRef, function (obj, index) {
288292
if(index >= removedItemIndex){
289293
obj.resourceItemIndex = obj.resourceItemIndex - 1;
290294
}
291295
});
292296
}
293297
} else if (changeType || action== 'added') {
294-
var resourceChangeObj = { resourceItemIndex, changeType, value, resourceName, event };
298+
var resourceChangeObj = {
299+
resourceItemIndex : resourceItemIndex, changeType : changeType, value : value, resourceName : resourceName, event :event
300+
};
295301
var found = _.findWhere(this.storeResourceRef, { resourceItemIndex: resourceItemIndex });
296302
if(found && changeType){
297303
_.extend(_.findWhere(this.storeResourceRef, { resourceItemIndex: resourceItemIndex }), resourceChangeObj );
@@ -302,9 +308,9 @@ define(function(require) {
302308
//get permissions by resource only for access policy
303309
accessTypeByResource = (this.storeResourceRef.length && (changeType || action === 'removed' || action === 'permissionItemAdd'))
304310
? [] : accessTypeByResource;
305-
_.each(this.storeResourceRef, (obj) => {
311+
_.each(this.storeResourceRef, function (obj) {
306312
accessTypeByResource = _.union(accessTypeByResource, this.getAccessPermissionForSelectedResource(obj.changeType, obj.value, obj.resourceName, obj.event));
307-
});
313+
}, this);
308314
//reset permissions on resource change
309315
this.permsIds = _.pluck(this.model.get('accesses'), 'type');
310316
if(this.permsIds.length > 0 && ( !_.isUndefined(changeType) && !_.isUndefined(resourceName) || action === 'removed') ){
@@ -1035,15 +1041,15 @@ define(function(require) {
10351041
var resourceNames = Object.keys(obj);
10361042
var resourceName = resourceNames[0];
10371043
if(resourceName.length > 1){
1038-
var resourceByDef = resourceDefByPolicyType.filter((resource) => resourceNames.includes(resource.name) );
1044+
var resourceByDef = resourceDefByPolicyType.filter(function (resource) { return resourceNames.includes(resource.name) });
10391045
var maxLevel = Math.max.apply(null, resourceByDef.map(function(o) { return o.level; }));
10401046
var resource = resourceByDef.find(function(o) { return o.level == maxLevel; });
10411047
resourceName = resource.name;
10421048
}
10431049
this.storeResourceRef.push({'changeType': 'resourceType','resourceName': resourceName, value: resourceName, resourceItemIndex: index });
10441050
}, this);
10451051
} else {
1046-
let getChildResource = (resource) => {
1052+
var getChildResource = function (resource) {
10471053
var childResource = _.findWhere(resourceDefByPolicyType, {parent : resource.name });
10481054
if(childResource){
10491055
return getChildResource(childResource);

security-admin/src/main/webapp/scripts/views/policies/RangerPolicyForm.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -406,15 +406,15 @@ define(function(require){
406406
var additionResources = [];
407407
//set sameLevel fieldAttr value with resource name
408408
this.formInputResourceList.each(function(model) {
409-
let resource = {}
409+
var resource = {}
410410
_.each(model.attributes, function(val, key) {
411411
var isSameLevelResource = key.indexOf("sameLevel") >= 0, isResource = !['policyType', 'resourceForm', 'none', 'resources','id'].includes(key);
412412
if ((isSameLevelResource || isResource) && !_.isNull(val)) {
413413
var resourceName = isSameLevelResource ? val.resourceType : key;
414414
if(resourceName && resourceName != 'none'){
415415
model.set(resourceName, val);
416416
resource[resourceName] = {
417-
values: _.isObject(val.resource[0]) ? _.pluck(val.resource, 'text') : val.resource
417+
values: val.resource && val.resource.length && _.isObject(val.resource[0]) ? _.pluck(val.resource, 'text') : val.resource
418418
};
419419
if(!_.isUndefined(val.isRecursive)){
420420
resource[resourceName]['isRecursive'] = val.isRecursive;
@@ -629,6 +629,7 @@ define(function(require){
629629
validatePolicyResource : function (){
630630
var errors = null;
631631
_.some(this.formInputResourceList.models, function(model) {
632+
model.attributes = Object.assign({}, _.pick(model.attributes, 'id','resourceForm', 'policyType'));
632633
errors = model.get('resourceForm').commit({validate : false});
633634
return ! _.isEmpty(errors);
634635
});

0 commit comments

Comments
 (0)