summaryrefslogtreecommitdiffstats
path: root/templates/sysconfig/ad-selfsearch.html
diff options
context:
space:
mode:
authorSimon Rettberg2016-02-18 17:56:58 +0100
committerSimon Rettberg2016-02-18 17:56:58 +0100
commit4ea13ba83c760f6c2baff4d25c54f08fdb4a82ec (patch)
tree46c375a139bce3475adf2db4b85ca310f66a8334 /templates/sysconfig/ad-selfsearch.html
parent[statistics] Smart values, show last log lines, location support (diff)
downloadslx-admin-4ea13ba83c760f6c2baff4d25c54f08fdb4a82ec.tar.gz
slx-admin-4ea13ba83c760f6c2baff4d25c54f08fdb4a82ec.tar.xz
slx-admin-4ea13ba83c760f6c2baff4d25c54f08fdb4a82ec.zip
[adauth] Add field for homeDirectory attribute
Diffstat (limited to 'templates/sysconfig/ad-selfsearch.html')
-rw-r--r--templates/sysconfig/ad-selfsearch.html39
1 files changed, 36 insertions, 3 deletions
diff --git a/templates/sysconfig/ad-selfsearch.html b/templates/sysconfig/ad-selfsearch.html
index f77bd5fb..76952dc3 100644
--- a/templates/sysconfig/ad-selfsearch.html
+++ b/templates/sysconfig/ad-selfsearch.html
@@ -5,6 +5,10 @@
<div id="zeug">
<div data-tm-id="{{self-search}}" data-tm-log="messages" data-tm-callback="selfCb">LDAP Self-Query</div>
<pre style="display:none" id="result"></pre>
+ <div style="display:none" id="haselect">
+ <div class="slx-bold">{{lang_selectHomeAttribute}}</div>
+ {{lang_homeAttributeExplanation}}
+ </div>
</div>
<i>{{lang_onProblemSearchBase}}</i>
<br><br>
@@ -18,6 +22,7 @@
<input name="binddn" value="{{binddn}}" type="hidden">
<input name="bindpw" value="{{bindpw}}" type="hidden">
<input name="home" value="{{home}}" type="hidden">
+ <input name="homeattr" value="{{homeattr}}" type="hidden">
{{#ssl}}
<input name="ssl" value="on" type="hidden">
<input type="hidden" name="certificate" value="{{certificate}}">
@@ -36,13 +41,13 @@
<input id="fulldn" name="binddn" value="" type="hidden">
<input id="givendn" name="originalbinddn" value="{{binddn}}" type="hidden">
<input name="bindpw" value="{{bindpw}}" type="hidden">
- <input name="home" value="{{home}}" type="hidden">
+ <input id="home" name="home" value="{{home}}" type="hidden">
+ <input id="homeattr" name="homeattr" value="{{homeattr}}" type="hidden">
{{#ssl}}
<input name="ssl" value="on" type="hidden">
<input type="hidden" name="certificate" value="{{certificate}}">
{{/ssl}}
<input name="fingerprint" value="{{fingerprint}}" type="hidden">
- <input name="originalbinddn" value="{{binddn}}" type="hidden">
<button id="nextbutton" type="submit" class="btn btn-primary" style="display:none">{{lang_skip}} &raquo;</button>
</form>
</div>
@@ -66,9 +71,33 @@
}
$('#fulldn').val(fulldn);
$('#result').text("BindDN: " + fulldn + "\nWinDomain: " + domain + "\nSearchBase: " + search).show();
- if (typeof search !== 'string' || search.length === 0 || search.length + 2 >= fulldn.length) {
+ var attrlist = [];
+ var tryHomeAttr = false;
+ {{#tryHomeAttr}}
+ tryHomeAttr = true;
+ if (task.data.home && task.data.home.length) attrlist = task.data.home;
+ {{/tryHomeAttr}}
+ if (typeof search !== 'string' || search.length === 0 || search.length + 2 >= fulldn.length
+ || (tryHomeAttr && $('#home').val().length === 0 && $('#homeattr').val().length === 0 && attrlist.length === 0)) {
$('#nextbutton').html('{{lang_continueAnyway}}');
+ } else if (attrlist.length > 1 && $('#homeattr').val().length === 0) {
+ var sel = $('<select>').attr('onchange', 'slxSetHomeAttr(this)').addClass('form-control');
+ var best = 0;
+ for (var i = 1; i < attrlist.length; ++i) {
+ if (attrlist[i].score > attrlist[best].score) best = i;
+ }
+ for (var i = 0; i < attrlist.length; ++i) {
+ var opt = $('<option>').attr('value', attrlist[i].attr).text(attrlist[i].attr + ' (' + attrlist[i].value + ')');
+ if (i === best) opt.attr('selected', 'selected');
+ sel.append(opt);
+ }
+ $('#haselect').append(sel).append('<br>').show();
+ slxSetHomeAttr(sel[0]);
+ $('#nextbutton').html('{{lang_next}}');
} else {
+ if (attrlist.length === 1 && $('#homeattr').val().length === 0) {
+ $('#homeattr').val(attrlist[0].attr);
+ }
$('#nextform').submit();
}
} else {
@@ -76,4 +105,8 @@
}
$('#nextbutton').show();
}
+
+ function slxSetHomeAttr(sel) {
+ $('#homeattr').val(sel.options[sel.selectedIndex].value);
+ }
</script>