do not ask ldap informations if ldap is not activated

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1447203 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2013-02-18 11:21:58 +00:00
parent f127c7f705
commit fc19422920
1 changed files with 60 additions and 55 deletions

View File

@ -1714,69 +1714,42 @@ define("archiva.general-admin",["jquery","i18n","utils","jquery.tmpl","knockout"
var useLdap = $.inArray("ldap",redbackRuntimeConfiguration.usedUserManagerImpls)>0 var useLdap = $.inArray("ldap",redbackRuntimeConfiguration.usedUserManagerImpls)>0
||$.inArray("ldap",redbackRuntimeConfiguration.rbacManagerImpls)>0; ||$.inArray("ldap",redbackRuntimeConfiguration.rbacManagerImpls)>0;
$.log("useLdap:"+useLdap); $.log("useLdap:"+useLdap);
// load ldap roles if(useLdap){
$.ajax("restServices/redbackServices/ldapGroupMappingService/ldapGroups", { // load ldap roles
type: "GET", $.ajax("restServices/redbackServices/ldapGroupMappingService/ldapGroups", {
dataType: 'json', type: "GET",
success: function(data){ dataType: 'json',
groups = mapStringList(data); success: function(data){
$.log("groups number:"+groups.length); groups = mapStringList(data);
redbackRuntimeConfiguration.ldapGroups=ko.observableArray(groups); $.log("groups number:"+groups.length);
} redbackRuntimeConfiguration.ldapGroups=ko.observableArray(groups);
} ) }
} )
.always( .always(
function() { function() {
$.log("complete"); $.log("complete");
// load ldap group mappings if any // load ldap group mappings if any
$.ajax("restServices/redbackServices/ldapGroupMappingService", { $.ajax("restServices/redbackServices/ldapGroupMappingService", {
type: "GET",
dataType: 'json',
success: function(data) {
var groupMappings=mapLdapGroupMappings(data,redbackRuntimeConfigurationViewModel.modifyLdapGroupMapping);
$.ajax("restServices/redbackServices/roleManagementService/allRoles", {
type: "GET", type: "GET",
dataType: 'json', dataType: 'json',
success: function(data) { success: function(data) {
var groupMappings=mapLdapGroupMappings(data,redbackRuntimeConfigurationViewModel.modifyLdapGroupMapping); displayRuntimeConfigurationScreen(redbackRuntimeConfigurationViewModel,data,groupMappings,groups);
$.ajax("restServices/redbackServices/roleManagementService/allRoles", {
type: "GET",
dataType: 'json',
success: function(data) {
var allRoleNames = $.map(data, function(item) {
return item.name;
});
redbackRuntimeConfigurationViewModel.allRoleNames=allRoleNames;
if (redbackRuntimeConfiguration.ldapConfiguration().useRoleNameAsGroup()) {
// if using groups == roles add all as mapping except already mapped
$.each(groups,function(idx,item){
var exists=false;
// avoid duplicate if mapping really exists !
$.each(groupMappings,function(idx2,groupMapping){
if(groupMapping.group()==item){
exists=true;
}
});
if(!exists){
groupMappings.push(new LdapGroupMapping(item,[item],true,redbackRuntimeConfigurationViewModel.modifyLdapGroupMapping));
}
});
}
redbackRuntimeConfiguration.ldapGroupMappings=ko.observableArray(groupMappings);
redbackRuntimeConfiguration.modified(false);
mainContent.html( $("#redback-runtime-configuration-main" ).tmpl() );
ko.applyBindings(redbackRuntimeConfigurationViewModel,$("#redback-runtime-configuration-content" ).get(0));
activateRedbackRuntimeGeneralFormValidation();
activateLdapConfigurationFormValidation();
$("#ldap-group-mappings-div select" ).select2({width: "element"});
}
});
} }
}); });
} }
); });
}
);
} else {
displayRuntimeConfigurationScreen(redbackRuntimeConfigurationViewModel,null,null);
}
} }
}); });
@ -1785,6 +1758,38 @@ define("archiva.general-admin",["jquery","i18n","utils","jquery.tmpl","knockout"
} }
displayRuntimeConfigurationScreen=function(redbackRuntimeConfigurationViewModel,allRoles,groupMappings,groups){
var allRoleNames = $.map(allRoles?allRoles:[], function(item) {
return item.name;
});
redbackRuntimeConfigurationViewModel.allRoleNames=allRoleNames;
if (redbackRuntimeConfigurationViewModel.redbackRuntimeConfiguration().ldapConfiguration().useRoleNameAsGroup()) {
// if using groups == roles add all as mapping except already mapped
$.each(groups,function(idx,item){
var exists=false;
// avoid duplicate if mapping really exists !
$.each(groupMappings,function(idx2,groupMapping){
if(groupMapping.group()==item){
exists=true;
}
});
if(!exists){
groupMappings.push(new LdapGroupMapping(item,[item],true,redbackRuntimeConfigurationViewModel.modifyLdapGroupMapping));
}
});
}
redbackRuntimeConfigurationViewModel.redbackRuntimeConfiguration().ldapGroupMappings=ko.observableArray(groupMappings?groupMappings:[]);
redbackRuntimeConfigurationViewModel.redbackRuntimeConfiguration().modified(false);
$("#main-content").html( $("#redback-runtime-configuration-main" ).tmpl() );
ko.applyBindings(redbackRuntimeConfigurationViewModel,$("#redback-runtime-configuration-content" ).get(0));
activateRedbackRuntimeGeneralFormValidation();
activateLdapConfigurationFormValidation();
$("#ldap-group-mappings-div select" ).select2({width: "element"});
}
LdapGroupMapping=function(group,roleNames,automatic,subscribeFn){ LdapGroupMapping=function(group,roleNames,automatic,subscribeFn){
var self=this; var self=this;
this.modified=ko.observable(false); this.modified=ko.observable(false);