lib/client public_html/skins
Aleksander Machniak
machniak at kolabsys.com
Thu Mar 22 10:11:25 CET 2012
lib/client/kolab_client_task_group.php | 48 +++++++++++++++++++------
public_html/skins/default/templates/group.html | 4 --
public_html/skins/default/templates/user.html | 2 -
public_html/skins/default/ui.js | 8 ++--
4 files changed, 45 insertions(+), 17 deletions(-)
New commits:
commit 4d901b663d456917c163e4968383e1b99ad96e18
Author: Aleksander Machniak <alec at alec.pl>
Date: Thu Mar 22 10:10:35 2012 +0100
Implement groups search (UI)
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()
More information about the commits
mailing list