summaryrefslogtreecommitdiff
path: root/plugins/acl/acl.js
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-07-20 12:52:59 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-07-20 12:52:59 +0000
commit1a6d8448ec92a6ef6e4eb642eba48695cfe07f1c (patch)
tree4b5b5db20e6764dba35c323de8985be625304d62 /plugins/acl/acl.js
parentf2f4319680dfb181c63fe98b066e811fd213aa31 (diff)
- Add user identifier autocomplete feature (LDAP only)
git-svn-id: https://svn.roundcube.net/trunk@4943 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'plugins/acl/acl.js')
-rw-r--r--plugins/acl/acl.js20
1 files changed, 18 insertions, 2 deletions
diff --git a/plugins/acl/acl.js b/plugins/acl/acl.js
index 300fd7220..1ad25576c 100644
--- a/plugins/acl/acl.js
+++ b/plugins/acl/acl.js
@@ -1,14 +1,30 @@
/**
* ACL plugin script
*
- * @version 0.3
+ * @version 0.4
* @author Aleksander Machniak <alec@alec.pl>
*/
if (window.rcmail) {
rcmail.addEventListener('init', function() {
- if (rcmail.gui_objects.acltable)
+ if (rcmail.gui_objects.acltable) {
rcmail.acl_list_init();
+ // enable autocomplete on user input
+ if (rcmail.env.acl_users_source) {
+ rcmail.init_address_input_events($('#acluser'), 'plugin.acl-autocomplete');
+ // fix inserted value
+ rcmail.addEventListener('autocomplete_insert', function(e) {
+ if (e.field.id != 'acluser')
+ return;
+
+ var value = e.insert;
+ // get UID from the entry value
+ if (value.match(/\s*\(([^)]+)\)[, ]*$/))
+ value = RegExp.$1;
+ e.field.value = value;
+ });
+ }
+ }
rcmail.enable_command('acl-create', 'acl-save', 'acl-cancel', 'acl-mode-switch', true);
rcmail.enable_command('acl-delete', 'acl-edit', false);