From 85cac08efe8d86bd82bc7df4f4f68541ea6728ad Mon Sep 17 00:00:00 2001
From: Robert Anderson <randerson@lbsd.net>
Date: Fri, 15 May 2009 08:18:44 +0000
Subject: [PATCH] All fields for AdminUserAttributes add and edit

---
 webgui/ajax.php                               |  3 +++
 .../ajax/functions/AdminUserAttributes.php    | 27 ++++++++++++++++---
 webgui/js/app/windows/AdminUserAttributes.js  | 26 ++++++++++++++++--
 3 files changed, 51 insertions(+), 5 deletions(-)

diff --git a/webgui/ajax.php b/webgui/ajax.php
index 676393cb..c28b676a 100644
--- a/webgui/ajax.php
+++ b/webgui/ajax.php
@@ -395,6 +395,9 @@
 			$res->setID('ID');
 			$res->addField('ID','int');
 			$res->addField('Name','string');
+			$res->addField('Operator','string');
+			$res->addField('Value','string');
+			$res->addField('Disabled','boolean');
 			$res->parseHash($rawData);
 
 			echo json_encode($res->export());
diff --git a/webgui/include/ajax/functions/AdminUserAttributes.php b/webgui/include/ajax/functions/AdminUserAttributes.php
index 70db4699..f5d48648 100644
--- a/webgui/include/ajax/functions/AdminUserAttributes.php
+++ b/webgui/include/ajax/functions/AdminUserAttributes.php
@@ -6,7 +6,18 @@ include_once("include/db.php");
 function addAdminUserAttribute($params) {
 	global $db;
 
-	$res = DBDo("INSERT INTO user_attributes (UserID,Name) VALUES (?,?)",array($params[0]['UserID'],$params[0]['Name']));
+	$res = DBDo("
+				INSERT INTO 
+						user_attributes (UserID,Name,Operator,Value,Disabled) 
+				VALUES 
+						(?,?,?,?,?)",
+				array(	$params[0]['UserID'],
+						$params[0]['Name'],
+						$params[0]['Operator'],
+						$params[0]['Value'],
+						$params[0]['Disabled'])
+	);
+
 	if (!is_numeric($res)) {
 		return $res;
 	}
@@ -30,7 +41,14 @@ function removeAdminUserAttribute($params) {
 function updateAdminUserAttribute($params) {
 	global $db;
 
-	$res = DBDo("UPDATE user_attributes SET Name = ? WHERE ID = ?",array($params[0]['Name'],$params[0]['ID']));
+	$res = DBDo("UPDATE user_attributes SET Name = ?, Operator = ?, Value = ?, Disabled = ? WHERE ID = ?",
+				array($params[0]['Name'],
+				$params[0]['Operator'],
+				$params[0]['Value'],
+				$params[0]['Disabled'],
+				$params[0]['ID'])
+	);
+
 	if (!is_numeric($res)) {
 		return $res;
 	}
@@ -43,7 +61,7 @@ function getAdminUserAttribute($params) {
 	global $db;
 
 
-	$res = DBSelect("SELECT ID, Name FROM user_attributes WHERE ID = ?",array($params[0]));
+	$res = DBSelect("SELECT ID, Name, Operator, Value, Disabled FROM user_attributes WHERE ID = ?",array($params[0]));
 	if (!is_object($res)) {
 		return $res;
 	}
@@ -54,6 +72,9 @@ function getAdminUserAttribute($params) {
 
 	$resultArray['ID'] = $row->id;
 	$resultArray['Name'] = $row->name;
+	$resultArray['Operator'] = $row->operator;
+	$resultArray['Value'] = $row->value;
+	$resultArray['Disabled'] = $row->disabled;
 
 	return $resultArray;
 }
diff --git a/webgui/js/app/windows/AdminUserAttributes.js b/webgui/js/app/windows/AdminUserAttributes.js
index 300a39c6..cd369229 100644
--- a/webgui/js/app/windows/AdminUserAttributes.js
+++ b/webgui/js/app/windows/AdminUserAttributes.js
@@ -154,7 +154,10 @@ function showAdminUserAttributeAddEditWindow(userID,attrID) {
 			SOAPFunction: 'updateAdminUserAttribute',
 			SOAPParams: 
 				'0:ID,'+
-				'0:Name'
+				'0:Name,'+
+				'0:Operator,'+
+				'0:Value,'+
+				'0:Disabled:boolean'
 		};
 
 	// We doing an Add
@@ -164,7 +167,10 @@ function showAdminUserAttributeAddEditWindow(userID,attrID) {
 			SOAPFunction: 'addAdminUserAttribute',
 			SOAPParams: 
 				'0:UserID,'+
-				'0:Name'
+				'0:Name,'+
+				'0:Operator,'+
+				'0:Value,'+
+				'0:Disabled:boolean'
 		};
 	}
 	
@@ -197,6 +203,22 @@ function showAdminUserAttributeAddEditWindow(userID,attrID) {
 					maskRe: usernamePartRe,
 					allowBlank: false
 				},
+				{
+					fieldLabel: "Operator",
+					name: "Operator",
+					allowBlank: false
+				},
+				{
+					fieldLabel: "Value",
+					name: "Value",
+					allowBlank: false
+				},
+				{
+					xtype: 'checkbox',
+					fieldLabel: 'Disabled',
+					name: 'Disabled'
+				},
+				
 			],
 		},
 		// Submit button config
-- 
GitLab