Fix JS errors, add ableToBeFriend profile override.

This commit is contained in:
Colin Kuskie 2009-04-09 17:22:07 -07:00
parent 1f5a83d0c6
commit a5c7e2b39b
5 changed files with 25 additions and 3 deletions

View file

@ -91,6 +91,12 @@ sub editSettingsForm {
label => $i18n->get("edit template label"), label => $i18n->get("edit template label"),
hoverHelp => $i18n->get("edit template hoverHelp"), 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; return $f->printRowsOnly;
} }
@ -112,8 +118,9 @@ sub editSettingsFormSave {
$setting->set("fmViewTemplateId", $form->process("fmViewTemplateId", "template")); $setting->set("fmViewTemplateId", $form->process("fmViewTemplateId", "template"));
$setting->set("fmEditTemplateId", $form->process("fmEditTemplateId", "template")); $setting->set("fmEditTemplateId", $form->process("fmEditTemplateId", "template"));
my $groupsToManageFriends = $form->process("groupsToManageFriends", "group"); my $groupsToManageFriends = $form->process("groupsToManageFriends", "group");
$setting->set("groupsToManageFriends", $groupsToManageFriends); $setting->set("groupsToManageFriends", $groupsToManageFriends);
$setting->set("groupIdAdminFriends", $form->process("groupIdAdminFriends", "group")); $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); my $i18n = WebGUI::International->new($session);
$usersToAdd{0} = $i18n->get('Select One'); $usersToAdd{0} = $i18n->get('Select One');
my @usersToAdd = (); my @usersToAdd = ();
my $overrideProfile = $session->setting->get('overrideAbleToBeFriend');
USERID: foreach my $newFriendId (@manageableUsers) { USERID: foreach my $newFriendId (@manageableUsers) {
next USERID if $newFriendId eq $userId; next USERID if $newFriendId eq $userId;
my $user = WebGUI::User->new($session, $newFriendId); my $user = WebGUI::User->new($session, $newFriendId);
##We don't use acceptsFriendsRequests here because it's overkill. ##We don't use acceptsFriendsRequests here because it's overkill.
##No need to check invitations, since friends are managed. ##No need to check invitations, since friends are managed.
##Existing friends are already filtered out. ##Existing friends are already filtered out.
next USERID unless $user->profileField('ableToBeFriend'); next USERID unless $user->profileField('ableToBeFriend') || $overrideProfile;
push @usersToAdd, [ $newFriendId, $user->username ]; push @usersToAdd, [ $newFriendId, $user->username ];
} }

View file

@ -43,6 +43,16 @@ our $I18N = {
lastUpdated => 0, 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' => { 'title' => {
message => q{Friend Manager}, message => q{Friend Manager},
lastUpdated => 0, lastUpdated => 0,

View file

@ -47,6 +47,7 @@ sub installFriendManagerSettings {
$session->setting->add('fmViewTemplateId', '64tqS80D53Z0JoAs2cX2VQ'); $session->setting->add('fmViewTemplateId', '64tqS80D53Z0JoAs2cX2VQ');
$session->setting->add('fmEditTemplateId', 'lG2exkH9FeYvn4pA63idNg'); $session->setting->add('fmEditTemplateId', 'lG2exkH9FeYvn4pA63idNg');
$session->setting->add('groupsToManageFriends', '2'); $session->setting->add('groupsToManageFriends', '2');
$session->setting->add('overrideAbleToBeFriend', 0);
print "\tDone"; print "\tDone";
} }

View file

@ -11,6 +11,9 @@ if ( typeof WebGUI == "undefined" ) {
if ( typeof WebGUI.FriendManager == "undefined" ) { if ( typeof WebGUI.FriendManager == "undefined" ) {
WebGUI.FriendManager = {}; WebGUI.FriendManager = {};
} }
if ( typeof WebGUI.FriendManager.tables == "undefined" ) {
WebGUI.FriendManager.tables = {};
}
/*--------------------------------------------------------------------------- /*---------------------------------------------------------------------------
WebGUI.FriendManager.initManager ( ) WebGUI.FriendManager.initManager ( )