3 commits - lib/client public_html/js public_html/skins

Aleksander Machniak machniak at kolabsys.com
Thu Oct 4 14:21:33 CEST 2012


 lib/client/kolab_client_task_domain.php       |    1 
 lib/client/kolab_client_task_group.php        |    1 
 lib/client/kolab_client_task_resource.php     |    1 
 lib/client/kolab_client_task_role.php         |    1 
 lib/client/kolab_client_task_settings.php     |   33 ++++++++++++++++++++++++++
 lib/client/kolab_client_task_user.php         |    1 
 public_html/js/kolab_admin.js                 |    2 -
 public_html/skins/default/templates/main.html |    2 -
 8 files changed, 40 insertions(+), 2 deletions(-)

New commits:
commit fa90d7162e54daca1b4a8eedf881122c8d966318
Author: Aleksander Machniak <alec at alec.pl>
Date:   Thu Oct 4 14:20:53 2012 +0200

    Fix jumping to previous page when deleting last record on current page

diff --git a/lib/client/kolab_client_task_domain.php b/lib/client/kolab_client_task_domain.php
index 8a538fc..edb716e 100644
--- a/lib/client/kolab_client_task_domain.php
+++ b/lib/client/kolab_client_task_domain.php
@@ -177,6 +177,7 @@ class kolab_client_task_domain extends kolab_client_task
         $this->output->set_env('search_request', $search_request ? base64_encode(serialize($search_request)) : null);
         $this->output->set_env('list_page', $page);
         $this->output->set_env('list_count', $count);
+        $this->output->set_env('list_size', $i);
         $this->output->set_object('domainlist', $table);
     }
 
diff --git a/lib/client/kolab_client_task_group.php b/lib/client/kolab_client_task_group.php
index eb5e6b7..3349129 100644
--- a/lib/client/kolab_client_task_group.php
+++ b/lib/client/kolab_client_task_group.php
@@ -169,6 +169,7 @@ class kolab_client_task_group extends kolab_client_task
         $this->output->set_env('search_request', $search_request ? base64_encode(serialize($search_request)) : null);
         $this->output->set_env('list_page', $page);
         $this->output->set_env('list_count', $count);
+        $this->output->set_env('list_size', count($result));
         $this->output->set_object('grouplist', $table);
     }
 
diff --git a/lib/client/kolab_client_task_resource.php b/lib/client/kolab_client_task_resource.php
index f0ce4b0..a5669be 100644
--- a/lib/client/kolab_client_task_resource.php
+++ b/lib/client/kolab_client_task_resource.php
@@ -171,6 +171,7 @@ class kolab_client_task_resource extends kolab_client_task
         $this->output->set_env('search_request', $search_request ? base64_encode(serialize($search_request)) : null);
         $this->output->set_env('list_page', $page);
         $this->output->set_env('list_count', $count);
+        $this->output->set_env('list_size', count($result));
         $this->output->set_object('resourcelist', $table);
     }
 
diff --git a/lib/client/kolab_client_task_role.php b/lib/client/kolab_client_task_role.php
index beac689..5539ceb 100644
--- a/lib/client/kolab_client_task_role.php
+++ b/lib/client/kolab_client_task_role.php
@@ -169,6 +169,7 @@ class kolab_client_task_role extends kolab_client_task
         $this->output->set_env('search_request', $search_request ? base64_encode(serialize($search_request)) : null);
         $this->output->set_env('list_page', $page);
         $this->output->set_env('list_count', $count);
+        $this->output->set_env('list_size', count($result));
         $this->output->set_object('rolelist', $table);
     }
 
diff --git a/lib/client/kolab_client_task_settings.php b/lib/client/kolab_client_task_settings.php
index ca29f50..f149ba0 100644
--- a/lib/client/kolab_client_task_settings.php
+++ b/lib/client/kolab_client_task_settings.php
@@ -330,6 +330,7 @@ class kolab_client_task_settings extends kolab_client_task
         $this->output->set_env('search_request', $search_request ? base64_encode(serialize($search_request)) : null);
         $this->output->set_env('list_page', $page);
         $this->output->set_env('list_count', $count);
