From 06136f1d5f2ca33cdcbabdfecc5dc221d7082a3d Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Thu, 25 May 2017 11:40:06 +0200 Subject: [PATCH] custom fields selection with LDAP search --- lam/HISTORY | 1 + lam/docs/manual-sources/chapter-modules.xml | 33 +++++++++++++++++ .../manual-sources/chapter-selfService.xml | 35 +++++++++++++++++- .../manual-sources/images/customFields26.png | Bin 0 -> 26417 bytes .../manual-sources/images/customFields27.png | Bin 0 -> 4096 bytes 5 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 lam/docs/manual-sources/images/customFields26.png create mode 100644 lam/docs/manual-sources/images/customFields27.png diff --git a/lam/HISTORY b/lam/HISTORY index 3ed43879..039e8df4 100644 --- a/lam/HISTORY +++ b/lam/HISTORY @@ -5,6 +5,7 @@ June 2017 - Windows: Support unlocking of users with too many failed login attempts - LAM Pro: -> Custom fields: can be used for file upload + -> Custom fields: new selection list type that gets options from LDAP search -> Kopano support diff --git a/lam/docs/manual-sources/chapter-modules.xml b/lam/docs/manual-sources/chapter-modules.xml index 4315b061..fa958423 100644 --- a/lam/docs/manual-sources/chapter-modules.xml +++ b/lam/docs/manual-sources/chapter-modules.xml @@ -5026,6 +5026,39 @@ OK (10 msec) + LDAP search select list + + This is similar to "Select list" but the option are read from LDAP. + You can use this to define e.g. a DN selection list. Multiple values are + supported. + + + + + + + + + + LDAP suffix: The LDAP DN that is used as starting point to search + for LDAP entries. + + LDAP filter: Only LDAP entries that match this filter will be used. + If all entries should be used then use "(objectclass=*)". + + Attribute name: The values of this attribute will be used to build + the selection list. + + Presentation: + + + + + + + + + Validation expressions: diff --git a/lam/docs/manual-sources/chapter-selfService.xml b/lam/docs/manual-sources/chapter-selfService.xml index 1db39f42..ed08f35c 100644 --- a/lam/docs/manual-sources/chapter-selfService.xml +++ b/lam/docs/manual-sources/chapter-selfService.xml @@ -1262,7 +1262,7 @@
- Custom fields (LAM Pro) + Custom fields This module allows you to manage LDAP attributes that are not covered by the other LAM modules (e.g. if you use custom LDAP schemas). @@ -1516,6 +1516,39 @@ + LDAP search select list + + This is similar to "Select list" but the option are read from + LDAP. You can use this to define e.g. a DN selection list. Multiple + values are supported. + + + + + + + + + + LDAP suffix: The LDAP DN that is used as starting point to search + for LDAP entries. + + LDAP filter: Only LDAP entries that match this filter will be + used. If all entries should be used then use "(objectclass=*)". + + Attribute name: The values of this attribute will be used to build + the selection list. + + Presentation: + + + + + + + + + Validation expressions: diff --git a/lam/docs/manual-sources/images/customFields26.png b/lam/docs/manual-sources/images/customFields26.png new file mode 100644 index 0000000000000000000000000000000000000000..13e55a001a134cbfc4e06fa9f0db6d3cfce194c3 GIT binary patch literal 26417 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
)m-X-)yp2IO5PV+-i_iqFdq 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 Qm)?L>6}1$qHcYo2}#2CT|I(o_)_Frgd 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