1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-31 02:59:44 +02:00

Preview LDAP connection results

This commit is contained in:
sauls8t 2018-09-03 18:19:46 +01:00
parent 1ce7e53398
commit 63b17f9b88
5 changed files with 63 additions and 20 deletions

View file

@ -15,11 +15,13 @@ import { set } from '@ember/object';
import { copy } from '@ember/object/internals';
import { inject as service } from '@ember/service';
import Notifier from '../../mixins/notifier';
import ModalMixin from '../../mixins/modal';
import encoding from '../../utils/encoding';
import Component from '@ember/component';
export default Component.extend(Notifier, {
export default Component.extend(ModalMixin, Notifier, {
appMeta: service(),
globalSvc: service('global'),
isDocumizeProvider: computed('authProvider', function() {
return this.get('authProvider') === this.get('constants').AuthProvider.Documize;
@ -156,6 +158,19 @@ export default Component.extend(Notifier, {
this.set('ldapConfig.encryptionType', e);
},
onLDAPPreview() {
this.showWait();
let config = this.get('ldapConfig');
config.serverPort = parseInt(this.get('ldapConfig.serverPort'));
this.get('globalSvc').previewLDAP(config).then((preview) => {
this.set('ldapPreview', preview);
this.modalOpen("#ldap-preview-modal", {"show": true});
this.showDone();
});
},
onSave() {
let constants = this.get('constants');
let provider = this.get('authProvider');

View file

@ -131,7 +131,7 @@
<div class="form-group row">
<label for="ldap-baseDN" class="col-sm-3 col-form-label">Base DN</label>
<div class="col-sm-9">
{{input id="ldap-baseDN" type="number" value=ldapConfig.baseDN class='form-control'}}
{{input id="ldap-baseDN" type="text" value=ldapConfig.baseDN class='form-control'}}
<small class="form-text text-muted">Starting point for search filters, e.g. ou=users,dc=example,dc=com</small>
</div>
</div>
@ -214,12 +214,39 @@
{{x-toggle value=ldapConfig.defaultPermissionAddSpace size="medium" theme="light" onToggle=(action (mut ldapConfig.defaultPermissionAddSpace))}}
</div>
</div>
<div class="form-group row">
<div class="col-sm-3"></div>
<div class="col-sm-9">
<div class="btn btn-secondary mt-4" {{action 'onLDAPPreview'}}>Test Connection & Preview pauth&rarr;</div>
</div>
</div>
{{/if}}
<div class="btn btn-success mt-4" {{action 'onSave'}}>Save</div>
<div class="btn btn-success mt-4" {{action 'onSave'}}>ACTIVATE</div>
</form>
{{#if (gt keycloakFailure.length 0)}}
<p class="admin-setting-failure my-3">Keycloak connection failed: {{keycloakFailure}}</p>
{{/if}}
</div>
<div id="ldap-preview-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">LDAP Preview</div>
<div class="modal-body">
{{#if ldapPreview.isError}}
<p class="text-danger">{{ldapPreview.message}}</p>
{{else}}
<p class="text-success">Connection successful.</p>
{{#each ldapPreview.users as |user|}}
<p>{{user.firstname}} {{user.firstname}} ({{user.email}})</p>
{{/each}}
{{/if}}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>