[CS-Project-svn_notify] SF.net SVN: cs-project: [780] trunk/includes/content/settings.inc
Brought to you by:
crazedsanity
From: <cra...@us...> - 2008-02-06 02:28:13
|
Revision: 780 http://cs-project.svn.sourceforge.net/cs-project/?rev=780&view=rev Author: crazedsanity Date: 2008-02-05 18:28:04 -0800 (Tue, 05 Feb 2008) Log Message: ----------- Regeneration of members & non-members for groups on settings page (admin) now regenerates properly via AJAX calls. Yay! Modified Paths: -------------- trunk/includes/content/settings.inc Modified: trunk/includes/content/settings.inc =================================================================== --- trunk/includes/content/settings.inc 2008-02-04 23:31:49 UTC (rev 779) +++ trunk/includes/content/settings.inc 2008-02-06 02:28:04 UTC (rev 780) @@ -152,13 +152,9 @@ } else { //some display settings. - $x = $page->set_all_block_rows("content", array('group_nonMembers', 'group_currentMembers')); + $x = $page->set_all_block_rows("content"); - - //TODO: make this work. - //TODO: when they don't have the pref, select the default! - //show 'em their preferences. $allPrefs = $prefObj->list_all_prefs(); $userPrefs = $prefObj->get_user_prefs(); @@ -281,6 +277,7 @@ else { $result = $adminUserClass->remove_user_from_group($uid, $groupId); } + $objResponse = regenerate_group_lists($groupId); $msg = array( 'title' => "Update Complete", @@ -301,10 +298,11 @@ ); $page->set_message_wrapper($msg); } + $objResponse->addAssign('MAIN_error_message', 'innerHTML', $page->process_set_message()); return($objResponse); -}//end ajax__group_add_user() +}//end ajax__group_user() function regenerate_group_lists($groupId) { @@ -314,7 +312,14 @@ $objResponse = new xajaxResponse(); if($user->is_admin()) { - $page->set_all_block_rows(); + + if(!isset($page->templateRows['group_nonMembers'])) { + $page->set_all_block_rows(); + } + //array('group_nonMembers', 'group_currentMembers') + $page->add_template_var('group_nonMembers', $page->templateRows['group_nonMembers']); + $page->add_template_var('group_currentMembers', $page->templateRows['group_currentMembers']); + $adminUserClass = $GLOBALS['objects']['admin']; $myGroups = $adminUserClass->get_groups(TRUE); @@ -338,7 +343,8 @@ $addUsers = 0; $removeUsers = 0; - if(is_array($groupData) && count($groupData)) { + //TODO: is there any reason to do special processing if there is no $groupData? + #if(is_array($groupData) && count($groupData)) { $baseRow = $page->templateRows['show_group_list__selectUser']; $addUsersRow = ""; $removeUsersRow = ""; @@ -354,6 +360,8 @@ $removeUsersRow .= mini_parser($page->templateRows['show_group_list__removeUser'], $userData, '%%', '%%'); $removeUsers++; $changeLeaderOptionArr[$uid] = $userData['username']; + + // } else { //not in this group. @@ -362,6 +370,7 @@ } } + //set the option list for changing the leader! $changeLeaderOption = array_as_option_list($changeLeaderOptionArr, $myGroupData['leader_uid']); $page->add_template_var('changeGroupLeader_list', $changeLeaderOption); @@ -373,6 +382,7 @@ else { //tell 'em there's no users to be removed. $page->add_template_var('show_group_list__removeUser', $page->templateRows['show_group_list__noRemoveUser']); + $removeUsersRow = $page->templateRows['show_group_list__noRemoveUser']; } if($addUsers) { @@ -382,8 +392,9 @@ else { //no users to add. $page->add_template_var('show_group_list__selectUser', $page->templateRows['show_group_list__noUser']); + $addUsersRow = $page->templateRows['show_group_list__noUser']; } - } + /*} else { //show the row that says there's no users. $page->add_template_var('show_group_list__selectUser', $page->templateRows['show_group_list__noUser']); @@ -396,7 +407,7 @@ } $page->add_template_var('show_group_list__selectUser', $addUsersRow); $page->add_template_var('show_group_list__removeUser', $page->templateRows['show_group_list__noRemoveUser']); - } + }#*/ } else { $msg = array( @@ -406,6 +417,26 @@ ); $page->set_message_wrapper($msg); } + $ajax_nonUsers = mini_parser( + $page->templateRows['group_nonMembers'], + array( + 'show_group_list__removeUser' => $removeUsersRow, + 'show_group_list__noRemoveUser' => "" + ), + '{', '}' + ); + + $ajax_curUsers = mini_parser( + $page->templateRows['group_currentMembers'], + array( + 'show_group_list__selectUser' => $addUsersRow, + 'show_group_list__noUser' => "" + ), + '{', '}' + ); + + $objResponse->addAssign('group_currentMembers', 'innerHTML', $ajax_curUsers); + $objResponse->addAssign('group_nonMembers', 'innerHTML', $ajax_nonUsers); $objResponse->addAssign('MAIN_error_message', 'innerHTML', $page->process_set_message()); return($objResponse); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |