From 1304ff42cec27d89e658554d6bb5d7d7db52d9ae Mon Sep 17 00:00:00 2001
From: Sandro Lutz <sandro.lutz@temparus.ch>
Date: Sun, 15 Oct 2017 12:13:11 +0200
Subject: [PATCH] Fix search and sort functions in user tool

---
 tools/users.tool | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/tools/users.tool b/tools/users.tool
index 322d721..b2df656 100644
--- a/tools/users.tool
+++ b/tools/users.tool
@@ -58,7 +58,7 @@
 				return tools.mem.session.get('search');
 			},
 			set: function(dom, val) {
-				tools.mem.session.set('search', dom + '==' + val);
+				tools.mem.session.set('search', '{\"' + dom + '\": \"' + val + '\"}');
 				users.page.set(1);
 			},
 			clr: function() {
@@ -70,12 +70,10 @@
 		// Get users
 		get: function() {
 			amivcore.users.GET({
-				data: {
-					'max_results': '50',
-					page: users.page.cur(),
-					sort: users.sort.cur(),
-					where: users.search.cur(),
-				}
+				'max_results': '50',
+				page: users.page.cur(),
+				sort: users.sort.cur(),
+				where: users.search.cur(),
 			}, function(ret) {
 
 				if (ret === undefined || ret['_items'].length == 0) {
@@ -274,14 +272,17 @@
 			callback: function() {
 				var tmp = '<div class="form-group"><select class="form-control users-search-select">';
 				var cur = users.search.cur();
+				var val = '';
 				if (cur === null || cur == '')
-					cur = '';
+					cur = JSON.parse('{}');
 				else
-					cur = cur.split('==')[1];
+					cur = JSON.parse(users.search.cur());
 				['_id', 'firstname', 'lastname'].forEach(function(i) {
-					tmp += '<option value="' + i + '"' + ((i == cur) ? ' selected' : '') + '>' + i + '</option>';
+					tmp += '<option value="' + i + '"' + ((cur[i] !== undefined) ? ' selected' : '') + '>' + i + '</option>';
+					if (cur[i] !== undefined)
+						val = cur[i];
 				});
-				tmp += '</select><br><input type="text" value="' + cur + '" class="form-control users-search-val"></div>';
+				tmp += '</select><br><input type="text" value="' + val + '" class="form-control users-search-val"></div>';
 				tools.modal({
 					head: 'Search',
 					body: tmp,
-- 
GitLab