From c6468321c159cef7f6da6f4a8aa5fce36d8d328e Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Thu, 9 Apr 2009 16:30:20 -0700 Subject: [PATCH] Pass groupName down to editFriends. Do not display add managers if a groupname is passed. --- lib/WebGUI/Account/FriendManager.pm | 24 +++++++++++++----- .../root_import_account_friendmanager.wgpkg | Bin 2130 -> 2210 bytes .../build/friendManager/friendManager.js | 5 ++-- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/lib/WebGUI/Account/FriendManager.pm b/lib/WebGUI/Account/FriendManager.pm index b44658d19..ff37b33cb 100644 --- a/lib/WebGUI/Account/FriendManager.pm +++ b/lib/WebGUI/Account/FriendManager.pm @@ -133,6 +133,8 @@ sub www_editFriends { my $userId = shift || $form->get('userId', 'guid'); my $user = WebGUI::User->new($session, $userId); + my $groupName = shift || $form->get('groupName'); + ##List users in my friends group. Each friend gets a delete link. my $friendsList = $user->friends->getUserList(); my @friends_loop = (); @@ -149,14 +151,20 @@ sub www_editFriends { ##List users in all administrated groups. Friends are added one at a time. my @manageableUsers = (); - my $groupIds = $session->setting->get('groupsToManageFriends'); - my @groupIds = split "\n", $groupIds; - foreach my $groupId (@groupIds) { - my $group = WebGUI::Group->new($session, $groupId); - next GROUP unless $group->getId || $group->getId eq 'new'; + if ($groupName) { + my $group = WebGUI::Group->find($session, $groupName); push @manageableUsers, @{ $group->getUsersNotIn($user->{_user}->{'friendsGroup'}, 'withoutExpired') }; } - @manageableUsers = uniq @manageableUsers; + else { + my $groupIds = $session->setting->get('groupsToManageFriends'); + my @groupIds = split "\n", $groupIds; + foreach my $groupId (@groupIds) { + my $group = WebGUI::Group->new($session, $groupId); + next GROUP unless $group->getId || $group->getId eq 'new'; + push @manageableUsers, @{ $group->getUsersNotIn($user->{_user}->{'friendsGroup'}, 'withoutExpired') }; + } + @manageableUsers = uniq @manageableUsers; + } my %usersToAdd = (); tie %usersToAdd, 'Tie::IxHash'; my $manager = $session->user; @@ -195,7 +203,9 @@ sub www_editFriends { $var->{userId} = $user->userId; $var->{manageUrl} = $self->getUrl('module=friendManager;do=view'); $var->{removeAll} = WebGUI::Form::checkbox($session, { name => 'removeAllFriends', value => 'all', }); - $var->{addManagers} = WebGUI::Form::checkbox($session, { name => 'addManagers', value => 'addManagers', }); + if (! $groupName) { + $var->{addManagers} = WebGUI::Form::checkbox($session, { name => 'addManagers', value => 'addManagers', }); + } return $self->processTemplate($var,$session->setting->get("fmEditTemplateId")); } diff --git a/sbin/packages/root_import_account_friendmanager.wgpkg b/sbin/packages/root_import_account_friendmanager.wgpkg index 6991502087cab747053dfe53e6107952c9707905..403432270ba96782b324d7e93c31f14246cb8bc7 100644 GIT binary patch literal 2210 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 I$p9(<0Qub*XaE2J diff --git a/www/extras/yui-webgui/build/friendManager/friendManager.js b/www/extras/yui-webgui/build/friendManager/friendManager.js index f439b51f7..126d4adb0 100644 --- a/www/extras/yui-webgui/build/friendManager/friendManager.js +++ b/www/extras/yui-webgui/build/friendManager/friendManager.js @@ -61,9 +61,10 @@ WebGUI.FriendManager.formatGroups = function ( el, oRecord, oColumn, oData ) { el.innerHTML = 'Edit all'; var groups = oData.split("\n"); for (var idx=0; idx < groups.length; idx++) { - var group = groups[idx]; + var group = groups[idx]; + var groupUri = encodeURI(group); el.innerHTML += ' '; - el.innerHTML += ''+group+''; + el.innerHTML += ''+group+''; } }