diff options
author | Aleksander Machniak <alec@alec.pl> | 2012-03-22 10:10:35 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2012-03-22 10:10:35 +0100 |
commit | 4d901b663d456917c163e4968383e1b99ad96e18 (patch) | |
tree | 9ba230614a5f76eec83ebfe4e689303f44af6a7c | |
parent | 7e4ebf0372681d8ed18749d52f920b4cbfd95644 (diff) | |
download | webadmin-4d901b663d456917c163e4968383e1b99ad96e18.tar.gz |
Implement groups search (UI)
-rw-r--r-- | lib/client/kolab_client_task_group.php | 48 | ||||
-rw-r--r-- | public_html/skins/default/templates/group.html | 4 | ||||
-rw-r--r-- | public_html/skins/default/templates/user.html | 2 | ||||
-rw-r--r-- | public_html/skins/default/ui.js | 8 |
4 files changed, 45 insertions, 17 deletions
diff --git a/lib/client/kolab_client_task_group.php b/lib/client/kolab_client_task_group.php index 821d438..dd6e0e4 100644 --- a/lib/client/kolab_client_task_group.php +++ b/lib/client/kolab_client_task_group.php @@ -61,7 +61,6 @@ class kolab_client_task_group extends kolab_client_task 'page' => $page, ); -/* // search parameters if (!empty($_POST['search'])) { $search = self::get_input('search', 'POST', true); @@ -84,7 +83,7 @@ class kolab_client_task_group extends kolab_client_task $post['search'] = $search_request; $post['search_operator'] = 'OR'; } -*/ + // get groups list $result = $this->api->post('groups.list', null, $post); $count = (int) $result->get('count'); @@ -178,14 +177,6 @@ class kolab_client_task_group extends kolab_client_task } /** - * Group search action. - */ - public function search_form() - { - return ''; - } - - /** * Groups adding (form) action. */ public function action_add() @@ -219,6 +210,7 @@ class kolab_client_task_group extends kolab_client_task 'gidnumber' => 'system', 'mail' => 'system', 'uniquemember' => 'system', + 'memberurl' => 'system', ); // Prepare fields @@ -323,4 +315,40 @@ $fields['debug'] = array( return $_SESSION['group_types']; } + + /** + * Users search form. + * + * @return string HTML output of the form + */ + public function search_form() + { + $form = new kolab_form(array('id' => 'search-form')); + + $form->add_section('criteria', kolab_html::escape($this->translate('search.criteria'))); + $form->add_element(array( + 'section' => 'criteria', + 'label' => $this->translate('search.field'), + 'name' => 'field', + 'type' => kolab_form::INPUT_SELECT, + 'options' => array( + 'cn' => kolab_html::escape($this->translate('search.name')), + 'mail' => kolab_html::escape($this->translate('search.email')), + ), + )); + $form->add_element(array( + 'section' => 'criteria', + 'label' => $this->translate('search.method'), + 'name' => 'method', + 'type' => kolab_form::INPUT_SELECT, + 'options' => array( + 'both' => kolab_html::escape($this->translate('search.contains')), + 'exact' => kolab_html::escape($this->translate('search.is')), + 'prefix' => kolab_html::escape($this->translate('search.prefix')), + ), + )); + + return $form->output(); + } + } diff --git a/public_html/skins/default/templates/group.html b/public_html/skins/default/templates/group.html index fafcc01..0360bec 100644 --- a/public_html/skins/default/templates/group.html +++ b/public_html/skins/default/templates/group.html @@ -1,9 +1,8 @@ <div id="toc" class="group"> -<!-- <div id="search"> <div class="searchinput"> <input type="text" id="searchinput" name="search" value="{$engine->translate('search')}" /> - <script type="text/javascript">search_init()</script> + <script type="text/javascript">search_init('group')</script> <span class="searchactions"> <span id="search-details" title="{$engine->translate('search.criteria')}" onclick="search_details()"></span> <span id="search-reset" title="{$engine->translate('search.reset')}" onclick="search_reset()"></span> @@ -11,7 +10,6 @@ </div> <div class="searchdetails">{$engine->search_form()}</div> </div> ---> <div id="grouplist"></div> </div> <div class="vsplitter"> </div> diff --git a/public_html/skins/default/templates/user.html b/public_html/skins/default/templates/user.html index 0e7dd8f..1c5e732 100644 --- a/public_html/skins/default/templates/user.html +++ b/public_html/skins/default/templates/user.html @@ -2,7 +2,7 @@ <div id="search"> <div class="searchinput"> <input type="text" id="searchinput" name="search" value="{$engine->translate('search')}" /> - <script type="text/javascript">search_init()</script> + <script type="text/javascript">search_init('user')</script> <span class="searchactions"> <span id="search-details" title="{$engine->translate('search.criteria')}" onclick="search_details()"></span> <span id="search-reset" title="{$engine->translate('search.reset')}" onclick="search_reset()"></span> diff --git a/public_html/skins/default/ui.js b/public_html/skins/default/ui.js index 80be561..3e90153 100644 --- a/public_html/skins/default/ui.js +++ b/public_html/skins/default/ui.js @@ -24,8 +24,10 @@ /** * Search form events */ -function search_init() +function search_init(task) { + kadm.env.search_task = task; + $('#searchinput').addClass('inactive') .blur(function() { if (this.value == '') @@ -36,7 +38,7 @@ function search_init() var props = kadm.serialize_form('#search-form'); props.search = this.value; - kadm.command('user.list', props); + kadm.command(kadm.env.search_task + '.list', props); } }) .focus(function() { @@ -51,7 +53,7 @@ function search_reset() input.val(kadm.t('search')).addClass('inactive'); - kadm.command('user.list', {search: ''}); + kadm.command(kadm.env.search_task + '.list', {search: ''}); } function search_details() |