This is an automated email from the git hooks/post-receive script.
mreynolds pushed a commit to branch master
in repository 389-ds-base.
commit 44c2d8f572229c386f57265b39413b43ad7a49aa
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Jan 9 16:13:51 2018 -0500
Ticket 49520 - Cockpit UI - Add database chaining HTML
Description: Add chaining pages/forms
https://pagure.io/389-ds-base/issue/49520
Reviewed by: ?
---
Makefile.am | 6 +-
configure.ac | 7 +-
src/cockpit/389-console/backend.html | 448 ++++++++++++++++++++++++++++--
src/cockpit/389-console/css/ds.css | 94 ++++++-
src/cockpit/389-console/js/backend.js | 197 +++++++++++--
src/cockpit/389-console/js/plugins.js | 6 +-
src/cockpit/389-console/js/replication.js | 18 +-
src/cockpit/389-console/js/schema.js | 13 +-
src/cockpit/389-console/js/security.js | 4 +
src/cockpit/389-console/js/servers.js | 25 +-
src/cockpit/389-console/plugins.html | 280 +++++++++++++++++--
src/cockpit/389-console/replication.html | 43 ++-
src/cockpit/389-console/schema.html | 347 +++++++++++++++--------
src/cockpit/389-console/security.html | 41 ++-
src/cockpit/389-console/servers.html | 382 +++++++++++++++----------
15 files changed, 1537 insertions(+), 374 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 4e76c1b..82b1782 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -290,6 +290,7 @@ gdbautoloaddir = $(prefixdir)/share/gdb/auto-load$(sbindir)
cockpitdir = $(datadir)@cockpitdir@
cockpitstaticdir = $(datadir)@cockpitstaticdir@
cockpitimagesdir = $(datadir)@cockpitimagesdir@
+cockpitstaticimagesdir = $(datadir)@cockpitstaticimagesdir@
cockpitjsdir = $(datadir)@cockpitjsdir@/
cockpitcssdir = $(datadir)@cockpitcssdir@
@@ -900,13 +901,16 @@ cockpitstatic_DATA = src/cockpit/389-console/static/32px.png \
src/cockpit/389-console/static/style.min.css \
src/cockpit/389-console/static/throbber.gif
-cockpitimages_DATA = src/cockpit/389-console/static/images/ui-icons_444444_256x240.png \
+cockpitstaticimages_DATA =
src/cockpit/389-console/static/images/ui-icons_444444_256x240.png \
src/cockpit/389-console/static/images/ui-icons_777620_256x240.png \
src/cockpit/389-console/static/images/ui-icons_cc0000_256x240.png \
src/cockpit/389-console/static/images/ui-icons_555555_256x240.png \
src/cockpit/389-console/static/images/ui-icons_777777_256x240.png \
src/cockpit/389-console/static/images/ui-icons_ffffff_256x240.png
+cockpitimages_DATA = src/cockpit/389-console/images/sort_asc.png \
+ src/cockpit/389-console/images/sort_both.png
+
cockpitjs_DATA = src/cockpit/389-console/js/backend.js \
src/cockpit/389-console/js/ds.js \
src/cockpit/389-console/js/monitor.js \
diff --git a/configure.ac b/configure.ac
index 46f13b9..981f8e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -379,7 +379,8 @@ if test "$with_fhs_opt" = "yes"; then
# relative to datadir
cockpitdir=/389-console
cockpitstaticdir=/389-console/static
- cockpitimagesdir=/389-console/static/images
+ cockpitimagesdir=/389-console/images
+ cockpitstaticimagesdir=/389-console/static/images
cockpitjsdir=/389-console/js
cockpitcssdir=/389-console/css
else
@@ -421,7 +422,8 @@ else
# relative to datadir
cockpitdir=/$PACKAGE_NAME/389-console
cockpitstaticdir=/$PACKAGE_NAME/389-console/static
- cockpitimagesdir=/$PACKAGE_NAME/389-console/static/images
+ cockpitimagesdir=/$PACKAGE_NAME/389-console/images
+ cockpitstaticimagesdir=/$PACKAGE_NAME/389-console/static/images
cockpitjsdir=/$PACKAGE_NAME/389-console/js
cockpitcssdir=/$PACKAGE_NAME/389-console/css
fi
@@ -514,6 +516,7 @@ AC_SUBST(updatedir)
AC_SUBST(cockpitdir)
AC_SUBST(cockpitstaticdir)
AC_SUBST(cockpitimagesdir)
+AC_SUBST(cockpitstaticimagesdir)
AC_SUBST(cockpitjsdir)
AC_SUBST(cockpitcssdir)
AC_SUBST(defaultuser)
diff --git a/src/cockpit/389-console/backend.html b/src/cockpit/389-console/backend.html
index 25158f1..7b48f97 100644
--- a/src/cockpit/389-console/backend.html
+++ b/src/cockpit/389-console/backend.html
@@ -3,12 +3,15 @@
<li title="cn=config,cn=ldbm database,cn=plugins,cn=config "
id="root" class="jstree-open ds-treenode"
data-jstree='{"icon":"glyphicon glyphicon-tree-deciduous",
"opened":true, "selected":true}'>Database
<ul>
- <li title="suffix" id="dc=example,dc=com"
data-jstree='{"icon":"glyphicon
glyphicon-tree-conifer"}'>dc=example,dc=com
+ <li title="suffix" id="suffix-dc=example,dc=com"
data-jstree='{"icon":"glyphicon
glyphicon-tree-conifer"}'>dc=example,dc=com
<ul>
- <li title="sub suffix"
id="ou=people,dc=example,dc=com"
data-jstree='{"icon":"glyphicon
glyphicon-leaf"}'>ou=people,dc=example,dc=com</li>
+ <li title="sub suffix"
id="suffix-ou=people-dc=example,dc=com"
data-jstree='{"icon":"glyphicon
glyphicon-leaf"}'>ou=people,dc=example,dc=com</li>
</ul>
</li>
- <li title="suffix" id="o=ipaca"
data-jstree='{"icon":"glyphicon
glyphicon-tree-conifer"}'>o=ipaca.com
+ <li title="suffix" id="suffix-o=ipaca.com"
data-jstree='{"icon":"glyphicon
glyphicon-tree-conifer"}'>o=ipaca.com
+ <ul>
+ <li title="chained suffix" id="dblink-o=ipaca.com"
data-jstree='{"icon":"glyphicon
glyphicon-link"}'>MyChainingDBLink</li>
+ </ul>
</li>
</ul>
</li>
@@ -47,7 +50,7 @@
</div>
<p></p>
- <input type="button" class="accordion cache-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="cache-accordion"
value="Cache Settings ▼"/>
+ <input type="button" class="accordion cache-accordion
ds-accordion-button ds-accordion-spacing" id="cache-accordion"
value="Cache Settings ▼"/>
<div class="ds-accordion-panel">
<div class="ds-container">
<div class="ds-split">
@@ -98,23 +101,23 @@
<p></p>
</div>
- <input type="button" class="accordion db-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="db-accordion"
value="Advanced Database Settings ▼"/>
+ <input type="button" class="accordion db-accordion
ds-accordion-button ds-accordion-spacing" id="db-accordion"
value="Advanced Database Settings ▼"/>
<div class="ds-accordion-panel">
<div class="ds-container">
<div>
- <label for="nsslapd-db-logdirectory"
class="ds-config-label" title=
+ <label for="nsslapd-db-logdirectory" class="ds-config-label
ds-cache-label" title=
"Database Transaction Log Location
(nsslapd-db-logdirectory)."><b
Transaction Logs Directory</b></label><input
class="ds-input" type="text" id="nsslapd-db-logdirectory"
size="15"/>
- <label
for="nsslapd-db-home-directory" class="ds-config-label" title=
+ <label for="nsslapd-db-home-directory" class="ds-config-label
ds-cache-label" title=
"Location for database memory mapped files. You must specify a
subdirectory of a tempfs type filesystem (nsslapd-db-home-directory)."><b
Database Home Directory</b></label><input
class="ds-input" type="text" id="nsslapd-db-home-directory"
size="15"/>
- <label for="nsslapd-db-locks"
class="ds-config-label" title=
+ <label for="nsslapd-db-locks" class="ds-config-label
ds-cache-label" title=
"The number of database locks (nsslapd-db-locks)."><b
Database Locks</b></label><input
class="ds-input" type="text" id="nsslapd-db-locks"
size="15"/>
- <label
for="nsslapd-db-checkpoint-interval" class="ds-config-label" title=
+ <label for="nsslapd-db-checkpoint-interval"
class="ds-config-label ds-cache-label" title=
"Amount of time in seconds after which the Directory Server sends a
checkpoint entry to the database transaction log
(nsslapd-db-checkpoint-interval)."><b
Database Checkpoint Interval</b></label><input
class="ds-input" type="text"
id="nsslapd-db-checkpoint-interval" size="15"/>
-
<label for="nsslapd-db-checkpoint-interval" class="ds-config-label"
title=
+ <label for="nsslapd-db-checkpoint-interval"
class="ds-config-label ds-cache-label" title=
"The interval in seconds when the database is compacted
(nsslapd-db-compactdb-interval)."><b
Database Compact Interval</b></label><input
class="ds-input" type="text"
id="nsslapd-db-checkpoint-interval" size="15"/>
<p></p>
@@ -131,18 +134,211 @@
"sets whether database transaction log entries are immediately written
to the disk. (nsslapd-db-durable-transactions)."> Enable Durable
transactions</label>
<p></p>
</div>
+ <p></p><br>
</div>
+ <p></p>
</div>
+
+ <!-- Database Chaining -->
+ <input type="button" class="accordion suffix-accordion
ds-accordion-button ds-accordion-spacing" id="suffix-chaining-accordion"
value="Database Chaining Settings ▼"/>
+ <div class="ds-accordion-panel">
+ <div class="ds-accordian-div">
+ <h3>Database Link Settings</h3>
+ <hr class="ds-hr">
+ <p></p>
+ <div class="ds-container">
+ <div class="ds-chaining-split">
+ <form>
+ <label class="ds-config-label" for
"chaining-oid-list" title=
+ "A list of LDAP control OIDs to be forwarded through
chaining"><b>Forwarded LDAP Controls</b></label>
+ <select id="chaining-oid-list"
class="ds-chaining-list" name="nstransmittedcontrols" multiple>
+ <option
value="1.5.6.5.5.6.88.4553.344">1.5.6.5.5.6.88.4553.344</option>
+ </select>
+ </form>
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="chaining-oid-button"
class="ds-button-left">Add</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="button"
id="delete-chaining-oid-button"
class="ds-button-right">Delete</button>
+ </div>
+ </div>
+ </div>
+ <div class="ds-chaining-divider"></div>
+ <div class="ds-chaining-split">
+ <form>
+ <label class="ds-config-label" for
"chaining-comp-list" title=
+ "A list of components to go through
chaining"><b>Components to Chain</b></label>
+ <select id="chaining-comp-list"
class="ds-chaining-list" name="nsactivechainingcomponents"
multiple>
+ <option
value="1.5.6.5.5.6.88.4553.344">cn=roles,cn=components,cn=config</option>
+ </select>
+ </form>
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="chaining-comp-button"
class="ds-button-left">Add</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="button"
id="delete-chaining-comp-button"
class="ds-button-right">Delete</button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <p></p>
+
+ <div class="ds-accordian-div">
+ <h3>Default Database Link Creation Settings</h3>
+ <hr class="ds-hr">
+ <div class="ds-container">
+ <div class="ds-split">
+ <label for="chaining-size-limit"
class="ds-config-label" title=
+ "The size limit of entries returned over a database link
(nsslapd-sizelimit)."><b
+ >Size Limit</b></label><input class="ds-input"
type="text" id="chaining-size-limit" size="15"/>
+ <label for="chaining-time-limit"
class="ds-config-label" title=
+ "The time limit of an operation over a database link
(nsslapd-timelimit)."><b
+ >Time Limit</b></label><input class="ds-input"
type="text" id="chaining-time-limit" size="15"/>
+ <label for="nsbindconnectionslimit"
class="ds-config-label" title=
+ "The maximum number of TCP connections the database link establishes
with the remote server. (nsbindconnectionslimit)."><b
+ >Max TCP Connections</b></label><input
class="ds-input" type="text" id="nsbindconnectionslimit"
size="15"/>
+ <label for="nsoperationconnectionslimit"
class="ds-config-label" title=
+ "The maximum number of connections allowed over the database link.
(nsoperationconnectionslimit)."><b
+ >Max LDAP Connections</b></label><input
class="ds-input" type="text"
id="nsoperationconnectionslimit" size="15"/>
+ <label for="nsconcurrentbindlimit"
class="ds-config-label" title=
+ "The maximum number of concurrent bind operations per TCP connection.
(nsconcurrentbindlimit)."><b
+ >Max Binds Per Connection</b></label><input
class="ds-input" type="text" id="nsconcurrentbindlimit"
size="15"/>
+ <label for="nsbindtimeout" class="ds-config-label"
title=
+ "The amount of time before the bind attempt times out.
(nsbindtimeout)."><b
+ >Bind Timeout</b></label><input
class="ds-input" type="text" id="nsbindtimeout"
size="15"/>
+ </div>
+ <div class="ds-divider"></div>
+ <div class="ds-split">
+ <label for="nsbindretrylimit" class="ds-config-label"
title=
+ "The number of times the database link tries to bind with the remote
server after a connection failure. (nsbindretrylimit)."><b
+ >Bind Retry Limit</b></label><input
class="ds-input" type="text" id="nsbindretrylimit"
size="15"/>
+ <label for="nsconcurrentoperationslimit"
class="ds-config-label" title=
+ "The maximum number of operations per connections.
(nsconcurrentoperationslimit)."><b
+ >Max Operations Per Connection</b></label><input
class="ds-input" type="text"
id="nsconcurrentoperationslimit" size="15"/>
+ <label for="nsconnectionlife" class="ds-config-label"
title=
+ "The life of a database link connection to the remote server. 0 is
unlimited (nsconnectionlife)."><b
+ >Connection Lifetime (in seconds)</b></label><input
class="ds-input" type="text" id="nsconnectionlife"
size="15"/>
+ <label for="nsabandonedsearchcheckinterval"
class="ds-config-label" title=
+ "The number of seconds that pass before the server checks for
abandoned operations. (nsabandonedsearchcheckinterval)."><b
+ >Abandoned Op Check Interval</b></label><input
class="ds-input" type="text"
id="nsabandonedsearchcheckinterval" size="15"/>
+ <label for="nshoplimit" class="ds-config-label"
title=
+ "The maximum number of times a request can be forwarded from one
database link to another. (nshoplimit)."><b
+ >Database Link Hop Limit</b></label><input
class="ds-input" type="text" id="nshoplimit"
size="15"/>
+ <p></p>
+ <input type="checkbox" class="ds-config-checkbox"
id="nschecklocalaci"><label
+ for="nschecklocalaci" class="ds-label" title=
+ "Sets whether ACIs are evaluated on the database link as well as the
remote data server (nschecklocalaci)."> Check Local ACIs</label>
+ <input type="checkbox" class="ds-config-checkbox"
id="nsreferralonscopedsearch"><label
+ for="nsreferralonscopedsearch" class="ds-label" title=
+ "Sets whether referrals are returned by scoped searches (meaning
'one-level' or 'subtree' scoped searches).
(nsreferralonscopedsearch)."> Send Referral On Scoped Search</label>
+ </div>
+ </div>
+ </div>
+ </div>
+ <p></p>
+
<hr class="ds-hr">
<div class="ds-button-border">
<button id="server-config-save-btn" class="btn btn-default
ds-button">Save</button>
</div>
</div>
+
+ <!-- Database Link Page -->
+ <div id="chaining" hidden>
+ <h2 id="chaining-header">Database Chaining Configuration</h2>
+ <hr class="ds-hr">
+ <div class="ds-container">
+ <div>
+ <label for="nsfarmserverurl" class="ds-config-label"
title=
+ "The URL for the remote server. Add additional failure servers URLs
separated by a space. (nsfarmserverurl)"><b
+ >Remote Server URL(s)</b></label><input
class="ds-dblink-input" type="text"
id="nsfarmserverurl"/>
+ <label for="nsmultiplexorbinddn" class="ds-config-label"
title="Bind DN used to authenticate against the remote server
(nsmultiplexorbinddn)."><b>Remote Server Bind
DN</b></label><input
+ class="ds-dblink-input" type="text" placeholder="Bind
DN" id="nsmultiplexorbinddn" name="name">
+ <label for="nsmultiplexorcredentials"
class="ds-config-label" title="Replication Bind DN
(nsDS5ReplicaCredentials)."><b>Bind DN
Credentials</b></label><input
+ class="ds-dblink-input" type="password"
placeholder="Enter password" id="nsmultiplexorcredentials"
name="name">
+ <label for="nsmultiplexorcredentials-confirm"
class="ds-config-label" title="Confirm password"><b>Confirm
Password</b></label><input
+ class="ds-dblink-input" type="password"
placeholder="Confirm password" id="nsmultiplexorcredentials-confirm"
name="name">
+ <label for="dblink-conn" class="ds-config-label"
title="The connection protocol for the remote server."><b>Connection
Protocol</b></label><select
+ class="btn btn-default dropdown ds-dblink-dropdown"
id="dblink-conn">
+ <option>LDAP</option>
+ <option>LDAPS</option>
+ <option>Start TLS</option>
+ </select>
+ <label for="nsbindmechanism" class="ds-config-label"
title="The bind method for contacting the remote server
(nsbindmechanism)."><b>Bind Method</b></label><select
+ class="btn btn-default dropdown ds-dblink-dropdown"
id="nsbindmechanism">
+ <option>Simple</option>
+ <option>SASL/DIGEST-MD5</option>
+ <option>SASL/GSSAPI</option>
+ </select>
+ </div>
+ </div>
+ <p></p>
+
+ <input type="button" class="accordion chaining-adv-accordion
ds-accordion-button ds-accordion-spacing" id="chaining-adv-accordion"
value="Advanced Database Link Settings ▼"/>
+ <div class="ds-accordion-panel">
+ <div class="ds-accordian-div">
+ <div class="ds-container">
+ <div class="ds-split">
+ <label for="chaining-size-limit"
class="ds-config-label" title=
+ "The size limit of entries returned over a database link
(nsslapd-sizelimit)."><b
+ >Size Limit</b></label><input class="ds-input"
type="text" id="chaining-size-limit" size="15"/>
+ <label for="chaining-time-limit"
class="ds-config-label" title=
+ "The time limit of an operation over a database link
(nsslapd-timelimit)."><b
+ >Time Limit</b></label><input class="ds-input"
type="text" id="chaining-time-limit" size="15"/>
+ <label for="nsbindconnectionslimit"
class="ds-config-label" title=
+ "The maximum number of TCP connections the database link establishes
with the remote server. (nsbindconnectionslimit)."><b
+ >Max TCP Connections</b></label><input
class="ds-input" type="text" id="nsbindconnectionslimit"
size="15"/>
+ <label for="nsoperationconnectionslimit"
class="ds-config-label" title=
+ "The maximum number of connections allowed over the database link.
(nsoperationconnectionslimit)."><b
+ >Max LDAP Connections</b></label><input
class="ds-input" type="text"
id="nsoperationconnectionslimit" size="15"/>
+ <label for="nsconcurrentbindlimit"
class="ds-config-label" title=
+ "The maximum number of concurrent bind operations per TCP connection.
(nsconcurrentbindlimit)."><b
+ >Max Binds Per Connection</b></label><input
class="ds-input" type="text" id="nsconcurrentbindlimit"
size="15"/>
+ <label for="nsbindtimeout" class="ds-config-label"
title=
+ "The amount of time before the bind attempt times out.
(nsbindtimeout)."><b
+ >Bind Timeout</b></label><input
class="ds-input" type="text" id="nsbindtimeout"
size="15"/>
+ </div>
+ <div class="ds-divider"></div>
+ <div class="ds-split">
+ <label for="nsbindretrylimit" class="ds-config-label"
title=
+ "The number of times the database link tries to bind with the remote
server after a connection failure. (nsbindretrylimit)."><b
+ >Bind Retry Limit</b></label><input
class="ds-input" type="text" id="nsbindretrylimit"
size="15"/>
+ <label for="nsconcurrentoperationslimit"
class="ds-config-label" title=
+ "The maximum number of operations per connections.
(nsconcurrentoperationslimit)."><b
+ >Max Operations Per Connection</b></label><input
class="ds-input" type="text"
id="nsconcurrentoperationslimit" size="15"/>
+ <label for="nsconnectionlife" class="ds-config-label"
title=
+ "The life of a database link connection to the remote server. 0 is
unlimited (nsconnectionlife)."><b
+ >Connection Lifetime (in seconds)</b></label><input
class="ds-input" type="text" id="nsconnectionlife"
size="15"/>
+ <label for="nsabandonedsearchcheckinterval"
class="ds-config-label" title=
+ "The number of seconds that pass before the server checks for
abandoned operations. (nsabandonedsearchcheckinterval)."><b
+ >Abandoned Op Check Interval</b></label><input
class="ds-input" type="text"
id="nsabandonedsearchcheckinterval" size="15"/>
+ <label for="nshoplimit" class="ds-config-label"
title=
+ "The maximum number of times a request can be forwarded from one
database link to another. (nshoplimit)."><b
+ >Database Link Hop Limit</b></label><input
class="ds-input" type="text" id="nshoplimit"
size="15"/>
+ <p></p>
+ <input type="checkbox" class="ds-config-checkbox"
id="nschecklocalaci"><label
+ for="nschecklocalaci" class="ds-label" title=
+ "Sets whether ACIs are evaluated on the database link as well as the
remote data server (nschecklocalaci)."> Check Local ACIs</label>
+ <input type="checkbox" class="ds-config-checkbox"
id="nsreferralonscopedsearch"><label
+ for="nsreferralonscopedsearch" class="ds-label" title=
+ "Sets whether referrals are returned by scoped searches (meaning
'one-level' or 'subtree' scoped searches).
(nsreferralonscopedsearch)."> Send Referral On Scoped Search</label>
+ </div>
+ </div>
+ </div>
+ </div>
+ <p></p>
+ </div>
+
+
+ <!-- Suffix Configuration Page -->
<div id="suffix" hidden=>
<h2 id="suffix-header">Suffix Configuration</h2>
<hr class="ds-hr">
- <div id="db" class="ds-container">
+ <div class="ds-container">
<div>
<label for="nsslapd-cachememsize" class="ds-config-label"
title=
"The size for the available memory space for the entry cache
(nsslapd-cachememsize)."><b
@@ -186,7 +382,7 @@
</div>
<hr class="ds-hr">
- <input type="button" class="accordion ds-agmt-wiz-button
ds-accordion-spacing suffix-accordion" id="suffix-index-accordion"
value="Database Indexes ▼"/>
+ <input type="button" class="accordion ds-accordion-button
ds-accordion-spacing suffix-accordion" id="suffix-index-accordion"
value="Database Indexes ▼"/>
<div class="ds-accordion-panel">
<h2>System Indexes</h2>
<hr class="ds-hr">
@@ -286,7 +482,7 @@
<hr class="ds-hr">
</div>
- <input type="button" class="accordion suffix-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="suffix-attrencrypt-accordion"
value="Attribute Encryption ▼"/>
+ <input type="button" class="accordion suffix-accordion
ds-accordion-button ds-accordion-spacing" id="suffix-attrencrypt-accordion"
value="Attribute Encryption ▼"/>
<div class="ds-accordion-panel">
<table id="attr-encrypt-table" class="display ds-repl-table"
cellspacing="0" width="100%">
<thead>
@@ -308,23 +504,223 @@
<p></p>
<hr class="ds-hr">
</div>
+ </div>
- <input type="button" class="accordion suffix-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="suffix-chaining-accordion"
value="Database Chaining ▼"/>
- <div class="ds-accordion-panel">
- <h3>Default Chaining Configuration Settings</h3>
- <div id="db" class="ds-container">
- <div>
- <label for="nsslapd-ZZZZZZZ" class="ds-config-label"
title=
- "HOVER TEXT."><b
- >Some Chaining Setting</b></label><input
class="ds-input" type="text" id="nsslapd-ZZZZZZZ"
size="15"/>
+ <!-- Modals/Popups/Wizards -->
+
+ <div id="chaining-oids-form" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Select Forwarded Chaining Controls</b>
<span class="close"
id="chain-oid-close">×</span></h2>
+ <hr class="ds-hr">
+ <p></p>
+ <form>
+ <label class="ds-config-label" for
"avail-chaining-oid-list" title=
+ "A list of LDAP control OIDs to be forwarded through
chaining"><b>Available LDAP Controls</b></label>
+ <select
+ id="avail-chaining-oid-list"
class="ds-chaining-form-list" name="availcontrols" multiple>
+ <option
value="1.5.6.5.5.6.88.4553.344">1.5.6.5.5.6.88.4553.344</option>
+ <option
value="1.5.6.5.5.6.88.4553.344">1.5.6.5.5.6.88.4553.345</option>
+ <option
value="1.5.6.5.5.6.88.4553.344">1.5.6.5.5.6.88.4553.346</option>
+ <option
value="1.5.6.5.5.6.88.4553.344">1.5.6.5.5.6.88.4553.347</option>
+ <option
value="1.5.6.5.5.6.88.4553.344">1.5.6.5.5.6.88.4553.348</option>
+ <option
value="1.5.6.5.5.6.88.4553.344">1.5.6.5.5.6.88.4553.349</option>
+ <option
value="1.5.6.5.5.6.88.4553.344">1.5.6.5.5.6.88.4553.340</option>
+ <option
value="1.5.6.5.5.6.88.4553.344">1.5.6.5.5.6.88.4553.351</option>
+ </select>
+ </form>
+ <p></p>
+ <hr class="ds-hr">
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="chaining-oid-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="chaining-oid-save"
class="ds-button-right">Add Controls</button>
+ </div>
</div>
- <div class="ds-divider"></div>
- <div class="ds-divider"></div>
- <div class="ds-split">
+ </div>
+ </form>
+ </div>
+
+ <div id="chaining-comp-form" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Select Chaining Components</b> <span
class="close"
id="chain-comp-close">×</span></h2>
+ <hr class="ds-hr">
+ <p></p>
+ <form>
+ <label class="ds-config-label" for "chaining-comp-list"
title=
+ "A list of components to work with chaining"><b>Available
LDAP Controls</b></label>
+ <select
+ id="chaining-comp-list" class="ds-chaining-form-list"
name="availcomps" multiple>
+ <option
value="cn=roles,cn=compnments,cn=config">cn=roles,cn=components,cn=config</option>
+ <option value="cn=Password
Policy,cn=components,cn=config">cn=Password
Policy,cn=components,cn=config</option>
+ </select>
+ </form>
+ <p></p>
+ <hr class="ds-hr">
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="chaining-comp-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="chaining-comp-save"
class="ds-button-right">Add Components</button>
+ </div>
</div>
- <hr class="ds-hr">
- </div>
+ </div>
+ </form>
+ </div>
+
+ <div id="create-db-link-form" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Create Database Link</b> <span
class="close"
id="create-chain-close">×</span></h2>
+ <hr class="ds-hr">
+ <div class="ds-container">
+ <div>
+ <label for="nsfarmserverurl" class="ds-config-label"
title=
+ "The URL for the remote server. Add additional failure servers URLs
separated by a space. (nsfarmserverurl)"><b
+ >Remote Server URL(s)</b></label><input
class="ds-dblink-form-input" type="text"
id="nsfarmserverurl"/>
+ <label for="nsmultiplexorbinddn"
class="ds-config-label" title="Bind DN used to authenticate against the
remote server (nsmultiplexorbinddn)."><b>Remote Server Bind
DN</b></label><input
+ class="ds-dblink-form-input" type="text"
placeholder="Bind DN" id="nsmultiplexorbinddn"
name="name">
+ <label for="nsmultiplexorcredentials"
class="ds-config-label" title="Replication Bind DN
(nsDS5ReplicaCredentials)."><b>Bind DN
Credentials</b></label><input
+ class="ds-dblink-form-input" type="password"
placeholder="Enter password" id="nsmultiplexorcredentials"
name="name">
+ <label for="nsmultiplexorcredentials-confirm"
class="ds-config-label" title="Confirm password"><b>Confirm
Password</b></label><input
+ class="ds-dblink-form-input" type="password"
placeholder="Confirm password" id="nsmultiplexorcredentials-confirm"
name="name">
+ <label for="dblink-conn" class="ds-config-label"
title="The connection protocol for the remote server."><b>Connection
Protocol</b></label><select
+ class="btn btn-default dropdown ds-dblink-dropdown"
id="dblink-conn">
+ <option>LDAP</option>
+ <option>LDAPS</option>
+ <option>Start TLS</option>
+ </select>
+ <label for="nsbindmechanism" class="ds-config-label"
title="The bind method for contacting the remote server
(nsbindmechanism)."><b>Bind Method</b></label><select
+ class="btn btn-default dropdown ds-dblink-dropdown"
id="nsbindmechanism">
+ <option>Simple</option>
+ <option>SASL/DIGEST-MD5</option>
+ <option>SASL/GSSAPI</option>
+ </select>
+ </div>
+ </div>
+ <p></p>
+ <hr class="ds-hr">
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="chaining-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="chaining-save"
class="ds-button-right">Create Link</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+
+
+
+
+
+ <div id="create-index" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Create Index</b> <span
class="close"
id="create-index-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <p></p>
+ <hr class="ds-hr">
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="create-index-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="create-index-save"
class="ds-button-right">Create Index</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+ <div id="edit-index" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Edit Index</b> <span
class="close"
id="edit-index-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <p></p>
+ <hr class="ds-hr">
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="edit-index-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="edit-index-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <div id="add-encrypted-attr" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Add Encrypted Attribute</b> <span
class="close"
id="encrypted-attr-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <p></p>
+ <hr class="ds-hr">
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="add-encrypted-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="add-encrypted-save"
class="ds-button-right">Add Attribute</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <div id="create-suffix" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Create Suffix</b> <span
class="close"
id="create-suffix-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <p></p>
+ <hr class="ds-hr">
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="add-encrypted-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="add-encrypted-save"
class="ds-button-right">Create Suffix</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <div id="create-sub-suffix" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Create Sub Suffix</b> <span
class="close"
id="create-sub-suffix-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <p></p>
+ <hr class="ds-hr">
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="create-sub-suffix-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="create-sub-suffix-save"
class="ds-button-right">Create Sub-Suffix</button>
+ </div>
+ </div>
+ </div>
+ </form>
</div>
+
+</div>
diff --git a/src/cockpit/389-console/css/ds.css b/src/cockpit/389-console/css/ds.css
index 71b8f45..14c05d4 100644
--- a/src/cockpit/389-console/css/ds.css
+++ b/src/cockpit/389-console/css/ds.css
@@ -188,20 +188,31 @@
}
.ds-input {
+ height: 37px !important;
margin-top: 5px;
padding-right: 10px;
}
+.ds-input-lrg {
+ width: 315px !important; /* <input size="40"> */
+ height: 37px !important;
+ margin-top: 5px;
+ padding-right: 10px;
+ height: 37px !important;
+}
+
.ds-wiz-input {
- width: 180px !important;
+ width: 415px !important; /* 180px */
margin-top: 5px;
padding-right: 10px;
+ height: 37px !important;
}
.ds-history-input {
margin-top: !important;
margin-right: 5px;
margin-left: 40px;
+ height: 37px !important;
}
.ds-divider {
width: 35px;
@@ -303,6 +314,40 @@
text-align: left;
}
+.ds-dblink-dropdown {
+ color: black !important;
+ padding: 0px !important;
+ line-height: 0 !important;
+ height: 40px;
+ width: 175px !important;
+ text-align: left;
+ outline: 0 !important;
+ margin-top: 5px;
+}
+
+.ds-dblink-dropdown a {
+ padding: 0px !important;
+ padding-left: 10px !important;
+ line-height: 0 !important;
+ height: 40px;
+ width: 175px !important;
+ text-align: left;
+}
+
+.ds-dblink-input {
+ width: 300px !important;
+ margin-top: 5px;
+ padding-right: 10px;
+ height: 37px !important;
+}
+
+.ds-dblink-form-input {
+ width: 415px !important;
+ margin-top: 5px;
+ padding-right: 10px;
+ height: 37px !important;
+}
+
.ds-agmt-init-dropdown {
margin-top: 0px !important;
margin-left: 10px;
@@ -456,15 +501,25 @@
background-color: #f7f7f7;
margin: 2px auto 15% auto; /* 5% from the top, 15% from the bottom and centered */
border: 1px solid black;
- width: 650px; /* Could be more or less, depending on screen size */
+ width: 650px; /* Could be more or less, depending on screen size 650px */
+}
+
+/* The Modal/Wizard Close Button */
+.close {
+ color: #aaa;
+ float: right;
+ font-size: 28px;
+ font-weight: bold;
}
.close:hover,
.close:focus {
- color: red;
- cursor: pointer;
+ color: black;
+ text-decoration: none;
+ cursor: pointer;
}
+
/* Clear floats */
.clearfix::after {
content: "";
@@ -494,10 +549,15 @@
.ds-agmt-wiz-button {
height: 40px;
- width: 400px;
+ width: 630px;
font-weight: bold;
}
+.ds-accordion-button {
+ height: 40px;
+ width: 400px;
+ font-weight: bold;
+}
.ds-agmt-wiz-dropdown {
width: 180px !important;
margin-top: 5px;
@@ -705,12 +765,33 @@
line-height:0;
}
+.ds-accordian-div {
+ margin-left: 20px;
+}
+
+.ds-chaining-list {
+ width: 350px;
+ height: 300px;
+}
+
+.ds-chaining-split {
+ width: 350px;
+}
+
+.ds-chaining-divider {
+ width: 85px;
+}
+
+.ds-chaining-form-list {
+ width: 350px;
+ height: 400px;
+}
textarea {
margin-top: 5px;
padding-top: 5px;
vertical-align: top;
- width: 315px;
+ width: 315px !important;
height: 80px;
resize: none;
word-wrap: break-word !important;
@@ -727,4 +808,3 @@ select {
outline: 0 !important;
}
-
diff --git a/src/cockpit/389-console/js/backend.js
b/src/cockpit/389-console/js/backend.js
index 5350b98..00631a8 100644
--- a/src/cockpit/389-console/js/backend.js
+++ b/src/cockpit/389-console/js/backend.js
@@ -1,51 +1,63 @@
function customMenu (node) {
- var root_items = {
- "create_suffix": {
- "label": "Create Suffix",
- "icon": "glyphicon glyphicon-plus",
- "action": function (data) {
- // Create suffix
- }
+ var root_items = {
+ "create_suffix": {
+ "label": "Create Suffix",
+ "icon": "glyphicon glyphicon-plus",
+ "action": function (data) {
+ // TODO Create suffix
}
- };
-
- var suffix_items = {
+ }
+ };
+
+ var dblink_items = {
+ "delete_link": {
+ "label": "Delete DB Link",
+ "icon": "glyphicon glyphicon-trash",
+ "action": function (data) {
+ // TODO Delete db link
+ }
+ }
+ };
+
+ var suffix_items = {
'import': {
"label": "Initialize Suffix",
"icon": "glyphicon glyphicon-circle-arrow-right",
"action": function (data) {
- // Create suffix
+ // TODO Import suffix
}
},
'export': {
"label": "Export Suffix",
"icon": "glyphicon glyphicon-circle-arrow-left",
"action": function (data) {
- // Create suffix
+ // TODO Export suffix
}
},
'reindex': {
"label": "Reindex Suffix",
"icon": "glyphicon glyphicon-wrench",
"action": function (data) {
- // Create suffix
+ // TODO Reindex suffix
}
},
"create_db_link": {
"label": "Create Database Link",
"icon": "glyphicon glyphicon-link",
"action": function (data) {
- // Create suffix
-
+ var suffix_id = $(node).attr('id');
+ var parent_suffix = suffix_id.substring(suffix_id.indexOf('-')+1);
+ //clear_chaining_form(); //TODO
+ $("#create-db-link-form").css('display', 'block');
}
},
"create_sub_suffix": {
"label": "Create Sub-Suffix",
"icon": "glyphicon glyphicon-triangle-bottom",
"action": function (data) {
- // Create suffix
+ // TODO reate suffix
}
},
@@ -53,15 +65,18 @@ function customMenu (node) {
"label": "Delete Suffix",
"icon": "glyphicon glyphicon-remove",
"action": function (data) {
- // Create suffix
+ // TODO Delete suffix
}
}
};
if ( $(node).attr('id') == "root" ) {
- return root_items;
+ return root_items;
+ } else if ( $(node).attr('id').startsWith('suffix') ){
+ return suffix_items;
} else {
- return suffix_items;
+ // chaining
+ return dblink_items;
}
};
@@ -74,14 +89,25 @@ function load_jstree() {
});
$('#tree').on("changed.jstree", function (e, data) {
- console.log("The selected nodes are:");
- console.log(data.selected);
- var suffix = data.selected;
- if (suffix == "root"){
+ var node_type = data.selected[0];
+ var suffix =
data.instance.get_node(data.selected[0]).text.replace(/(\r\n|\n|\r)/gm,"");
+
+ console.log("The selected nodes are: " + node_type + " = " +
suffix);
+
+ if (node_type == "root"){
+ $("#suffix").hide();
+ $("#chaining").hide();
$("#db").show();
- $("#suffix").hide();
+ } else if (node_type.startsWith("dblink")) {
+ var parent_suffix = node_type.substring(node_type.indexOf('-')+1);
+ $("#db").hide();
+ $("#suffix").hide();
+ $("#chaining-header").html("Database Chaining Configuration <font
size=\"2\">(<b>" + parent_suffix +
"</b>)</font>");
+ $("#chaining").show();
} else {
+ // suffix
$("#db").hide();
+ $("#chaining").hide();
$("#suffix-header").html("Suffix Configuration <font
size=\"2\">(<b>" + suffix +
"</b>)</font>");
$("#suffix").show();
}
@@ -109,7 +135,11 @@ $(document).ready( function() {
"dom":
'<"pull-left"f><"pull-right"l>tip',
"language": {
"emptyTable": "No Referrals"
- }
+ },
+ "columnDefs": [ {
+ "targets": 1,
+ "orderable": false
+ } ]
});
$('#system-index-table').DataTable( {
@@ -127,6 +157,10 @@ $(document).ready( function() {
"language": {
"emptyTable": "No Indexes"
},
+ "columnDefs": [ {
+ "targets": 6,
+ "orderable": false
+ } ]
});
$('#attr-encrypt-table').DataTable( {
"paging": true,
@@ -135,6 +169,10 @@ $(document).ready( function() {
"language": {
"emptyTable": "No Encrypted Attributes"
},
+ "columnDefs": [ {
+ "targets": 2,
+ "orderable": false
+ } ]
});
// Accordion opening/closings
@@ -164,7 +202,7 @@ $(document).ready( function() {
}
}
}
-
+
var cache_acc = document.getElementsByClassName("cache-accordion");
for (var i = 0; i < cache_acc.length; i++) {
cache_acc[i].onclick = function() {
@@ -178,8 +216,22 @@ $(document).ready( function() {
}
}
+ var chain_adv_acc =
document.getElementsByClassName("chaining-adv-accordion");
+ for (var i = 0; i < chain_adv_acc.length; i++) {
+ chain_adv_acc[i].onclick = function() {
+ this.classList.toggle("active");
+ var panel = this.nextElementSibling;
+ if (panel.style.display === "block") {
+ panel.style.display = "none";
+ } else {
+ panel.style.display = "block";
+ }
+ }
+ }
+
+
$(".index-type").attr('readonly', 'readonly');
-
+
if ( $("#manual-cache").is(":checked") ){
$("#auto-cache-form").hide();
$("#manual-cache-form").show();
@@ -201,7 +253,7 @@ $(document).ready( function() {
$("#manual-import-cache-form").hide();
$("#auto-import-cache-form").show();
}
-
+
$(".cache-role").on("change", function() {
var role = $("input[name=cache-role]:checked").val();
if (role == "manual-cache") {
@@ -231,6 +283,95 @@ $(document).ready( function() {
$("#auto-import-cache-form").show();
}
});
+
+ // Based on the db-link connection type change the agmt-auth options
+ $("#dblink-conn").change(function() {
+ var ldap_opts = {"Simple": "Simple",
+ "SASL/DIGEST-MD5": "SASL/DIGEST-MD5",
+ "SASL/GSSAPI": "SASL/GSSAPI"};
+ var ldaps_opts = {"Simple": "Simple",
+ "SSL Client Authentication": "SSL Client
Authentication",
+ "SASL/DIGEST-MD5": "SASL/DIGEST-MD5"};
+ var $auth = $("#nsbindmechanism");
+ $auth.empty();
+ var conn = $('#dblink-conn').val();
+ if (conn == "LDAP"){
+ $.each(ldap_opts, function(key, value) {
+
$auth.append($("<option></option>").attr("value",
value).text(key));
+ });
+ } else {
+ // TLS options
+ $.each(ldaps_opts, function(key, value) {
+
$auth.append($("<option></option>").attr("value",
value).text(key));
+ });
+ }
+ $("#nsmultiplexorbinddn").prop('disabled', false);
+ $("#nsmultiplexorcredentials").prop('disabled', false);
+ $("#nsmultiplexorcredentials-confirm").prop('disabled', false);
+ });
+
+ // Check for auth changes and disable/enable bind DN & password for db-links
+ $("#nsbindmechanism").change(function() {
+ var authtype = $('#nsbindmechanism').val();
+ if (authtype == "SSL Client Authentication") {
+ $("#nsmultiplexorbinddn").prop('disabled', true);
+ $("#nsmultiplexorcredentials").prop('disabled', true);
+ $("#nsmultiplexorcredentials-confirm").prop('disabled', true);
+ } else {
+ $("#nsmultiplexorbinddn").prop('disabled', false);
+ $("#nsmultiplexorcredentials").prop('disabled', false);
+ $("#nsmultiplexorcredentials-confirm").prop('disabled',
false);
+ }
+ });
+
+ //
+ // Modal Forms
+ //
+
+ // Chaining OIDS
+ $("#chain-oid-close").on("click", function() {
+ $("#chaining-oids-form").css('display', 'none');
+ });
+ $("#chaining-oid-cancel").on("click", function() {
+ $("#chaining-oids-form").css('display', 'none');
+ });
+ $("#chaining-oid-button").on("click", function() {
+ // Update oids
+ $("#chaining-oids-form").css('display', 'block');
+ })
+ $("#chaining-oid-save").on("click", function() {
+ // Update oids
+ $("#chaining-oids-form").css('display', 'none');
+ });
+
+ // Chaining Comps
+ $("#chain-comp-close").on("click", function() {
+ $("#chaining-comp-form").css('display', 'none');
+ });
+ $("#chaining-comp-cancel").on("click", function() {
+ $("#chaining-comp-form").css('display', 'none');
+ });
+ $("#chaining-comp-button").on("click", function() {
+ // Update Comps
+ $("#chaining-comp-form").css('display', 'block');
+ })
+ $("#chaining-comp-save").on("click", function() {
+ // Update comps
+ $("#chaining-comp-form").css('display', 'none');
+ });
+
+ // Create DB Link
+ $("#create-chain-close").on("click", function() {
+ $("#create-db-link-form").css('display', 'none');
+ });
+ $("#chaining-cancel").on("click", function() {
+ $("#create-db-link-form").css('display', 'none');
+ });
+ $("#chaining-save").on("click", function() {
+ // Create DB link, if LDAPS is selected replace remotefarmUrl "ldap://"
with "ldaps://", and visa versa to remove ldaps://
+ $("#create-db-link-form").css('display', 'none');
+ });
+
});
});
diff --git a/src/cockpit/389-console/js/plugins.js
b/src/cockpit/389-console/js/plugins.js
index 456a273..75cb843 100644
--- a/src/cockpit/389-console/js/plugins.js
+++ b/src/cockpit/389-console/js/plugins.js
@@ -4,7 +4,11 @@ $(document).ready( function() {
$('#plugin-table').DataTable ( {
"lengthMenu": [[50, 100, -1], [50, 100, "All"]],
"bAutoWidth": false,
- "dom":
'<"pull-left"f><"pull-right"l>tip'
+ "dom":
'<"pull-left"f><"pull-right"l>tip',
+ "columnDefs": [ {
+ "targets": 3,
+ "orderable": false
+ } ]
});
});
});
diff --git a/src/cockpit/389-console/js/replication.js
b/src/cockpit/389-console/js/replication.js
index d3f6d41..efa6b3b 100644
--- a/src/cockpit/389-console/js/replication.js
+++ b/src/cockpit/389-console/js/replication.js
@@ -118,7 +118,11 @@ $(document).ready( function() {
//"lengthMenu": [ 16, 32, 64, 128],
"language": {
"emptyTable": "No agreements configured"
- }
+ },
+ "columnDefs": [ {
+ "targets": 4,
+ "orderable": false
+ } ]
});
// Set up CleanAllRUV Table
@@ -128,7 +132,11 @@ $(document).ready( function() {
"dom":
'<"pull-left"f><"pull-right"l>tip',
"language": {
"emptyTable": "No agreements configured"
- }
+ },
+ "columnDefs": [ {
+ "targets": 3,
+ "orderable": false
+ } ]
});
$('#repl-summary-table').DataTable( {
@@ -144,14 +152,14 @@ $(document).ready( function() {
// Repl Agreement Wizard
$("#agmt-close").on("click", function() {
- $("#agmt-wizard").css('display', 'none');
+ $("#agmt-form").css('display', 'none');
});
$("#agmt-cancel").on("click", function() {
- $("#agmt-wizard").css('display', 'none');
+ $("#agmt-form").css('display', 'none');
});
$("#create-agmt").on("click", function() {
clear_agmt_wizard();
- $("#agmt-wizard").css('display', 'block');
+ $("#agmt-form").css('display', 'block');
});
// Handle disabling/enabling of agmt schedule panel
diff --git a/src/cockpit/389-console/js/schema.js b/src/cockpit/389-console/js/schema.js
index af95bb4..c6727c2 100644
--- a/src/cockpit/389-console/js/schema.js
+++ b/src/cockpit/389-console/js/schema.js
@@ -23,6 +23,7 @@ $(document).ready( function() {
"lengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]]
});
+
$('#custom-oc-table').DataTable ({
"paging": true,
"bAutoWidth": false,
@@ -30,7 +31,11 @@ $(document).ready( function() {
"language": {
"emptyTable": "No custom objectclasses defined"
},
- "lengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]]
+ "lengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]],
+ "columnDefs": [ {
+ "targets": 5,
+ "orderable": false
+ } ]
});
$('#custom-attr-table').DataTable({
"paging": true,
@@ -39,7 +44,11 @@ $(document).ready( function() {
"language": {
"emptyTable": "No custom attributes defined"
},
- "lengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]]
+ "lengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]],
+ "columnDefs": [ {
+ "targets": 7,
+ "orderable": false
+ } ]
});
$('#schema-mr-table').DataTable({
diff --git a/src/cockpit/389-console/js/security.js
b/src/cockpit/389-console/js/security.js
index 7c5aed8..f2c0856 100644
--- a/src/cockpit/389-console/js/security.js
+++ b/src/cockpit/389-console/js/security.js
@@ -58,6 +58,10 @@ $(document).ready( function() {
"language": {
"emptyTable": "No Certificates In Database"
},
+ "columnDefs": [ {
+ "targets": 2,
+ "orderable": false
+ } ]
});
diff --git a/src/cockpit/389-console/js/servers.js
b/src/cockpit/389-console/js/servers.js
index 87770ec..c9e5c3c 100644
--- a/src/cockpit/389-console/js/servers.js
+++ b/src/cockpit/389-console/js/servers.js
@@ -80,7 +80,11 @@ $(document).ready( function() {
"dom":
'<"pull-left"f><"pull-right"l>tip',
"language": {
"emptyTable": "No SASL Mappings"
- }
+ },
+ "columnDefs": [ {
+ "targets": 5,
+ "orderable": false
+ } ]
});
$("#passwordhistory").change(function() {
@@ -201,7 +205,11 @@ $(document).ready( function() {
//"lengthMenu": [ 16, 32, 64, 128],
"language": {
"emptyTable": "No local policies"
- }
+ },
+ "columnDefs": [ {
+ "targets": 2,
+ "orderable": false
+ } ]
});
// Accordion opening/closings
@@ -245,6 +253,19 @@ $(document).ready( function() {
}
}
+ var pwp_acc = document.getElementsByClassName("pwp-accordion");
+ for (var i = 0; i < pwp_acc.length; i++) {
+ pwp_acc[i].onclick = function() {
+ this.classList.toggle("active");
+ var panel = this.nextElementSibling;
+ if (panel.style.display === "block") {
+ panel.style.display = "none";
+ } else {
+ panel.style.display = "block";
+ }
+ }
+ }
+
var localpwp_acc = document.getElementsByClassName("localpwp-accordion");
for (var i = 0; i < localpwp_acc.length; i++) {
localpwp_acc[i].onclick = function() {
diff --git a/src/cockpit/389-console/plugins.html b/src/cockpit/389-console/plugins.html
index 429447c..ed90bc8 100644
--- a/src/cockpit/389-console/plugins.html
+++ b/src/cockpit/389-console/plugins.html
@@ -1,26 +1,258 @@
<div class="ds-plugin-panel">
-<table id="plugin-table" class="display ds-plugin-table"
cellspacing="0">
- <thead class="ds-plugin-header">
- <tr>
- <th>Plugin Name</th>
- <th>Plugin Type</th>
- <th>Enabled</th>
- <th></th>
- </tr>
- </thead>
- <tbody id="plugin-body">
- <tr>
- <td>MemberOf Plugin</td>
- <td>betxnpostoperation</td>
- <td>on</td>
- <td><button class="btn btn-default ds-agmt-dropdown-button"
type="button" id="edit-plugin-2">Edit
Plugin</button></td>
- </tr>
- <tr>
- <td>Replication Plugin</td>
- <td>betxnpostoperation</td>
- <td>on</td>
- <td><button class="btn btn-default ds-agmt-dropdown-button"
type="button" id="edit-plugin-1">Edit
Plugin</button></td>
- </tr>
- </tbody>
-</table>
+ <table id="plugin-table" class="display ds-plugin-table"
cellspacing="0">
+ <thead class="ds-plugin-header">
+ <tr>
+ <th>Plugin Name</th>
+ <th>Plugin Type</th>
+ <th>Enabled</th>
+ <th></th>
+ </tr>
+ </thead>
+ <tbody id="plugin-body">
+ <tr>
+ <td>MemberOf Plugin</td>
+ <td>betxnpostoperation</td>
+ <td>on</td>
+ <td><button class="btn btn-default ds-agmt-dropdown-button"
type="button" id="edit-plugin-2">Edit
Plugin</button></td>
+ </tr>
+ <tr>
+ <td>Replication Plugin</td>
+ <td>betxnpostoperation</td>
+ <td>on</td>
+ <td><button class="btn btn-default ds-agmt-dropdown-button"
type="button" id="edit-plugin-1">Edit
Plugin</button></td>
+ </tr>
+ </tbody>
+ </table>
+
+
+
+ <!-- Modals/Popups/Wizards -->
+
+ <div id="edit-generic-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Edit Plugin</b> <span
class="close"
id="generic-plugin-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="edit-generic-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="edit-generic-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- Automember -->
+ <div id="automember-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Automembership Plugin</b> <span
class="close"
id="automember-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="automember-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="automember-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- Acct Policy ? -->
+ <div id="acct-policy-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Account Policy Plugin</b> <span
class="close"
id="acct-policy-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="acct-policy-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="acct-policy-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- Acct Usability ? -->
+ <div id="acct-use-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Account Usability Plugin</b> <span
class="close"
id="acct-use-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="acct-use-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="acct-use-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- Attr Uniqueness -->
+ <div id="attr-uniq-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Attribute Uniqueness Plugin</b> <span
class="close"
id="attr-uniq-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="attr-uniq-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="attr-uniq-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- Content Sync ? -->
+ <div id="content-sync-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Content Synchronization Plugin</b>
<span class="close"
id="content-sync-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="content-sync-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="content-sync-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- Linked Attrs -->
+ <div id="linked-attrs-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Linked Attributes Plugin</b> <span
class="close"
id="linked-attrs-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="linked-attrs-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="linked-attrs-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- Managed Entries Plugin -->
+ <div id="managed-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Managed Entries Plugin</b> <span
class="close"
id="managed-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="managed-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="managed-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- MemberOf Plugin -->
+ <div id="memberof-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>MemberOf Plugin</b> <span
class="close"
id="memberof-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="memberof-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="memberof-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- RI Plugin -->
+ <div id="ri-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Referential Integrity Plugin</b>
<span class="close"
id="ri-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="ri-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="ri-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- RetroCL Plugin -->
+ <div id="retrocl-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Retro Changelog Plugin</b> <span
class="close"
id="retrocl-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="retrocl-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="retrocl-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <!-- Root DN Access Control plugin -->
+ <div id="rootdn-plugin" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Root DN Access Control Plugin</b>
<span class="close"
id="rootdn-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="rootdn-plugin-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="rootdn-plugin-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
</div>
\ No newline at end of file
diff --git a/src/cockpit/389-console/replication.html
b/src/cockpit/389-console/replication.html
index daa5891..1899395 100644
--- a/src/cockpit/389-console/replication.html
+++ b/src/cockpit/389-console/replication.html
@@ -103,7 +103,7 @@
<button class="btn btn-default ds-repl-managers-buttons"
id="delete-repl-manager">Delete Replication Manager</button>
<p></p>
- <input type="button" class="accordion repl-config-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="repl-config-accordion"
value="Advanced Replication Settings ▼"/>
+ <input type="button" class="accordion repl-config-accordion
ds-accordion-button ds-accordion-spacing" id="repl-config-accordion"
value="Advanced Replication Settings ▼"/>
<div class="ds-accordion-panel">
<div class="ds-container">
<div>
@@ -265,10 +265,10 @@
Replication Agreement wizard
----------------------------------------------------------- -->
- <div id="agmt-wizard" class="modal">
- <form id="agmt-form" class="modal-content animate">
+ <div id="agmt-form" class="modal">
+ <form id="" class="modal-content animate">
<div class="container">
- <h2 id="agmt-wizard-title"><b>Create Replication
Agreement</b></h2>
+ <h2 id="agmt-wizard-title"><b>Create Replication
Agreement</b> <span class="close"
id="agmt-close">×</span> </h2>
<hr class="ds-hr">
<div class="ds-container">
<div>
@@ -278,6 +278,12 @@
class="ds-wiz-input" type="text"
placeholder="Consumer hostname" id="nsds5replicahost"
name="port" required>
<label for="nsds5replicaport" class="ds-config-label"
title="Agreement name (nsDS5ReplicaPort)."><b>Consumer
Port</b></label><input
class="ds-wiz-input" type="text"
placeholder="Consumer port number" id="nsds5replicaport"
name="name" required>
+ <label for="nsds5replicabinddn"
class="ds-config-label" title="Replication Bind DN
(nsDS5ReplicaBindDN)."><b>Replication Bind
DN</b></label><input
+ class="ds-wiz-input" type="text" placeholder="Bind
DN" id="nsds5replicabinddn" name="name" required>
+ <label for="nsds5replicacredentials"
class="ds-config-label" title="Replication Bind DN
(nsDS5ReplicaCredentials)."><b>Replication Bind DN
Credentials</b></label><input
+ class="ds-wiz-input" type="password"
placeholder="Enter password" id="nsds5replicacredentials"
name="name" required>
+ <label for="nsds5replicacredentials-confirm"
class="ds-config-label" title="Confirm password"><b>Confirm
Password</b></label><input
+ class="ds-wiz-input" type="password"
placeholder="Confirm password" id="nsds5replicacredentials-confirm"
name="name" required>
<label for="nsds5replicatransportinfo"
class="ds-config-label" title="Agreement name
(nsDS5ReplicaTransportInfo)."><b>Connection
Protocol</b></label><select
class="btn btn-default dropdown ds-agmt-wiz-dropdown"
id="nsds5replicatransportinfo">
<option>LDAP</option>
@@ -290,12 +296,6 @@
<option>SASL/DIGEST-MD5</option>
<option>SASL/GSSAPI</option>
</select>
- <label for="nsds5replicabinddn"
class="ds-config-label" title="Replication Bind DN
(nsDS5ReplicaBindDN)."><b>Replication Bind
DN</b></label><input
- class="ds-wiz-input" type="text" placeholder="Bind
DN" id="nsds5replicabinddn" name="name" required>
- <label for="nsds5replicacredentials"
class="ds-config-label" title="Replication Bind DN
(nsDS5ReplicaCredentials)."><b>Replication Bind DN
Credentials</b></label><input
- class="ds-wiz-input" type="password"
placeholder="Enter password" id="nsds5replicacredentials"
name="name" required>
- <label for="nsds5replicacredentials-confirm"
class="ds-config-label" title="Confirm password"><b>Confirm
Password</b></label><input
- class="ds-wiz-input" type="password"
placeholder="Confirm password" id="nsds5replicacredentials-confirm"
name="name" required>
</div>
</div>
@@ -429,12 +429,31 @@
</select></p>
</div>
<hr class="ds-hr">
- <div class=" clearfix ds-container"> <!-- class=clearfix
-->
+ <div class="clearfix ds-container">
<div class="ds-panel-left">
<button type="button" id="agmt-cancel"
class="ds-button-left">Cancel</button>
</div>
<div class="ds-panel-right">
- <button type="submit"
class="ds-button-right">Save</button>
+ <button type="submit" id="agmt-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+
+ <div id="cleanallruv" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Create CleanAllRUV Task</b> <span
class="close"
id="create-cleanallruv-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="cleanallruv-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="cleanallruv-save"
class="ds-button-right">Create Task</button>
</div>
</div>
</div>
diff --git a/src/cockpit/389-console/schema.html b/src/cockpit/389-console/schema.html
index e01e23e..4bf6aba 100644
--- a/src/cockpit/389-console/schema.html
+++ b/src/cockpit/389-console/schema.html
@@ -1,132 +1,239 @@
- <div class="ds-fixed ds-buttons">
- <button id="schema-standard-btn" class="btn btn-default ds-button
ds-button-control active">Standard Schema</button>
- <button id="schema-custom-btn" class="btn btn-default ds-button
ds-button-control active">Custom Schema</button>
- <button id="schema-mr-btn" class="btn btn-default ds-button
ds-button-control active">Matching Rules</button>
- <hr>
- <button id="schema-reload" class="btn btn-default
ds-button">Reload Schema Files</button>
+<div class="ds-fixed ds-buttons">
+ <button id="schema-standard-btn" class="btn btn-default ds-button
ds-button-control active">Standard Schema</button>
+ <button id="schema-custom-btn" class="btn btn-default ds-button
ds-button-control active">Custom Schema</button>
+ <button id="schema-mr-btn" class="btn btn-default ds-button
ds-button-control active">Matching Rules</button>
+ <hr>
+ <button id="schema-reload" class="btn btn-default
ds-button">Reload Schema Files</button>
+</div>
+
+<div class="ds-flex" id="schema-content">
+
+ <div id="schema-standard" class="schema-ctrl" hidden>
+ <div class="ds-border">
+ <h2><b>Standard Objectclasses</b><hr
class="ds-hr"></h2>
+ <table id="standard-oc-table" class="display ds-table"
cellspacing="0" width="100%">
+ <thead>
+ <tr class="ds-table-header">
+ <th>Objectclass Name</th>
+ <th>OID</th>
+ <th>Parent</th>
+ <th>Required Attributes</th>
+ <th>Allowed Attributes</th>
+ </tr>
+ </thead>
+ <tbody id="standard-body">
+ <tr>
+ <td>person</td>
+ <td>1.0.34.54.7.2.3.4.3.2</td>
+ <td>top</td>
+ <td>cn givenname sn</td>
+ <td>description uid</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="myborder">
+ <h2><br><b>Standard Attributes</b><hr
class="ds-hr"></h2>
+ <table id="standard-attr-table" class="display ds-table"
cellspacing="0" width="100%">
+ <thead>
+ <tr class="ds-table-header">
+ <th>Attribute Name</th>
+ <th>OID</th>
+ <th>Syntax</th>
+ <th>Multivalued</th>
+ <th>Equality Matching Rules</th>
+ <th>Ordering Matching Rules</th>
+ <th>Substring Matching Rules</th>
+ </tr>
+ </thead>
+ <tbody id="standard-attr-body">
+ </tbody>
+ </table>
+ </div>
</div>
- <div class="ds-flex" id="schema-content">
+ <div id="schema-custom" class="schema-ctrl" hidden>
+ <div class="ds-border">
+ <h2><b>Custom Objectclasses</b><hr
class="ds-hr"></h2>
+ <table id="custom-oc-table" class="display ds-table"
cellspacing="0" width="100%">
+ <thead>
+ <tr class="ds-table-header">
+ <th>Objectclass Name</th>
+ <th>OID</th>
+ <th>Parent</th>
+ <th>Required Attributes</th>
+ <th>Allowed Attributes</th>
+ <th>Action</th>
+ </tr>
+ </thead>
+ <tbody id="custom-body">
+ <tr>
+ <td>InetOrgPerson</td>
+ <td>1.1.1.1.1.1.1.1.1.1</td>
+ <td>top</td>
+ <td>cn</td>
+ <td>sn uid</td>
+ <td>
+ <div class="dropdown">
+ <button class="btn btn-default dropdown-toggle
ds-agmt-dropdown-button" type="button" id="dropdownMenu1"
data-toggle="dropdown">
+ Choose Action...
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu ds-agmt-dropdown"
role="menu" aria-labelledby="dropdownMenu1">
+ <li role=""><a role="menuitem"
tabindex="0" href="#">Edit Objectclass</a></li>
+ <li role=""><a role="menuitem"
tabindex="1" href="#">Delete Objectclass</a></li>
+ </ul>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <button id="create-oc" name="create-oc" class="btn
btn-default ds-button">Create Objectclass</button>
+ </div>
+ <div class="ds-border">
+ <h2><br><b>Custom Attributes</b><hr
class="ds-hr"></h2>
+ <table id="custom-attr-table" class="display ds-table"
cellspacing="0" width="100%">
+ <thead>
+ <tr class="ds-table-header">
+ <th>Attribute Name</th>
+ <th>OID</th>
+ <th>Syntax</th>
+ <th>Multivalued</th>
+ <th>Equality Matching Rules</th>
+ <th>Ordering Matching Rules</th>
+ <th>Substring Matching Rules</th>
+ <th>Action</th>
+ </tr>
+ </thead>
+ <tbody id="custom-attr-body">
+ <td>ssn</td>
+ <td>1.1.1.1.1.1.1.1</td>
+ <td>DirectoryString</td>
+ <td>no</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>
+ <div class="dropdown">
+ <button class="btn btn-default dropdown-toggle
ds-agmt-dropdown-button" type="button" id="dropdownMenu1"
data-toggle="dropdown">
+ Choose Action...
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu ds-agmt-dropdown"
role="menu" aria-labelledby="dropdownMenu1">
+ <li role=""><a role="menuitem"
tabindex="0" href="#">Edit Attribute</a></li>
+ <li role=""><a role="menuitem"
tabindex="1" href="#">Delete Attribute</a></li>
+ </ul>
+ </div>
+ </td>
+ </tbody>
+ </table>
+ <button id="create-at" name="create-at" class="btn
btn-default ds-button">Create Attribute</button>
+ </div>
+ </div>
- <div id="schema-standard" class="schema-ctrl" hidden>
- <div class="ds-border">
- <h2><b>Standard Objectclasses</b><hr
class="ds-hr"></h2>
- <table id="standard-oc-table" class="display ds-table"
cellspacing="0" width="100%">
- <thead>
- <tr class="ds-table-header">
- <th>Objectclass Name</th>
- <th>OID</th>
- <th>Parent</th>
- <th>Required Attributes</th>
- <th>Allowed Attributes</th>
- </tr>
- </thead>
- <tbody id="standard-body">
- <tr>
- <td>person</td>
- <td>1.0.34.54.7.2.3.4.3.2</td>
- <td>top</td>
- <td>cn givenname sn</td>
- <td>description uid</td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="myborder">
- <h2><br><b>Standard Attributes</b><hr
class="ds-hr"></h2>
- <table id="standard-attr-table" class="display ds-table"
cellspacing="0" width="100%">
- <thead>
- <tr class="ds-table-header">
- <th>Attribute Name</th>
- <th>OID</th>
- <th>Syntax</th>
- <th>Multivalued</th>
- <th>Equality Matching Rules</th>
- <th>Ordering Matching Rules</th>
- <th>Substring Matching Rules</th>
- </tr>
- </thead>
- <tbody id="standard-attr-body">
- </tbody>
- </table>
- </div>
+ <div id="schema-mr" class="schema-ctrl" hidden>
+ <div class="ds-border">
+ <h2><b>Matching Rules</b><hr
class="ds-hr"></h2>
+ <table id="schema-mr-table" class="display ds-table"
cellspacing="0" width="100%">
+ <thead>
+ <tr class="ds-table-header">
+ <th>Matching Rule Name</th>
+ <th>OID</th>
+ <th>Syntax</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody id="standard-body">
+ <tr>
+ <td>equality</td>
+ <td>9.5.6.7.3.5.4.45.54.4</td>
+ <td>DirectoryString</td>
+ <td>My really long description for some reason</td>
+ </tr>
+ <tr>
+ <td>equality-2</td>
+ <td>999.5.6.7.3.5.4.45.54.4</td>
+ <td>DirectoryString</td>
+ <td>My really long description for some reason</td>
+ </tr>
+ </tbody>
+ </table>
</div>
+ </div>
- <div id="schema-custom" class="schema-ctrl" hidden>
- <div class="ds-border">
- <h2><b>Custom Objectclasses</b><hr
class="ds-hr"></h2>
- <table id="custom-oc-table" class="display ds-table"
cellspacing="0" width="100%">
- <thead>
- <tr class="ds-table-header">
- <th>Objectclass Name</th>
- <th>OID</th>
- <th>Parent</th>
- <th>Required Attributes</th>
- <th>Allowed Attributes</th>
- </tr>
- </thead>
- <tbody id="custom-body">
- <tr>
- <td>InetOrgPerson</td>
- <td>1.1.1.1.1.1.1.1.1.1</td>
- <td>top</td>
- <td>cn</td>
- <td>sn uid</td>
- </tr>
- </tbody>
- </table>
- <button id="create-oc" name="create-oc" class="btn
btn-default ds-button">Create Objectclass</button>
+
+ <!-- Modals/Popups/Wizards -->
+
+ <div id="add-oc" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Add Objectclass</b> <span
class="close"
id="add-oc-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="add-oc-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="add-oc-save"
class="ds-button-right">Add Objectclass</button>
+ </div>
+ </div>
</div>
- <div class="ds-border">
- <h2><br><b>Custom Attributes</b><hr
class="ds-hr"></h2>
- <table id="custom-attr-table" class="display ds-table"
cellspacing="0" width="100%">
- <thead>
- <tr class="ds-table-header">
- <th>Attribute Name</th>
- <th>OID</th>
- <th>Syntax</th>
- <th>Multivalued</th>
- <th>Equality Matching Rules</th>
- <th>Ordering Matching Rules</th>
- <th>Substring Matching Rules</th>
- </tr>
- </thead>
- <tbody id="custom-attr-body">
- </tbody>
- </table>
- <button id="create-at" name="create-at" class="btn
btn-default ds-button">Create Attribute</button>
+ </form>
+ </div>
+
+ <div id="edit-oc" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Edit Objectclass</b> <span
class="close"
id="edit-oc-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="edit-oc-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="edit-oc-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
</div>
- </div>
+ </form>
+ </div>
- <div id="schema-mr" class="schema-ctrl" hidden>
- <div class="ds-border">
- <h2><b>Matching Rules</b><hr
class="ds-hr"></h2>
- <table id="schema-mr-table" class="display ds-table"
cellspacing="0" width="100%">
- <thead>
- <tr class="ds-table-header">
- <th>Matching Rule Name</th>
- <th>OID</th>
- <th>Syntax</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody id="standard-body">
- <tr>
- <td>equality</td>
- <td>9.5.6.7.3.5.4.45.54.4</td>
- <td>DirectoryString</td>
- <td>My really long description for some reason</td>
- </tr>
- <tr>
- <td>equality-2</td>
- <td>999.5.6.7.3.5.4.45.54.4</td>
- <td>DirectoryString</td>
- <td>My really long description for some reason</td>
- </tr>
- </tbody>
- </table>
+ <div id="add-attr" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Add Attribute</b> <span
class="close"
id="add-attr-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="add-attr-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="add-attr-save"
class="ds-button-right">Add Attribute</button>
+ </div>
+ </div>
</div>
- </div>
+ </form>
+ </div>
+ <div id="edit-attr" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Edit Attribute</b> <span
class="close"
id="edit-attr-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="edit-attr-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="edit-attr-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
</div>
+</div>
diff --git a/src/cockpit/389-console/security.html
b/src/cockpit/389-console/security.html
index c6695b1..c2a5205 100644
--- a/src/cockpit/389-console/security.html
+++ b/src/cockpit/389-console/security.html
@@ -12,9 +12,9 @@
<hr class="ds-hr">
<div class="ds-expired-div" id="cert-attrs">
<label for="nsslapd-secureport" class="ds-config-label"
title="The server's secure port number
(nsslapd-secureport)."><b>Server Secure
Port</b></label><input
- class="ds-input" type="text"
id="nsslapd-secureport" size="40"/>
+ class="ds-input-lrg" type="text"
id="nsslapd-secureport" size="40"/>
<label for="nsslapd-securelistenhost"
class="ds-config-label" title="This parameter can be used to restrict the
Directory Server instance to a single IP interface (hostname, or IP address). This
parameter specifically sets what interface to use for TLS traffic. Requires restart.
(nsslapd-securelistenhost)."><b>Secure Listen Host
Address</b></label><input
- class="ds-input" type="text"
id="nsslapd-securelistenhost" size="40"/>
+ class="ds-input-lrg" type="text"
id="nsslapd-securelistenhost" size="40px"/>
<label for="cipher-area"
class="ds-sec-label"><b>Allowed
Ciphers</b></label><textarea id="cipher-area" rows="5"
cols="100">+all</textarea>
<label for="sec-sslmin" class="ds-sec-label" title="The
minimum SSL/TLS version the server will accept (sslversionmin).">Minimum SSL/TLS
Version </label><select
class="btn btn-default dropdown ds-agmt-wiz-dropdown"
id="sec-sslmin">
@@ -160,6 +160,43 @@
</div>
</div>
+ <!-- Modals/Popups/Wizards -->
+
+ <div id="import-cert" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Import Certificate</b> <span
class="close"
id="import-cert-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="import-cert-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="import-cert-save"
class="ds-button-right">Import Certificate</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <div id="export-cert" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Export Certificate</b> <span
class="close"
id="export-cert-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="export-cert-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="export-cert-save"
class="ds-button-right">Export Certificate</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
</div>
diff --git a/src/cockpit/389-console/servers.html b/src/cockpit/389-console/servers.html
index 99e44f2..b0be424 100644
--- a/src/cockpit/389-console/servers.html
+++ b/src/cockpit/389-console/servers.html
@@ -50,7 +50,7 @@
</div>
<p></p>
- <input type="button" class="accordion config-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="config-accordion"
value="Advanced Settings ▼"/>
+ <input type="button" class="accordion config-accordion
ds-accordion-button ds-accordion-spacing" id="config-accordion"
value="Advanced Settings ▼"/>
<div class="ds-accordion-panel">
<div class="ds-container">
<div class="">
@@ -93,7 +93,7 @@
</div>
<p></p>
- <input type="button" class="accordion rootdn-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="rootdn-accordion"
value="Directory Manager Settings ▼"/>
+ <input type="button" class="accordion rootdn-accordion
ds-accordion-button ds-accordion-spacing" id="rootdn-accordion"
value="Directory Manager Settings ▼"/>
<div class="ds-accordion-panel">
<div>
<label for="nsslapd-rootdn" class="ds-config-label"
title="The DN of the unrestricted directory manager
(nsslapd-rootdn)."><b>Directory Manager DN</b></label><input
@@ -192,152 +192,159 @@
<div id="server-pwpolicy" class="server-cfg-ctrl" hidden>
<h2>Password Policy Management Settings</h2>
<hr class="ds-hr">
- <div class="ds-container">
- <div class="ds-split">
- <h3><br>General Settings</h3>
- <hr class="ds-hr">
- <label for="passwordstoragescheme" class="ds-server-label"
title="Set the password storage scheme (passwordstoragescheme).">Password
Storage Scheme</label><select
- class="btn btn-default dropdown ds-passwd-dropdown"
id="passwordstoragescheme">
- <option>PBKDF2_SHA256</option>
- <option>SSHA512</option>
- <option>SSHA384</option>
- <option>SSHA256</option>
- <option>SSHA</option>
- <option>NS-MTA-MD5</option>
- <option>MD5</option>
- <option>SMD5</option>
- <option>CRYPT-MD5</option>
- <option>CRYPT-SHA512</option>
- <option>CRYPT-SHA256</option>
- <option>CRYPT</option>
- <option>CLEAR</option>
- </select>
- <input type="checkbox" class="ds-config-checkbox"
id="nsslapd-pwpolicy-local" checked><label
- for="nsslapd-pwpolicy-local" class="ds-label"
title="Allow subtree/user defined password policies
(nsslapd-pwpolicy-local)."> Allow Local Password Policies</label>
- <input type="checkbox" class="ds-config-checkbox"
id="nsslapd-pwpolicy-inherit-global" checked><label
- for="nsslapd-pwpolicy-inherit-global" class="ds-label"
title=
- "If a local password policy does not defined any syntax rules then inherit
the local policy syntax (nsslapd-pwpolicy-inherit-global)."> Local Policy Inherits
Global Policy</label>
- <input type="checkbox" class="ds-config-checkbox"
id="nsslapd-allow-hashed-passwords"><label
- for="nsslapd-allow-hashed-passwords" class="ds-label"
title="Allow anyone to add a prehashed password
(nsslapd-allow-hashed-passwords)."> Allow Adding Pre-Hashed
Passwords</label>
- <input type="checkbox" class="ds-config-checkbox"
id="passwordisglobalpolicy" checked><label
- for="passwordisglobalpolicy" class="ds-label"
title="Allow password policy state attributes to replicate
(passwordIsGlobalPolicy)."> Replicate Password Policy State
Attributes</label>
- <input type="checkbox" class="ds-config-checkbox"
id="passwordtrackupdatetime" checked><label
- for="passwordtrackupdatetime" class="ds-label" title=
- "Record a separate timestamp specifically for the last time that the
password for an entry was changed. If this is enabled, then it adds the pwdUpdateTime
operational attribute to the user account entry (passwordTrackUpdateTime)."> Track
Password Update Time</label>
- <label for="passwordAdminDN" class="ds-server-label"
title="The DN for a password administrator or administrator group
(passwordAdminDN)">Password Administrator</label><input
- class="ds-input" type="text" id="passwordAdminDN"
size="40"/>
- </div>
- <div class="ds-divider"></div>
- <div class="ds-split">
- <h3><br>User Password Settings</h3>
- <hr class="ds-hr">
- <input type="checkbox" class="ds-config-checkbox"
id="passwordchange" checked><label
- for="passwordchange" class="ds-label" title="Allow
user's to change their passwords (passwordChange)."> Allow Users To Change
Their Passwords</label>
- <input type="checkbox" class="ds-config-checkbox"
id="passwordmustchange" checked><label
- for="passwordmustchange" class="ds-label" title="User
must change its password after its been reset by an administrator
(passwordMustChange).">User Must Change Password After Reset</label>
- <input type="checkbox" class="ds-config-checkbox"
id="passwordhistory" checked><label
- for="passwordhistory" class="ds-label" title="Maintain
a password history (passwordHistory).">Keep Password History</label>
- <input class="ds-history-input" type="text"
id="passwordinhistory" size="2"/>Passwords In History
- <label for="passwordminage" class="ds-minage-label"
title="Indicates the number of seconds that must pass before a user can change their
password. (passwordMinAge)">Allow Password Changes (in
seconds)</label><input
- class="ds-input" type="text" id="passwordminage"
size="10"/>
- <p></p>
- </div>
- </div>
- <div class="ds-container">
- <div class="ds-split">
- <h3><br>Password Expiration Settings</h3>
- <hr class="ds-hr">
- <input type="checkbox" class="ds-config-checkbox"
id="passwordexp" checked><label
- for="passwordexp" class="ds-label" title="Enable a
password expiration policy (passwordExp).">Enable Password
Expiration</label>
- <div class="ds-expired-div" id="expiration-attrs">
- <label for="passwordmaxage" class="ds-expire-label"
title="The server's local hostname (passwordMaxAge)."><b>Password
Expiration Time (in seconds)</b></label><input
- class="ds-input" type="text"
id="passwordmaxage" size="5"/>
- <label for="passwordgracelimit" class="ds-expire-label"
title="The server's local hostname
(passwordGraceLimit)."><b>Allowed Logins After Password
Expires</b></label><input
- class="ds-input" type="text"
id="passwordgracelimit" size="5"/>
- <label for="passwordwarning" class="ds-expire-label"
title="Set the time (in seconds), before a password is about to expire, to send a
warning. (passwordWarning)."><b>Send Password Expiring Warning (in
seconds)</b></label><input
- class="ds-input" type="text"
id="passwordwarning" size="5"/>
- <input type="checkbox" class="ds-send-expiring-checkbox"
id="passwordsendexpiringtime"><label
- for="passwordsendexpiringtime" class="ds-label"
title="Always return a password expiring control when requested
(passwordSendExpiringTime).">Always Send <i>Password Expiring</i>
Control</label>
+ <p></p>
+
+ <input type="button" class="accordion pwp-accordion
ds-accordion-button ds-accordion-spacing" id="pwd-accordion"
value="Global Password Policy ▼" title=
+ "Configure the global password policy settings"/>
+ <div class="ds-accordion-panel">
+ <div class="ds-container">
+ <div class="ds-split">
+ <h3>General Settings</h3>
+ <hr class="ds-hr">
+ <label for="passwordstoragescheme"
class="ds-server-label" title="Set the password storage scheme
(passwordstoragescheme).">Password Storage Scheme</label><select
+ class="btn btn-default dropdown ds-passwd-dropdown"
id="passwordstoragescheme">
+ <option>PBKDF2_SHA256</option>
+ <option>SSHA512</option>
+ <option>SSHA384</option>
+ <option>SSHA256</option>
+ <option>SSHA</option>
+ <option>NS-MTA-MD5</option>
+ <option>MD5</option>
+ <option>SMD5</option>
+ <option>CRYPT-MD5</option>
+ <option>CRYPT-SHA512</option>
+ <option>CRYPT-SHA256</option>
+ <option>CRYPT</option>
+ <option>CLEAR</option>
+ </select>
+ <input type="checkbox" class="ds-config-checkbox"
id="nsslapd-pwpolicy-local" checked><label
+ for="nsslapd-pwpolicy-local" class="ds-label"
title="Allow subtree/user defined password policies
(nsslapd-pwpolicy-local)."> Allow Local Password Policies</label>
+ <input type="checkbox" class="ds-config-checkbox"
id="nsslapd-pwpolicy-inherit-global" checked><label
+ for="nsslapd-pwpolicy-inherit-global" class="ds-label"
title=
+ "If a local password policy does not defined any syntax rules then
inherit the local policy syntax (nsslapd-pwpolicy-inherit-global)."> Local Policy
Inherits Global Policy</label>
+ <input type="checkbox" class="ds-config-checkbox"
id="nsslapd-allow-hashed-passwords"><label
+ for="nsslapd-allow-hashed-passwords" class="ds-label"
title="Allow anyone to add a prehashed password
(nsslapd-allow-hashed-passwords)."> Allow Adding Pre-Hashed
Passwords</label>
+ <input type="checkbox" class="ds-config-checkbox"
id="passwordisglobalpolicy" checked><label
+ for="passwordisglobalpolicy" class="ds-label"
title="Allow password policy state attributes to replicate
(passwordIsGlobalPolicy)."> Replicate Password Policy State
Attributes</label>
+ <input type="checkbox" class="ds-config-checkbox"
id="passwordtrackupdatetime" checked><label
+ for="passwordtrackupdatetime" class="ds-label" title=
+ "Record a separate timestamp specifically for the last time that the
password for an entry was changed. If this is enabled, then it adds the pwdUpdateTime
operational attribute to the user account entry (passwordTrackUpdateTime)."> Track
Password Update Time</label>
+ <label for="passwordAdminDN" class="ds-server-label"
title="The DN for a password administrator or administrator group
(passwordAdminDN)">Password Administrator</label><input
+ class="ds-input" type="text"
id="passwordAdminDN" size="40"/>
+ </div>
+ <div class="ds-divider"></div>
+ <div class="ds-split">
+ <h3>User Password Settings</h3>
+ <hr class="ds-hr">
+ <input type="checkbox" class="ds-config-checkbox"
id="passwordchange" checked><label
+ for="passwordchange" class="ds-label" title="Allow
user's to change their passwords (passwordChange)."> Allow Users To Change
Their Passwords</label>
+ <input type="checkbox" class="ds-config-checkbox"
id="passwordmustchange" checked><label
+ for="passwordmustchange" class="ds-label"
title="User must change its password after its been reset by an administrator
(passwordMustChange).">User Must Change Password After Reset</label>
+ <input type="checkbox" class="ds-config-checkbox"
id="passwordhistory" checked><label
+ for="passwordhistory" class="ds-label"
title="Maintain a password history (passwordHistory).">Keep Password
History</label>
+ <input class="ds-history-input" type="text"
id="passwordinhistory" size="2"/>Passwords In History
+ <label for="passwordminage" class="ds-minage-label"
title="Indicates the number of seconds that must pass before a user can change their
password. (passwordMinAge)">Allow Password Changes (in
seconds)</label><input
+ class="ds-input" type="text" id="passwordminage"
size="10"/>
+ <p></p>
</div>
</div>
- <div class="ds-divider"></div>
- <div class="ds-split">
- <h3><br>Account Lockout Settings</h3>
- <hr class="ds-hr">
- <input type="checkbox" class="ds-config-checkbox"
id="passwordlockout" checked><label
- for="passwordlockout" class="ds-label" title="Enable
account lockout (passwordLockout).">Enable Account Lockout</label>
- <div class="ds-expired-div" id="lockout-attrs">
- <label for="passwordmaxfailure" class="ds-expire-label"
title=
- "The maximum number of failed logins before account gets locked
(passwordMaxFailure)."><b>Number of Failed Logins to Lockout
Account</b></label><input
- class="ds-input" type="text"
id="passwordmaxfailure" size="5"/>
- <label for="passwordresetfailurecount"
class="ds-expire-label" title=
- "The number of seconds until an accounts failure count is reset
(passwordResetFailureCount)."><b>Time Before Failure Count Reset
</b></label><input
- class="ds-input" type="text"
id="passwordresetfailurecount" size="5"/>
- <div>
- <label title="Lock out the account forever
(passwordUnlock)."><input
- class="ds-radio" type="radio"
id="passwordunlock" value="passwordunlock"
name="account-lockout" checked="checked"> Lockout Account
Forever</label>
- <label title="The number of seconds before account gets unlocked
(passwordLockoutDuration)."><input
- class="ds-radio" type="radio"
name="account-lockout" value="passwordlockoutduration"> Time Until
Account Unlocked <input
- class="ds-input" type="text"
id="passwordlockoutduration" size="5"/></label>
+ <div class="ds-container">
+ <div class="ds-split">
+ <h3><br>Password Expiration Settings</h3>
+ <hr class="ds-hr">
+ <input type="checkbox" class="ds-config-checkbox"
id="passwordexp" checked><label
+ for="passwordexp" class="ds-label" title="Enable a
password expiration policy (passwordExp).">Enable Password
Expiration</label>
+ <div class="ds-expired-div" id="expiration-attrs">
+ <label for="passwordmaxage" class="ds-expire-label"
title="The server's local hostname (passwordMaxAge)."><b>Password
Expiration Time (in seconds)</b></label><input
+ class="ds-input" type="text"
id="passwordmaxage" size="5"/>
+ <label for="passwordgracelimit"
class="ds-expire-label" title="The server's local hostname
(passwordGraceLimit)."><b>Allowed Logins After Password
Expires</b></label><input
+ class="ds-input" type="text"
id="passwordgracelimit" size="5"/>
+ <label for="passwordwarning" class="ds-expire-label"
title="Set the time (in seconds), before a password is about to expire, to send a
warning. (passwordWarning)."><b>Send Password Expiring Warning (in
seconds)</b></label><input
+ class="ds-input" type="text"
id="passwordwarning" size="5"/>
+ <input type="checkbox"
class="ds-send-expiring-checkbox"
id="passwordsendexpiringtime"><label
+ for="passwordsendexpiringtime" class="ds-label"
title="Always return a password expiring control when requested
(passwordSendExpiringTime).">Always Send <i>Password Expiring</i>
Control</label>
</div>
</div>
- <p></p>
+ <div class="ds-divider"></div>
+ <div class="ds-split">
+ <h3><br>Account Lockout Settings</h3>
+ <hr class="ds-hr">
+ <input type="checkbox" class="ds-config-checkbox"
id="passwordlockout" checked><label
+ for="passwordlockout" class="ds-label" title="Enable
account lockout (passwordLockout).">Enable Account Lockout</label>
+ <div class="ds-expired-div" id="lockout-attrs">
+ <label for="passwordmaxfailure"
class="ds-expire-label" title=
+ "The maximum number of failed logins before account gets locked
(passwordMaxFailure)."><b>Number of Failed Logins to Lockout
Account</b></label><input
+ class="ds-input" type="text"
id="passwordmaxfailure" size="5"/>
+ <label for="passwordresetfailurecount"
class="ds-expire-label" title=
+ "The number of seconds until an accounts failure count is reset
(passwordResetFailureCount)."><b>Time Before Failure Count Reset
</b></label><input
+ class="ds-input" type="text"
id="passwordresetfailurecount" size="5"/>
+ <div>
+ <label title="Lock out the account forever
(passwordUnlock)."><input
+ class="ds-radio" type="radio"
id="passwordunlock" value="passwordunlock"
name="account-lockout" checked="checked"> Lockout Account
Forever</label>
+ <label title="The number of seconds before account gets unlocked
(passwordLockoutDuration)."><input
+ class="ds-radio" type="radio"
name="account-lockout" value="passwordlockoutduration"> Time Until
Account Unlocked <input
+ class="ds-input" type="text"
id="passwordlockoutduration" size="5"/></label>
+ </div>
+ </div>
+ <p></p>
+ </div>
</div>
- </div>
- <h3><br>Password Syntax Settings</h3>
- <hr class="ds-hr">
- <input type="checkbox" class="ds-config-checkbox"
id="passwordchecksyntax" checked><label
- for="passwordchecksyntax" class="ds-label" title="Enable
account lockout (passwordCheckSyntax).">Check Password Syntax</label>
- <div class="ds-container ds-expired-div"
id="syntax-attrs">
- <div>
- <label for="passwordminlength" class="ds-expire-label"
title=
- "The minimum number of characters in the password
(passwordMinLength)."><b>Password Minimum Length
</b></label><input
- class="ds-input" type="text"
id="passwordminlength" size="5"/>
- <label for="passwordmindigits" class="ds-expire-label"
title=
- "Reject passwords with fewer than this many digit characters (0-9)
(passwordMinDigits)."><b>Minimum Digit Characters
</b></label><input
- class="ds-input" type="text"
id="passwordmindigits" size="5"/>
- <label for="passwordmindigits" class="ds-expire-label"
title=
- "Reject passwords with fewer than this many alpha characters
(passwordMinAlphas)."><b>Minimum Alpha Characters
</b></label><input
- class="ds-input" type="text"
id="passwordminalphas" size="5"/>
- <label for="passwordminuppers" class="ds-expire-label"
title=
- "Reject passwords with fewer than this many uppercase characters
(passwordMinUppers)."><b>Minimum Uppercase Characters
</b></label><input
- class="ds-input" type="text"
id="passwordminuppers" size="5"/>
- <label for="passwordminlowers" class="ds-expire-label"
title=
- "Reject passwords with fewer than this many lowercase characters
(passwordMinLowers)."><b>Minimum Lowercase Characters
</b></label><input
- class="ds-input" type="text"
id="passwordminlowers" size="5"/>
- </div>
- <div class="ds-divider"></div>
- <div class="ds-divider"></div>
- <div class="ds-divider"></div>
- <div>
- <label for="passwordminspecials" class="ds-expire-label"
title=
- "Reject passwords with fewer than this many special non-alphanumeric
characters (passwordMinSpecials)."><b>Minimum Special Characters
</b></label><input
- class="ds-input" type="text"
id="passwordminspecials" size="5"/>
- <label for="passwordmin8bit" class="ds-expire-label"
title=
- "Reject passwords with fewer than this many 8-bit or multi-byte characters
(passwordMin8Bit)."><b>Minimum 8-bit Characters
</b></label><input
- class="ds-input" type="text" id="passwordmin8bit"
size="5"/>
- <label for="passwordmaxrepeats" class="ds-expire-label"
title=
- "The maximum number of times the same character can sequentially appear in
a password (passwordMaxRepeats)."><b>Maximum Number Of Repeated Characters
</b></label><input
- class="ds-input" type="text"
id="passwordmaxrepeats" size="5"/>
- <label for="passwordmincategories" class="ds-expire-label"
title=
- "The minimum number of character categories that a password must contain
(categories are upper, lower, digit, special, and 8-bit)
(passwordMinCategories)."><b>Minimum Required Character Categories
</b></label><input
- class="ds-input" type="text"
id="passwordmincategories" size="5"/>
- <label for="passwordmintokenlength"
class="ds-expire-label" title=
- "The smallest attribute value used when checking if the password contains
any of the user's account information
(passwordMinTokenLength)."><b>Minimum Token Length
</b></label><input
- class="ds-input" type="text"
id="passwordmintokenlength" size="5"/>
+ <h3><br>Password Syntax Settings</h3>
+ <hr class="ds-hr">
+ <input type="checkbox" class="ds-config-checkbox"
id="passwordchecksyntax" checked><label
+ for="passwordchecksyntax" class="ds-label" title="Enable
account lockout (passwordCheckSyntax).">Check Password Syntax</label>
+ <div class="ds-container ds-expired-div"
id="syntax-attrs">
+ <div>
+ <label for="passwordminlength" class="ds-expire-label"
title=
+ "The minimum number of characters in the password
(passwordMinLength)."><b>Password Minimum Length
</b></label><input
+ class="ds-input" type="text"
id="passwordminlength" size="5"/>
+ <label for="passwordmindigits" class="ds-expire-label"
title=
+ "Reject passwords with fewer than this many digit characters (0-9)
(passwordMinDigits)."><b>Minimum Digit Characters
</b></label><input
+ class="ds-input" type="text"
id="passwordmindigits" size="5"/>
+ <label for="passwordmindigits" class="ds-expire-label"
title=
+ "Reject passwords with fewer than this many alpha characters
(passwordMinAlphas)."><b>Minimum Alpha Characters
</b></label><input
+ class="ds-input" type="text"
id="passwordminalphas" size="5"/>
+ <label for="passwordminuppers" class="ds-expire-label"
title=
+ "Reject passwords with fewer than this many uppercase characters
(passwordMinUppers)."><b>Minimum Uppercase Characters
</b></label><input
+ class="ds-input" type="text"
id="passwordminuppers" size="5"/>
+ <label for="passwordminlowers" class="ds-expire-label"
title=
+ "Reject passwords with fewer than this many lowercase characters
(passwordMinLowers)."><b>Minimum Lowercase Characters
</b></label><input
+ class="ds-input" type="text"
id="passwordminlowers" size="5"/>
+ </div>
+ <div class="ds-divider"></div>
+ <div class="ds-divider"></div>
+ <div class="ds-divider"></div>
+ <div>
+ <label for="passwordminspecials" class="ds-expire-label"
title=
+ "Reject passwords with fewer than this many special non-alphanumeric
characters (passwordMinSpecials)."><b>Minimum Special Characters
</b></label><input
+ class="ds-input" type="text"
id="passwordminspecials" size="5"/>
+ <label for="passwordmin8bit" class="ds-expire-label"
title=
+ "Reject passwords with fewer than this many 8-bit or multi-byte
characters (passwordMin8Bit)."><b>Minimum 8-bit Characters
</b></label><input
+ class="ds-input" type="text"
id="passwordmin8bit" size="5"/>
+ <label for="passwordmaxrepeats" class="ds-expire-label"
title=
+ "The maximum number of times the same character can sequentially appear
in a password (passwordMaxRepeats)."><b>Maximum Number Of Repeated
Characters </b></label><input
+ class="ds-input" type="text"
id="passwordmaxrepeats" size="5"/>
+ <label for="passwordmincategories"
class="ds-expire-label" title=
+ "The minimum number of character categories that a password must contain
(categories are upper, lower, digit, special, and 8-bit)
(passwordMinCategories)."><b>Minimum Required Character Categories
</b></label><input
+ class="ds-input" type="text"
id="passwordmincategories" size="5"/>
+ <label for="passwordmintokenlength"
class="ds-expire-label" title=
+ "The smallest attribute value used when checking if the password
contains any of the user's account information
(passwordMinTokenLength)."><b>Minimum Token Length
</b></label><input
+ class="ds-input" type="text"
id="passwordmintokenlength" size="5"/>
+ </div>
+ <p></p>
</div>
<p></p>
+ <hr class="ds-hr">
+ <button type="submit" class="ds-button" title="Save
global password policy settings">Save</button>
+ <p></p>
+ <p></p>
</div>
- <p></p>
- <hr class="ds-hr">
- <button type="submit"
class="ds-button">Save</button>
- <p></p>
- <p></p>
- <input type="button" class="accordion localpwp-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="localpwd-accordion"
value="Local Password Policies ▼"/>
+ <input type="button" class="accordion localpwp-accordion
ds-accordion-button ds-accordion-spacing" id="localpwd-accordion"
value="Local Password Policies ▼" title=
+ "Configure User/Subtree local password policies"/>
<div class="ds-accordion-panel">
- <div class="ds-container3">
+ <div class="">
<table id="passwd-policy-table" class="display
ds-repl-table" cellspacing="0" width="100%">
<thead>
<tr class="ds-table-header">
@@ -379,7 +386,7 @@
<p></p>
<!-- Access logging -->
- <input type="button" class="accordion log-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="access-accordion"
value="Access Log Settings ▼"/>
+ <input type="button" class="accordion log-accordion
ds-accordion-button ds-accordion-spacing" id="access-accordion"
value="Access Log Settings ▼"/>
<div class="ds-accordion-panel">
<input type="checkbox" class="ds-config-checkbox"
id="nsslapd-accesslog-logging-enabled" checked><label
for="nsslapd-accesslog-logging-enabled" class="ds-label"
title="Enable access logging (nsslapd-accesslog-logging-enabled)."> Enable
Access Logging</label>
@@ -439,7 +446,7 @@
</div>
<!-- Error logging -->
- <input type="button" class="accordion log-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="error-accordion"
value="Errors Log Settings ▼"/>
+ <input type="button" class="accordion log-accordion
ds-accordion-button ds-accordion-spacing" id="error-accordion"
value="Errors Log Settings ▼"/>
<div class="ds-accordion-panel">
<input type="checkbox" class="ds-config-checkbox"
id="nsslapd-errorlog-logging-enabled" checked><label
for="nsslapd-errorlog-logging-enabled" class="ds-label"
title="Enable error logging (nsslapd-errorlog-logging-enabled)."> Enable
Error Logging</label>
@@ -510,7 +517,7 @@
</div>
<!-- Audit logging -->
- <input type="button" class="accordion log-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="audit-accordion"
value="Audit Log Settings ▼"/>
+ <input type="button" class="accordion log-accordion
ds-accordion-button ds-accordion-spacing" id="audit-accordion"
value="Audit Log Settings ▼"/>
<div class="ds-accordion-panel">
<input type="checkbox" class="ds-config-checkbox"
id="nsslapd-auditlog-logging-enabled" checked><label
for="nsslapd-auditlog-logging-enabled" class="ds-label"
title="Enable audit logging (nsslapd-auditlog-logging-enabled)."> Enable
Audit Logging</label>
@@ -557,7 +564,7 @@
</div>
<!-- Auditfail logging -->
- <input type="button" class="accordion log-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="audit-accordion"
value="Audit Failure Log Settings ▼"/>
+ <input type="button" class="accordion log-accordion
ds-accordion-button ds-accordion-spacing" id="audit-accordion"
value="Audit Failure Log Settings ▼"/>
<div class="ds-accordion-panel">
<input type="checkbox" class="ds-config-checkbox"
id="nsslapd-auditfaillog-logging-enabled" checked><label
for="nsslapd-auditfaillog-logging-enabled" class="ds-label"
title="Enable audit failure logging (nsslapd-auditfaillog-logging-enabled).">
Enable Audit Failure Logging</label>
@@ -662,7 +669,7 @@
</div>
<p></p>
- <input type="button" class="accordion adv-config-accordion
ds-agmt-wiz-button ds-accordion-spacing" id="adv-config-accordion"
value="Advanced Settings ▼"/>
+ <input type="button" class="accordion adv-config-accordion
ds-accordion-button ds-accordion-spacing" id="adv-config-accordion"
value="Advanced Settings ▼"/>
<div class="ds-accordion-panel">
<div class="ds-container">
<div>
@@ -741,6 +748,97 @@
</div>
</div>
+ <!-- Modals/Popups/Wizards -->
+
+ <div id="create-inst" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Create Server Instance</b> <span
class="close"
id="create-inst-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="create-inst-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="create-inst-save"
class="ds-button-right">Create Instance</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <div id="create-sasl-map" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Create SASL Mapping</b> <span
class="close"
id="create-sasl-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="create-sasl-map-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="create-sasl-map-save"
class="ds-button-right">Create Mapping</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <div id="edit-sasl-map" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Create Sub Suffix</b> <span
class="close"
id="edit-sasl-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="edit-sasl-map-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="edit-sasl-map-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <div id="create-local-pwp" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Create Local Password Policy</b>
<span class="close"
id="create-local-pwp-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="create-local-pwp-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="create-local-pwp-save"
class="ds-button-right">Create Policy</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ <div id="edit-local-pwp" class="modal">
+ <form class="modal-content animate">
+ <div class="container">
+ <h2 id=""><b>Edit Local Password Policy</b> <span
class="close"
id="edit-local-pwp-close">×</span></h2>
+ <hr class="ds-hr">
+
+ <div class="clearfix ds-container">
+ <div class="ds-panel-left">
+ <button type="button" id="edit-local-pwp-cancel"
class="ds-button-left">Cancel</button>
+ </div>
+ <div class="ds-panel-right">
+ <button type="submit" id="edit-local-pwp-save"
class="ds-button-right">Save</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
</div>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.