From 862a75f880509c4f053deb6f47fd61f09f62221e Mon Sep 17 00:00:00 2001 From: Robert Anderson <randerson@lbsd.net> Date: Wed, 13 May 2009 09:26:08 +0000 Subject: [PATCH] Small cosmetic changes Link group to user Remove user attribute fixes --- webgui/ajax.php | 24 ++++++++-- .../ajax/functions/AdminUserAttributes.php | 12 +++++ .../ajax/functions/AdminUserGroups.php | 12 +++++ webgui/js/app/windows/AdminUserAttributes.js | 8 ++-- webgui/js/app/windows/AdminUserGroups.js | 45 ++++++++++++++----- 5 files changed, 82 insertions(+), 19 deletions(-) diff --git a/webgui/ajax.php b/webgui/ajax.php index a0d3fd0b..29aaaca9 100644 --- a/webgui/ajax.php +++ b/webgui/ajax.php @@ -96,8 +96,8 @@ # Build hash and push into param list $search = array( 'Filter' => isset($_REQUEST['filter']) ? $_REQUEST['filter'] : '', - 'Start' => $_REQUEST['start'], - 'Limit' => $_REQUEST['limit'], + 'Start' => isset($_REQUEST['start']) ? $_REQUEST['start'] : NULL, + 'Limit' => isset($_REQUEST['limit']) ? $_REQUEST['limit'] : NULL, 'Sort' => isset($_REQUEST['sort']) ? $_REQUEST['sort'] : '', 'SortDirection' => isset($_REQUEST['dir']) ? $_REQUEST['dir'] : '', ); @@ -150,7 +150,16 @@ switch ($function) { - # AdminUserGroups.js functions + # addAdminUserGroup.js functions + case "addAdminUserGroup": + + $res = addAdminUserGroup($soapParams); + if (isset($res)) { + ajaxException($res); + } + + break; + case "removeAdminUserGroup": $res = removeAdminUserGroup($soapParams); @@ -195,6 +204,15 @@ echo json_encode($res->export()); break; + case "removeAdminUserAttribute": + + $res = removeAdminUserAttribute($soapParams); + if (isset($res)) { + ajaxException($res); + } + + break; + # WiSPUsers.js functions case "updateWiSPUser": diff --git a/webgui/include/ajax/functions/AdminUserAttributes.php b/webgui/include/ajax/functions/AdminUserAttributes.php index afd774b7..69e11d67 100644 --- a/webgui/include/ajax/functions/AdminUserAttributes.php +++ b/webgui/include/ajax/functions/AdminUserAttributes.php @@ -3,6 +3,18 @@ include_once("include/db.php"); +# Remove user attribute +function removeAdminUserAttribute($params) { + global $db; + + $res = DBDo("DELETE FROM user_attributes WHERE ID = ?",array($params[0])); + if (!is_numeric($res)) { + return $res; + } + + return NULL; +} + # Return list of attributes function getAdminUserAttributes($params) { global $db; diff --git a/webgui/include/ajax/functions/AdminUserGroups.php b/webgui/include/ajax/functions/AdminUserGroups.php index d06a7353..2f73f9a9 100644 --- a/webgui/include/ajax/functions/AdminUserGroups.php +++ b/webgui/include/ajax/functions/AdminUserGroups.php @@ -3,6 +3,18 @@ include_once("include/db.php"); +# Link user to group +function addAdminUserGroup($params) { + global $db; + + $res = DBDo("INSERT INTO users_to_groups (UserID,GroupID) VALUES (?,?)",array($params[0]['UserID'],$params[0]['GroupID'])); + if (!is_numeric($res)) { + return $res; + } + + return NULL; +} + # Unlink user from group function removeAdminUserGroup($params) { global $db; diff --git a/webgui/js/app/windows/AdminUserAttributes.js b/webgui/js/app/windows/AdminUserAttributes.js index 36183b78..540483bf 100644 --- a/webgui/js/app/windows/AdminUserAttributes.js +++ b/webgui/js/app/windows/AdminUserAttributes.js @@ -222,14 +222,14 @@ function showAdminGroupAddEditWindow(id) { // Display edit/add form -function showAdminGroupRemoveWindow(parent,id) { +function showAdminUserAttributeRemoveWindow(parent,id) { // Mask parent window parent.getEl().mask(); // Display remove confirm window Ext.Msg.show({ title: "Confirm removal", - msg: "Are you very sure you wish to remove this group?", + msg: "Are you very sure you wish to remove this attribute?", icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.YESNO, modal: false, @@ -244,8 +244,8 @@ function showAdminGroupRemoveWindow(parent,id) { SOAPUsername: globalConfig.soap.username, SOAPPassword: globalConfig.soap.password, SOAPAuthType: globalConfig.soap.authtype, - SOAPModule: 'AdminGroups', - SOAPFunction: 'removeAdminGroup', + SOAPModule: 'AdminUserAttributes', + SOAPFunction: 'removeAdminUserAttribute', SOAPParams: 'ID' } }); diff --git a/webgui/js/app/windows/AdminUserGroups.js b/webgui/js/app/windows/AdminUserGroups.js index 41e371eb..f1109a9b 100644 --- a/webgui/js/app/windows/AdminUserGroups.js +++ b/webgui/js/app/windows/AdminUserGroups.js @@ -1,6 +1,6 @@ -function showAdminUserGroupsWindow(id) { +function showAdminUserGroupsWindow(userID) { var AdminUserGroupsWindow = new Ext.ux.GenericGridWindow( // Window config @@ -22,7 +22,7 @@ function showAdminUserGroupsWindow(id) { tooltip:'Add group', iconCls:'add', handler: function() { - showAdminUserGroupAddEditWindow(); + showAdminUserGroupAddWindow(userID); } }, '-', @@ -73,7 +73,7 @@ function showAdminUserGroupsWindow(id) { // Store config { baseParams: { - ID: id, + ID: userID, SOAPUsername: globalConfig.soap.username, SOAPPassword: globalConfig.soap.password, SOAPAuthType: globalConfig.soap.authtype, @@ -96,7 +96,7 @@ function showAdminUserGroupsWindow(id) { // Display edit/add form -function showAdminGroupAddEditWindow(id) { +function showAdminUserGroupAddWindow(userID,id) { var submitAjaxConfig; @@ -108,15 +108,17 @@ function showAdminGroupAddEditWindow(id) { SOAPFunction: 'updateAdminGroup', SOAPParams: '0:ID,'+ - '0:Name' + '0:GroupID' }; // We doing an Add } else { submitAjaxConfig = { - SOAPFunction: 'createAdminGroup', + UserID: userID, + SOAPFunction: 'addAdminUserGroup', SOAPParams: - '0:Name' + '0:UserID,'+ + '0:GroupID' }; } @@ -143,11 +145,30 @@ function showAdminGroupAddEditWindow(id) { }, items: [ { - fieldLabel: 'Name', - name: 'Name', - vtype: 'usernamePart', - maskRe: usernamePartRe, - allowBlank: false + xtype: 'combo', + //id: 'combo', + fieldLabel: 'Group', + name: 'Group', + allowBlank: false, + width: 160, + + store: new Ext.ux.JsonStore({ + sortInfo: { field: "Name", direction: "ASC" }, + baseParams: { + SOAPUsername: globalConfig.soap.username, + SOAPPassword: globalConfig.soap.password, + SOAPAuthType: globalConfig.soap.authtype, + SOAPModule: 'AdminUserGroups', + SOAPFunction: 'getAdminGroups', + SOAPParams: '__null,__search' + } + }), + displayField: 'Name', + valueField: 'ID', + hiddenName: 'GroupID', + forceSelection: true, + triggerAction: 'all', + editable: false }, ], }, -- GitLab