+        $this->output->set_env('list_size', count($result));
         $this->output->set_object('typelist', $table);
     }
 
diff --git a/lib/client/kolab_client_task_user.php b/lib/client/kolab_client_task_user.php
index cf4d9b9..3edf551 100644
--- a/lib/client/kolab_client_task_user.php
+++ b/lib/client/kolab_client_task_user.php
@@ -169,6 +169,7 @@ class kolab_client_task_user extends kolab_client_task
         $this->output->set_env('search_request', $search_request ? base64_encode(serialize($search_request)) : null);
         $this->output->set_env('list_page', $page);
         $this->output->set_env('list_count', $count);
+        $this->output->set_env('list_size', count($result));
         $this->output->set_object('userlist', $table);
     }
 
diff --git a/public_html/js/kolab_admin.js b/public_html/js/kolab_admin.js
index 928ef30..fd4d3fd 100644
--- a/public_html/js/kolab_admin.js
+++ b/public_html/js/kolab_admin.js
@@ -1652,7 +1652,7 @@ function kolab_admin()
     // if objects list exists
     if ($('#'+list_id).length) {
       // goto previous page if last record on the current page has been deleted
-      if (action.match(/\.delete/) && this.env.list_count)
+      if (this.env.list_page > 1 && this.env.list_size == 1 && action.match(/\.delete/))
         page -= 1;
 
       this.command(list, {page: page});


commit b6f32c5f2c7b7c5bee8bec5471af953966f91467
Author: Aleksander Machniak <alec at alec.pl>
Date:   Thu Oct 4 13:56:01 2012 +0200

    Remove useless title attribute

diff --git a/public_html/skins/default/templates/main.html b/public_html/skins/default/templates/main.html
index 829c407..0de2e4f 100644
--- a/public_html/skins/default/templates/main.html
+++ b/public_html/skins/default/templates/main.html
@@ -22,7 +22,7 @@
             {$user.domain}
         {/if}
         </span>
-        <span class="logout link" title="{$engine->translate('logout')}" onclick="kadm.main_logout()">{$engine->translate('logout')}</span>
+        <span class="logout link" onclick="kadm.main_logout()">{$engine->translate('logout')}</span>
     </div>
     <div id="navigation">{$main_menu}</div>
     <div id="task_navigation">{$task_menu}</div>


commit 66bcdff3e17b93eed887f6ca81d2b29c5bddd9ff
Author: Aleksander Machniak <alec at alec.pl>
Date:   Thu Oct 4 13:55:33 2012 +0200

    Implement searching in object types

diff --git a/lib/client/kolab_client_task_settings.php b/lib/client/kolab_client_task_settings.php
index 4dffdb6..ca29f50 100644
--- a/lib/client/kolab_client_task_settings.php
+++ b/lib/client/kolab_client_task_settings.php
@@ -213,6 +213,38 @@ class kolab_client_task_settings extends kolab_client_task
         // get object types list
         $result = $this->object_types($type);
 
+        // Implement searching here, not in the API, we don't expect too many records
+        if (!empty($search_request)) {
+            foreach ($result as $idx => $record) {
+                $found = false;
+                foreach ($search_request as $key => $value) {
+                    if (!empty($record[$key])) {
+                        $s = mb_strtoupper($value['value']);
+                        $v = mb_strtoupper($record[$key]);
+                        switch ($value['type']) {
+                        case 'both':
+                            $res = $v === $s || strpos($v, $s) !== false;
+                            break;
+                        case 'exact':
+                            $res = $v === $s;
+                            break;
+                        case 'prefix':
+                            $res = strpos($v, $s) === 0;
+                            break;
+                        }
+
+                        if ($res) {
+                            $found = true;
+                            break;
+                        }
+                    }
+                }
+                if (!$found) {
+                    unset($result[$idx]);
+                }
+            }
+        }
+
         // assign ID
         foreach (array_keys($result) as $idx) {
             $result[$idx]['id'] = $idx;





More information about the commits mailing list