You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by me...@apache.org on 2018/09/04 12:58:25 UTC
[15/28] ranger git commit: RANGER-2177: Handle validations for
duplicate configuration item during service create/edit
RANGER-2177: Handle validations for duplicate configuration item during service create/edit
Signed-off-by: zhangqiang2 <zh...@zte.com.cn>
Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/a2de0ebf
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/a2de0ebf
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/a2de0ebf
Branch: refs/heads/ranger-1.1
Commit: a2de0ebff8dfb7d36f9e50ef027b404100be1f67
Parents: 27f56df
Author: xingpeng1 <xi...@zte.com.cn>
Authored: Fri Aug 3 15:58:24 2018 +0800
Committer: Mehul Parikh <me...@apache.org>
Committed: Tue Sep 4 11:38:54 2018 +0530
----------------------------------------------------------------------
.../scripts/modules/globalize/message/en.js | 3 +-
.../scripts/views/service/ServiceCreate.js | 22 ++++++------
.../webapp/scripts/views/service/ServiceForm.js | 36 ++++++++++++++------
3 files changed, 39 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ranger/blob/a2de0ebf/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
index f4c3c27..99cbf55 100644
--- a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
+++ b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
@@ -437,7 +437,8 @@ define(function(require) {
noUserFoundText : 'No user associate with this group.',
showInitialHundredUser : 'Initially search filter is applied for first hundred users. To get more users click on ',
searchForUserSync :"Search for your user sync audits...",
- policyExpired :'Policy Expired'
+ policyExpired :'Policy Expired',
+ duplicateNewConfigValidationMsg :'Please make sure the new configuration has no duplicate names'
},
plcHldr : {
http://git-wip-us.apache.org/repos/asf/ranger/blob/a2de0ebf/security-admin/src/main/webapp/scripts/views/service/ServiceCreate.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/views/service/ServiceCreate.js b/security-admin/src/main/webapp/scripts/views/service/ServiceCreate.js
index c8ecdc3..7c2c778 100644
--- a/security-admin/src/main/webapp/scripts/views/service/ServiceCreate.js
+++ b/security-admin/src/main/webapp/scripts/views/service/ServiceCreate.js
@@ -17,7 +17,7 @@
* under the License.
*/
-
+
/*
* Repository/Service create view
*/
@@ -31,7 +31,7 @@ define(function(require){
var XAEnums = require('utils/XAEnums');
var XALinks = require('modules/XALinks');
var localization = require('utils/XALangSupport');
-
+
var ServiceForm = require('views/service/ServiceForm');
var RangerServiceDef = require('models/RangerServiceDef');
var ServiceCreateTmpl = require('hbs!tmpl/service/ServiceCreate_tmpl');
@@ -42,19 +42,19 @@ define(function(require){
_viewName : 'ServiceCreate',
template: ServiceCreateTmpl,
-
+
templateHelpers : function(){
return { editService : this.editService};
},
-
+
breadCrumbs :function(){
- var name = this.rangerServiceDefModel.get('name') != XAEnums.ServiceType.SERVICE_TAG.label ? 'ServiceManager' : 'TagBasedServiceManager';
+ var name = this.rangerServiceDefModel.get('name') != XAEnums.ServiceType.SERVICE_TAG.label ? 'ServiceManager' : 'TagBasedServiceManager';
if(this.model.isNew()){
return [XALinks.get(name), XALinks.get('ServiceCreate')];
} else {
return [XALinks.get(name), XALinks.get('ServiceEdit')];
}
- },
+ },
/** Layout sub regions */
regions: {
@@ -132,7 +132,9 @@ define(function(require){
if(! _.isEmpty(errors)){
return;
}
- this.form.formValidation();
+ if (!this.form.formValidation()) {
+ return;
+ }
this.saveService();
},
saveService : function(){
@@ -165,7 +167,7 @@ define(function(require){
msg :'Are you sure want to delete ?',
callback : function(){
XAUtil.blockUI();
-
+
that.model.destroy({
success: function(model, response) {
XAUtil.blockUI('unblock');
@@ -182,7 +184,7 @@ define(function(require){
}
}
});
-
+
}
});
},
@@ -242,7 +244,7 @@ define(function(require){
XAUtil.defaultErrorHandler(options , msResponse);
}
bootbox.alert("Connection Failed.");
- }
+ }
});
},
gotoResourceOrTagTab : function(){
http://git-wip-us.apache.org/repos/asf/ranger/blob/a2de0ebf/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js b/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js
index 079ce00..726fb5f 100644
--- a/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js
+++ b/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js
@@ -1,4 +1,4 @@
- /*
+/*
* 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
@@ -17,14 +17,14 @@
* under the License.
*/
-
+
define(function(require){
'use strict';
var Backbone = require('backbone');
var XAEnums = require('utils/XAEnums');
var XAUtil = require('utils/XAUtils');
-
+
var localization = require('utils/XALangSupport');
var BackboneFormDataType = require('models/BackboneFormDataType');
var ConfigurationList = require('views/service/ConfigurationList')
@@ -52,7 +52,7 @@ define(function(require){
serviceDetail += name+",";
}
});
-
+
return {
serviceDetail : serviceDetail.slice(0,-1),
serviceConfig : serviceConfig.slice(0,-1)
@@ -124,7 +124,7 @@ define(function(require){
} else {
this.fields.isEnabled.editor.setValue(XAEnums.ActiveStatus.STATUS_DISABLED.value);
}
- }
+ }
},
evIsEnabledChange : function(form, fieldEditor){
XAUtil.checkDirtyFieldForToggle(fieldEditor.$el);
@@ -143,8 +143,22 @@ define(function(require){
},
formValidation : function(){
- //return false;
- return true;
+ var valid = true;
+ var config = {};
+ this.extraConfigColl.each(function(obj){
+ if(!_.isEmpty(obj.attributes)) {
+ if (!_.isUndefined(config[obj.get('name')])) {
+ XAUtil.alertPopup({
+ msg : localization.tt('msg.duplicateNewConfigValidationMsg')
+ });
+ valid = false;
+ return;
+ } else {
+ config[obj.get('name')] = obj.get('value');
+ }
+ }
+ });
+ return valid;
},
beforeSave : function(){
@@ -165,11 +179,11 @@ define(function(require){
}
});
}
- this.extraConfigColl.each(function(obj){
+ this.extraConfigColl.each(function(obj){
if(!_.isEmpty(obj.attributes)) config[obj.get('name')] = obj.get('value');
});
- this.model.set('configs',config);
-
+ this.model.set('configs',config);
+
//Set service type
this.model.set('type',this.rangerServiceDefModel.get('name'))
//Set isEnabled
@@ -178,7 +192,7 @@ define(function(require){
} else {
this.model.set('isEnabled',false);
}
-
+
//Remove unwanted attributes from model
if(!this.model.isNew()){
_.each(this.model.attributes.configs, function(value, name){