Add managed Friends network, allowing a designated group to add and remove
friends from each other groups.
This commit is contained in:
commit
535621e8b6
7 changed files with 80 additions and 18 deletions
|
|
@ -87,8 +87,6 @@ Optionally set bare to be true, or false.
|
|||
|
||||
=cut
|
||||
|
||||
public bare => my %bare;
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 store ( [ hashRef ] )
|
||||
|
|
@ -102,7 +100,9 @@ A hash reference of data to store.
|
|||
=cut
|
||||
|
||||
public store => my %store; #This is an all purpose hash to store stuff in: $self->store->{something} = "something"
|
||||
|
||||
public bare => my %bare; #This flag indicates that neither the layout nor style template should be applied
|
||||
#to the output of the method. Think JSON/XML, etc.
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 appendCommonVars ( var )
|
||||
|
|
@ -211,6 +211,9 @@ sub displayContent {
|
|||
##Don't do any templating if we're sending back data like JSON or XML.
|
||||
return $content if $self->bare;
|
||||
|
||||
##Don't do any templating if we're sending back data like JSON or XML.
|
||||
return $content if $self->bare;
|
||||
|
||||
#Wrap content into the layout
|
||||
my $var = {};
|
||||
$var->{content} = $content;
|
||||
|
|
@ -437,6 +440,7 @@ sub new {
|
|||
$store { $id } = {};
|
||||
$method { $id } = "view";
|
||||
$uid { $id } = undef;
|
||||
$bare { $id } = 0;
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,16 +49,16 @@ sub appendCommonVars {
|
|||
my $session = $self->session;
|
||||
my $var = shift;
|
||||
my $inbox = shift || WebGUI::Inbox->new($session);
|
||||
my $user = $session->user;
|
||||
my $user = $self->getUser;
|
||||
my $method = $self->method;
|
||||
|
||||
$self->SUPER::appendCommonVars($var);
|
||||
|
||||
$var->{'view_inbox_url' } = $self->getUrl("module=inbox;do=view");
|
||||
$var->{'view_inbox_url' } = $self->getUrl("module=inbox;do=view", 'useUid');
|
||||
$var->{'view_invitations_url' } = $self->getUrl("module=inbox;do=manageInvitations");
|
||||
$var->{'unread_message_count' } = $inbox->getUnreadMessageCount;
|
||||
$var->{'unread_message_count' } = $inbox->getUnreadMessageCount($user->userId);
|
||||
$var->{'invitation_count' } = $self->getInvitationCount;
|
||||
$var->{'invitations_enabled' } = $session->user->profileField('ableToBeFriend');
|
||||
$var->{'invitations_enabled' } = $user->profileField('ableToBeFriend');
|
||||
$var->{'user_invitations_enabled'} = $session->setting->get("inboxInviteUserEnabled");
|
||||
$var->{'invite_friend_url' } = $self->getUrl("module=inbox;do=inviteUser");
|
||||
|
||||
|
|
@ -77,7 +77,9 @@ Returns whether or not the user can view the inbox tab
|
|||
|
||||
sub canView {
|
||||
my $self = shift;
|
||||
return ($self->uid eq "");
|
||||
my $session = $self->session;
|
||||
return $self->uid eq ""
|
||||
|| $self->uid ne "" && $session->user->isInGroup($session->setting->get('groupIdAdminUser'));
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -1321,7 +1323,8 @@ The main view page for editing the user's profile.
|
|||
sub www_view {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $user = $session->user;
|
||||
my $user = $self->getUser;
|
||||
|
||||
my $var = {};
|
||||
|
||||
$self->store->{tab} = "inbox";
|
||||
|
|
@ -1343,7 +1346,7 @@ sub www_view {
|
|||
my $userFilter_url = ";userFilter=$userFilter";
|
||||
|
||||
#Cache the base url
|
||||
my $inboxUrl = $self->getUrl;
|
||||
my $inboxUrl = $self->getUrl('', 'useUid');
|
||||
|
||||
my $urlFrag = $sortDir_url . $rpp_url . $userFilter_url;
|
||||
|
||||
|
|
@ -1366,7 +1369,7 @@ sub www_view {
|
|||
if ($userFilter ne 'all') {
|
||||
$messageOptions->{whereClause} = sprintf 'ibox.sentBy=%s', $session->db->quote($session->form->get('userFilter'));
|
||||
}
|
||||
my $p = $inbox->getMessagesPaginator($session->user, $messageOptions);
|
||||
my $p = $inbox->getMessagesPaginator($user, $messageOptions);
|
||||
|
||||
#Export page to template
|
||||
my @msg = ();
|
||||
|
|
@ -1376,7 +1379,7 @@ sub www_view {
|
|||
|
||||
my $hash = {};
|
||||
$hash->{'message_id' } = $message->getId;
|
||||
$hash->{'message_url' } = $self->getUrl("module=inbox;do=viewMessage;messageId=".$message->getId);
|
||||
$hash->{'message_url' } = $self->getUrl("module=inbox;do=viewMessage;messageId=".$message->getId,'useUid');
|
||||
$hash->{'subject' } = $message->get("subject");
|
||||
$hash->{'status_class' } = $message->get("status");
|
||||
$hash->{'status' } = $message->getStatus;
|
||||
|
|
@ -1543,7 +1546,7 @@ The page on which users view their messages
|
|||
sub www_viewMessage {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $user = $session->user;
|
||||
my $user = $self->getUser;
|
||||
|
||||
my $var = {};
|
||||
my $messageId = shift || $session->form->get("messageId");
|
||||
|
|
|
|||
|
|
@ -98,18 +98,22 @@ WebGUI::User object to test against. Defaults to the current user.
|
|||
|
||||
sub canRead {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $message = shift;
|
||||
my $user = shift || $self->session->user;
|
||||
my $user = shift || $session->user;
|
||||
|
||||
unless (ref $message eq "WebGUI::Inbox::Message") {
|
||||
$self->session->log->warn("Message passed in was either empty or not a valid WebGUI::Inbox::Message. Got: ".(ref $message));
|
||||
$session->log->warn("Message passed in was either empty or not a valid WebGUI::Inbox::Message. Got: ".(ref $message));
|
||||
return 0
|
||||
}
|
||||
|
||||
my $userId = $message->get("userId");
|
||||
my $userId = $message->get("userId");
|
||||
my $groupId = $message->get("groupId");
|
||||
|
||||
return ($user->userId eq $userId || (defined $groupId && $user->isInGroup($groupId)));
|
||||
return ($user->userId eq $userId
|
||||
|| (defined $groupId && $user->isInGroup($groupId))
|
||||
|| ($user->isInGroup($session->setting->get('groupIdAdminUser')))
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3749,7 +3749,6 @@ LongTruncOk=1</p>
|
|||
lastUpdated => 0,
|
||||
},
|
||||
|
||||
|
||||
'settings groupIdAdminAdSpace label' => {
|
||||
message => q{AdSpace},
|
||||
lastUpdated => 0,
|
||||
|
|
@ -3791,6 +3790,15 @@ LongTruncOk=1</p>
|
|||
},
|
||||
|
||||
|
||||
'settings groupIdAdminFriends label' => {
|
||||
message => q{Friends},
|
||||
lastUpdated => 0,
|
||||
},
|
||||
'settings groupIdAdminFriends hoverHelp' => {
|
||||
message => q{Group to manage friends.},
|
||||
lastUpdated => 0,
|
||||
},
|
||||
|
||||
'settings groupIdAdminGraphics label' => {
|
||||
message => q{Graphics},
|
||||
lastUpdated => 0,
|
||||
|
|
@ -4387,6 +4395,12 @@ Users may override this setting in their profile.
|
|||
message => q|The email address that this site would use to send an SMS message.|,
|
||||
lastUpdated => 1235695517,
|
||||
},
|
||||
|
||||
'Select One' => {
|
||||
message => q|Select One|,
|
||||
context => q|Label in dropdown lists, indicating that the user should use the list to select 1 entry. It is implied that if nothing is chosen, that nothing will happen.|,
|
||||
lastUpdated => 1239057119,
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue