From ebd2d98c5a54df52adfdbe5b072d715ddb5e427c Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Tue, 30 Mar 2010 20:51:29 +0000 Subject: [PATCH] Fix for bug #499. Monotone-Parent: 7fdcd24631a35711947a53ef3bec828c99f953bf Monotone-Revision: 9de427ab0a6d798a88bf25730ef5135e63d0b420 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2010-03-30T20:51:29 Monotone-Branch: ca.inverse.sogo --- UI/WebServerResources/AdministrationUI.js | 49 +++++++++-------------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/UI/WebServerResources/AdministrationUI.js b/UI/WebServerResources/AdministrationUI.js index 3e06f4e62..e753d9667 100644 --- a/UI/WebServerResources/AdministrationUI.js +++ b/UI/WebServerResources/AdministrationUI.js @@ -31,8 +31,8 @@ function usersSearchCallback(http) { document.userFoldersRequest = null; var div = $("administrationContent"); if (http.status == 200) { - var response = http.responseText; - buildUsersTree(div, http.responseText) + var response = http.responseText.evalJSON(); + buildUsersTree(div, response) } else if (http.status == 404) div.update(); @@ -61,24 +61,19 @@ function buildUsersTree(treeDiv, response) { var isUserDialog = false; var multiplier = ((isUserDialog) ? 1 : 2); - if (response.length) { - var lines = response.split("\n"); - for (var i = 0; i < lines.length; i++) { - if (lines[i].length > 0) - addUserLineToTree(d, 1 + i * multiplier, lines[i]); - } + if (response.length > 0) { + for (var i = 0; i < response.length; i++) + addUserLineToTree(d, 1 + i * multiplier, response[i]); treeDiv.innerHTML = ""; treeDiv.appendChild(d.domObject ()); treeDiv.clean = false; - for (var i = 0; i < lines.length - 1; i++) { - if (lines[i].length > 0) { - if (!isUserDialog) { - var toggle = $("tgd" + (1 + i * 2)); - toggle.observe ("click", onUserNodeToggle); - } - var sd = $("sd" + (1 + i * multiplier)); - sd.observe("click", onTreeItemClick); + for (var i = 0; i < response.length; i++) { + if (!isUserDialog) { + var toggle = $("tgd" + (1 + i * 2)); + toggle.observe ("click", onUserNodeToggle); } + var sd = $("sd" + (1 + i * multiplier)); + sd.observe("click", onTreeItemClick); } } } @@ -86,11 +81,10 @@ function buildUsersTree(treeDiv, response) { function addUserLineToTree(tree, parent, line) { var icon = ResourcesURL + '/busy.gif'; - var userInfos = line.split(":"); - var email = userInfos[1] + " <" + userInfos[2] + ">"; - if (userInfos[3] && !userInfos[3].empty()) - email += ", " + userInfos[3]; // extra contact info - tree.add(parent, 0, email, 0, '#', userInfos[0], 'person', + var email = line[1] + " <" + line[2] + ">"; + if (line[3] && !line[3].empty()) + email += ", " + line[3]; // extra contact info + tree.add(parent, 0, email, 0, '#', line[0], 'person', '', '', ResourcesURL + '/abcard.gif', ResourcesURL + '/abcard.gif'); @@ -133,13 +127,10 @@ function foldersSearchCallback(http) { var user = http.callbackData["user"]; dd.innerHTML = ''; - for (var i = 1; i < folders.length - 1; i++) { - dd.appendChild(addFolderBranchToTree (d, user, folders[i], nodeId, i, false)); - log (i + " = " + folders[i]); - } - dd.appendChild (addFolderBranchToTree (d, user, folders[folders.length-1], nodeId, - (folders.length - 1), true)); - log ((folders.length - 1) + " = " + folders[folders.length-1]); + for (var i = 1; i < folders.length - 1; i++) + dd.appendChild(addFolderBranchToTree (d, user, folders[i], nodeId, i, false)); + dd.appendChild (addFolderBranchToTree (d, user, folders[folders.length-1], nodeId, + (folders.length - 1), true)); for (var i = 1; i < folders.length; i++) { var sd = $("sd" + (nodeId + i)); sd.observe("click", onTreeItemClick); @@ -148,7 +139,7 @@ function foldersSearchCallback(http) { } else { dd.innerHTML = ''; - dd.appendChild (addFolderNotFoundNode (d, nodeId)); + dd.appendChild (addFolderNotFoundNode (d, nodeId, null)); var sd = $("sd" + (nodeId + 1)); sd.observe("click", onTreeItemClick); }