Skip to content
Snippets Groups Projects
Commit c61a41e9 authored by William Enright's avatar William Enright
Browse files

Fixed AD setup mappings and user displays for AD

Change-Id: Ie45d9a061474ab9702abf86fcec8c71149c8def0
parent 904bb6c8
No related branches found
No related tags found
No related merge requests found
......@@ -53,13 +53,10 @@ public class UserProfileService {
public UserProfile[] getUserProfile(String queryString, String field) {
Endpoint endpoint = ADConnector.getConnection();
UserProfile[] profiles = null;
if (!queryString.startsWith("*")) {
queryString = queryString.concat("*");
}
try {
QueryRequest queryRequest = buildRequest(endpoint);
Sentence sentence = null;
if (queryString.contains("*")) {
if (queryString.equals("*")) {
sentence = new QueryAssembler().addPhrase(FieldType.OBJECT_CLASS, PhraseOperator.EQUAL, ObjectType.USER.toString()).closeSentence();
} else {
if (field.equals("LOGON_NAME")) {
......@@ -86,6 +83,7 @@ public class UserProfileService {
for (int i = 0; i < profiles.length; i++) {
profiles[i] = profileFromResponse(results.get(i));
}
profiles = removeNull(profiles);
return profiles;
} catch (Exception e) {
log.error("Could not find entity with specified parameters.");
......@@ -95,6 +93,14 @@ public class UserProfileService {
}
}
public UserProfile[] removeNull(UserProfile[] a) {
ArrayList<UserProfile> removedNull = new ArrayList<UserProfile>();
for (UserProfile p : a)
if (p != null)
removedNull.add(p);
return removedNull.toArray(new UserProfile[0]);
}
public static QueryRequest buildRequest(Endpoint endpoint) {
QueryRequest queryRequest = new QueryRequest();
queryRequest.setDirectoryType(DirectoryType.MS_ACTIVE_DIRECTORY);
......
......@@ -62,7 +62,7 @@ function setLDAPParametersData(form) {
settings[field.name] = field.value;
});
settings['fieldMappings'] = {};
settings['fieldMappings']['uid'] = "Username"
settings['fieldMappings']['uid'] = "Username";
settings['fieldMappings']['givenName'] = "FirstName";
settings['fieldMappings']['sn'] = "LastName";
settings['fieldMappings']['jpegPhoto'] = "ProfilePicture";
......@@ -72,13 +72,11 @@ function setLDAPParametersData(form) {
settings['fieldMappings']['facsimileTelephoneNumber'] = "FaxNumber";
settings['fieldMappings']['extensionName'] = "PhoneNumberExtension";
settings['fieldMappings']['o'] = "Organization";
settings['fieldMappings']['uid'] = "Username";
authSource['type'] = 'LDAP';
authSource['ldapSettings'] = settings;
var data = authSource;
// post request
postParameters(data);
ajaxApiCall(api_path_post_install_auth,'POST',authSource,null, handleAuthInstall);
}
function setADParametersData(form) {
......@@ -94,31 +92,30 @@ function setADParametersData(form) {
});
settings['fieldMappings'] = {};
settings['fieldMappings']['sAMAccountName'] = "Username"
settings['fieldMappings']['givenName'] = "FirstName";
settings['fieldMappings']['samaccountname'] = "Username";
settings['fieldMappings']['givenname'] = "FirstName";
settings['fieldMappings']['sn'] = "LastName";
settings['fieldMappings']['jpegPhoto'] = "ProfilePicture";
settings['fieldMappings']['thumbnailphoto'] = "ProfilePicture";
settings['fieldMappings']['mail'] = "Email";
settings['fieldMappings']['telephoneNumber'] = "PhoneNumber";
settings['fieldMappings']['telephonenumber'] = "PhoneNumber";
settings['fieldMappings']['mobile'] = "MobileNumber";
settings['fieldMappings']['facsimileTelephoneNumber'] = "FaxNumber";
settings['fieldMappings']['extensionName'] = "PhoneNumberExtension";
settings['fieldMappings']['facsimiletelephonenumber'] = "FaxNumber";
settings['fieldMappings']['extensionname'] = "PhoneNumberExtension";
settings['fieldMappings']['o'] = "Organization";
settings['fieldMappings']['uid'] = "Username";
authSource['type'] = 'AD';
authSource['activeDirectorySettings'] = settings;
var data = authSource;
// post request
postParameters(data);
ajaxApiCall(api_path_post_install_auth,'POST',authSource,null, handleAuthInstall);
}
// send post request
function postParameters(data) {
usePublicNS = $('#publicNS')[0].checked;
var callback = set_installation_response("server-parameters.html" + "?usePublicNS=" + usePublicNS);
ajaxApiCall(api_path_post_install_auth,'POST',data,null,callback);
function handleAuthInstall(data) {
if (data.status == 500 || data.status == 405)
$('#badAuthModalCenter').modal('show');
else {
usePublicNS = $('#publicNS')[0].checked;
window.location.replace("server-parameters.html" + "?usePublicNS=" + usePublicNS);
}
}
// show tooltip
......
......@@ -132,10 +132,11 @@ function listAllUsers(data, statusCode, jqXHR)
'<tr class="user-data bubble"><td data-href="aa" class="mobile">Username</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) + '">' + resultSet[i].username +
'</td><td class="mobile">First Name</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) + '">' + firstName + '' +
'</td><td class="mobile">Last Name</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) + '">' + lastName +
'</td><td class="mobile">Devices</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) +'"><i class="fa fa-mobile"></i></td><td class="spacer--table">spacer</td>' +
'</td><td class="mobile">Devices</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) + '"><i class="fa fa-mobile"></i></td><td class="spacer--table">spacer</td>' +
'<td class="mobile">Actions</td><td class="user-information-search"><button class="edit-user" title="Edit User" style="display: none;" user-id="' + encodeURIComponent(resultSet[i].username) + '"><i class="fa fa-edit"></i></button>' +
'<button type="button" id="de-authorize-user" class="btn-danger de-authorize-user" title="Revoke User" user-id="' + encodeURIComponent(resultSet[i].username) + '"' + '><i class="fa fa-trash"></i></button>' +
'</td><td class="spacer--table">spacer</td></tr>'
}
$('.empty-results').remove();
......
......@@ -187,7 +187,7 @@ function setUserInfoDataSource(data, statusCode, jqXHR) {
var disabled = '';
if (resultSet.length > 0) {
// build table row for User item
for (i = 0; i < resultSet.length; i++) {
for (i = 0; i < 1; i++) {
// determine User status
if (userStatus == "Revoked") {
......
......@@ -289,4 +289,20 @@
</div>
</div>
</div>
</div>
<div id="badAuthModalCenter" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="badAuthModalLongTitle">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="badAuthModalLongTitle">CA Error</h5>
</div>
<div class="ca-modal-body">
The supplied configuration is invalid or the connectivity tests has failed.
</div>
<div class="modal-footer">
<button data-dismiss="modal" class="btn btn-outline-primary btn-link" type="button">OK</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment