diff --git a/lib/WebGUI/Account/FriendManager.pm b/lib/WebGUI/Account/FriendManager.pm index 571a127fe..809c52959 100644 --- a/lib/WebGUI/Account/FriendManager.pm +++ b/lib/WebGUI/Account/FriendManager.pm @@ -91,6 +91,12 @@ sub editSettingsForm { label => $i18n->get("edit template label"), hoverHelp => $i18n->get("edit template hoverHelp"), ); + $f->yesNo( + name => "overrideAbleToBeFriend", + value => $self->session->setting->get("overrideAbleToBeFriend"), + label => $i18n->get("override abletobefriend label"), + hoverHelp => $i18n->get("override abletobefriend hoverHelp"), + ); return $f->printRowsOnly; } @@ -112,8 +118,9 @@ sub editSettingsFormSave { $setting->set("fmViewTemplateId", $form->process("fmViewTemplateId", "template")); $setting->set("fmEditTemplateId", $form->process("fmEditTemplateId", "template")); my $groupsToManageFriends = $form->process("groupsToManageFriends", "group"); - $setting->set("groupsToManageFriends", $groupsToManageFriends); - $setting->set("groupIdAdminFriends", $form->process("groupIdAdminFriends", "group")); + $setting->set("groupsToManageFriends", $groupsToManageFriends); + $setting->set("groupIdAdminFriends", $form->process("groupIdAdminFriends", "group")); + $setting->set("overrideAbleToBeFriend", $form->process("overrideAbleToBeFriend", "yesNo")); } #------------------------------------------------------------------- @@ -171,13 +178,14 @@ sub www_editFriends { my $i18n = WebGUI::International->new($session); $usersToAdd{0} = $i18n->get('Select One'); my @usersToAdd = (); + my $overrideProfile = $session->setting->get('overrideAbleToBeFriend'); USERID: foreach my $newFriendId (@manageableUsers) { next USERID if $newFriendId eq $userId; my $user = WebGUI::User->new($session, $newFriendId); ##We don't use acceptsFriendsRequests here because it's overkill. ##No need to check invitations, since friends are managed. ##Existing friends are already filtered out. - next USERID unless $user->profileField('ableToBeFriend'); + next USERID unless $user->profileField('ableToBeFriend') || $overrideProfile; push @usersToAdd, [ $newFriendId, $user->username ]; } diff --git a/lib/WebGUI/i18n/English/Account_FriendManager.pm b/lib/WebGUI/i18n/English/Account_FriendManager.pm index d80a6d8f7..ead739a8b 100644 --- a/lib/WebGUI/i18n/English/Account_FriendManager.pm +++ b/lib/WebGUI/i18n/English/Account_FriendManager.pm @@ -43,6 +43,16 @@ our $I18N = { lastUpdated => 0, }, + 'override abletobefriend label' => { + message => q{Override ableToBeFriend profile setting?}, + lastUpdated => 0, + }, + + 'override abletobefriend hoverHelp' => { + message => q{If a user has set their ableToBeFriend profile option to 'No', then the Friend Manager will not display them as a friend to be added. If this option is set to Yes, then the Friend Manager will allow managing them.}, + lastUpdated => 0, + }, + 'title' => { message => q{Friend Manager}, lastUpdated => 0, diff --git a/sbin/installFriendManager.pl b/sbin/installFriendManager.pl index bc1f6e54b..bdfb04dbe 100644 --- a/sbin/installFriendManager.pl +++ b/sbin/installFriendManager.pl @@ -47,6 +47,7 @@ sub installFriendManagerSettings { $session->setting->add('fmViewTemplateId', '64tqS80D53Z0JoAs2cX2VQ'); $session->setting->add('fmEditTemplateId', 'lG2exkH9FeYvn4pA63idNg'); $session->setting->add('groupsToManageFriends', '2'); + $session->setting->add('overrideAbleToBeFriend', 0); print "\tDone"; } diff --git a/sbin/packages/root_import_account_friendmanager.wgpkg b/sbin/packages/root_import_account_friendmanager.wgpkg index 403432270..dd4d8d933 100644 Binary files a/sbin/packages/root_import_account_friendmanager.wgpkg and b/sbin/packages/root_import_account_friendmanager.wgpkg differ diff --git a/www/extras/yui-webgui/build/friendManager/friendManager.js b/www/extras/yui-webgui/build/friendManager/friendManager.js index 126d4adb0..0aabf67e9 100644 --- a/www/extras/yui-webgui/build/friendManager/friendManager.js +++ b/www/extras/yui-webgui/build/friendManager/friendManager.js @@ -11,6 +11,9 @@ if ( typeof WebGUI == "undefined" ) { if ( typeof WebGUI.FriendManager == "undefined" ) { WebGUI.FriendManager = {}; } +if ( typeof WebGUI.FriendManager.tables == "undefined" ) { + WebGUI.FriendManager.tables = {}; +} /*--------------------------------------------------------------------------- WebGUI.FriendManager.initManager ( )