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"),
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 ];
}

View file

@ -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,

View file

@ -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";
}

View file

@ -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 ( )