From 50de45572eeb0f27233a5f48077c5006c7553342 Mon Sep 17 00:00:00 2001
From: Robert Anderson <randerson@lbsd.net>
Date: Thu, 2 Jul 2009 08:35:02 +0000
Subject: [PATCH] Update wisp user shows LocationID, correctly updates location
 now

---
 webgui/ajax.php                             |  1 +
 webgui/include/ajax/functions/WiSPUsers.php | 38 ++++++++++++---------
 webgui/js/app/windows/WiSPUsers.js          |  9 +++--
 3 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/webgui/ajax.php b/webgui/ajax.php
index 564c6acd..7e62d4d4 100644
--- a/webgui/ajax.php
+++ b/webgui/ajax.php
@@ -626,6 +626,7 @@
 			$res->addField('Lastname','string');
 			$res->addField('Phone','string');
 			$res->addField('Email','string');
+			$res->addField('LocationID','int');
 			$res->parseHash($rawData);
 			$res->setDatasetSize($numResults);
 
diff --git a/webgui/include/ajax/functions/WiSPUsers.php b/webgui/include/ajax/functions/WiSPUsers.php
index 16f214f7..87c6ca6f 100644
--- a/webgui/include/ajax/functions/WiSPUsers.php
+++ b/webgui/include/ajax/functions/WiSPUsers.php
@@ -73,6 +73,7 @@ function getWiSPUser($params) {
 					wisp_userdata.LastName, 
 					wisp_userdata.Phone, 
 					wisp_userdata.Email, 
+					wisp_userdata.LocationID,
 					users.Username
 				FROM 
 					wisp_userdata, users
@@ -98,6 +99,7 @@ function getWiSPUser($params) {
 	$resultArray['Lastname'] = $row->lastname;
 	$resultArray['Phone'] = $row->phone;
 	$resultArray['Email'] = $row->email;
+	$resultArray['LocationID'] = $row->locationid;
 	$resultArray['Attributes'] = array();
 	
 	# Query to get user password
@@ -390,26 +392,28 @@ function updateWiSPUser($params) {
 	DBBegin();
 	$res = DBDo("UPDATE users SET Username = ? WHERE ID = ?",array($params[0]['Username'],$params[0]['ID']));
 	if ($res !== FALSE) {
-		DBDo("UPDATE user_attributes SET User-Password = ? WHERE UserID = ?",array($params[0]['Username'],$params[0]['ID']));
+		$res = DBDo("UPDATE user_attributes SET User-Password = ? WHERE UserID = ?",array($params[0]['Username'],$params[0]['ID']));
 	}
 	if ($res !== FALSE) {
-		DBDo("
-			UPDATE
-				wisp_userdata
-			SET
-				FirstName = ?,
-				LastName = ?,
-				Phone = ?,
-				Email = ?
-			WHERE
-				UserID = ?",
-			array($params[0]['Firstname'],
-			$params[0]['Lastname'],
-			$params[0]['Phone'],
-			$params[0]['Email'],
-			$params[0]['ID'])
+		$res = DBDo("
+				UPDATE
+					wisp_userdata
+				SET
+					FirstName = ?,
+					LastName = ?,
+					Phone = ?,
+					Email = ?,
+					LocationID = ?
+				WHERE
+					UserID = ?",
+				array($params[0]['Firstname'],
+				$params[0]['Lastname'],
+				$params[0]['Phone'],
+				$params[0]['Email'],
+				$params[0]['LocationID'],
+				$params[0]['ID'])
 		);
-	}	
+	}
 
 	# Commit changes if all was successful, else break
 	if ($res !== FALSE) {
diff --git a/webgui/js/app/windows/WiSPUsers.js b/webgui/js/app/windows/WiSPUsers.js
index 1d25b10a..9a943f57 100644
--- a/webgui/js/app/windows/WiSPUsers.js
+++ b/webgui/js/app/windows/WiSPUsers.js
@@ -254,6 +254,7 @@ function showWiSPUserAddEditWindow(id) {
 				'0:Firstname,'+
 				'0:Lastname,'+
 				'0:Phone,'+
+				'0:LocationID,'+
 				'0:Email'
 		};
 
@@ -609,11 +610,10 @@ function showWiSPUserAddEditWindow(id) {
 								},
 								{
 									xtype: 'combo',
-									//id: 'combo',
 									fieldLabel: 'Location',
 									name: 'Location',
-									allowBlank: false,
-									width: 140,
+									allowBlank: true,
+									width: 160,
 
 									store: new Ext.ux.JsonStore({
 										sortInfo: { field: "Name", direction: "ASC" },
@@ -621,7 +621,7 @@ function showWiSPUserAddEditWindow(id) {
 											SOAPUsername: globalConfig.soap.username,
 											SOAPPassword: globalConfig.soap.password,
 											SOAPAuthType: globalConfig.soap.authtype,
-											SOAPModule: 'WiSPLocations',
+											SOAPModule: 'WiSPUsers',
 											SOAPFunction: 'getWiSPLocations',
 											SOAPParams: '__null,__search'
 										}
@@ -631,7 +631,6 @@ function showWiSPUserAddEditWindow(id) {
 									hiddenName: 'LocationID',
 									forceSelection: true,
 									triggerAction: 'all',
-									allowBlank: true,
 									editable: false
 								},
 							]
-- 
GitLab