Add missing POD. Also, do not call methods from Wobject that are inherited from

Asset.
This commit is contained in:
Colin Kuskie 2009-07-06 03:07:25 +00:00
parent c280849f50
commit ba08f9dd89

View file

@ -63,6 +63,13 @@ sub _visitorCacheOk {
}
#-------------------------------------------------------------------
=head2 addChild
Extend the base method to allow only Threads as children.
=cut
sub addChild {
my $self = shift;
my $properties = shift;
@ -76,6 +83,22 @@ sub addChild {
#-------------------------------------------------------------------
=head2 appendPostListTemplateVars ($var, $p)
Takes a WebGUI::Paginator object that should be full of Posts, and appends template
variables to the hash reference.
=head3 $var
A hash reference. Template variables will be added to it.
=head3 $p
A reference to a WebGUI::Paginator object.
=cut
sub appendPostListTemplateVars {
my $self = shift;
my $var = shift;
@ -159,6 +182,17 @@ sub appendPostListTemplateVars {
}
#-------------------------------------------------------------------
=head2 appendTemplateLabels ($var)
Appends a whole mess of internationalized labels for use in a template.
=head3 $var
A hash reference. Template labels will be appended to it.
=cut
sub appendTemplateLabels {
my $self = shift;
my $var = shift;
@ -237,6 +271,18 @@ sub appendTemplateLabels {
}
#-------------------------------------------------------------------
=head2 canEdit ( [ $userId ] )
Extends the base method to include adding Threads to this CS.
=head3 $userId
A userId to check for edit permissions. If $userId is false, then it checks
the current session user.
=cut
sub canEdit {
my $self = shift;
my $userId = shift || $self->session->user->userId;
@ -257,13 +303,38 @@ sub canEdit {
}
#-------------------------------------------------------------------
=head2 canModerate ( [ $userId ] )
Returns true if the user can edit this Collaboration System.
=head3 $userId
A userId to check for permission. If $userId is false, then it checks
the current session user.
=cut
sub canModerate {
my $self = shift;
my $userId = shift || $self->session->user->userId;
return $self->WebGUI::Asset::Wobject::canEdit( $userId );
return $self->WebGUI::Asset::canEdit( $userId );
}
#-------------------------------------------------------------------
=head2 canPost ( [ $userId ] )
Returns true if the user can post to the CS. Checks that the CS is committed,
that the user is in the group to post, or that the user can edit this CS.
=head3 $userId
A userId to check for edit permissions. If $userId is false, then it checks
the current session user.
=cut
sub canPost {
my $self = shift;
my $userId = shift;
@ -283,12 +354,25 @@ sub canPost {
}
# Users who can edit the collab can post
else {
return $self->WebGUI::Asset::Wobject::canEdit( $userId );
return $self->WebGUI::Asset::canEdit( $userId );
}
}
#-------------------------------------------------------------------
=head2 canSubscribe ( [ $userId ] )
Returns true if the user can subscribe to the CS. Checks that the user is registered
and that they canView the Post.
=head3 $userId
A userId to check for edit permissions. If $userId is false, then it checks
the current session user.
=cut
sub canSubscribe {
my $self = shift;
my $userId = shift;
@ -301,6 +385,19 @@ sub canSubscribe {
}
#-------------------------------------------------------------------
=head2 canStartThread ( [ $userId ] )
Returns true if the user can start a thread in the CS. Checks that the user is in the
canStartThreadGroup or that they canEdit the CS.
=head3 $userId
A userId to check for edit permissions. If $userId is false, then it checks
the current session user.
=cut
sub canStartThread {
my $self = shift;
my $userId = shift;
@ -311,12 +408,24 @@ sub canStartThread {
;
return (
$user->isInGroup($self->get("canStartThreadGroupId"))
|| $self->WebGUI::Asset::Wobject::canEdit( $userId )
|| $self->WebGUI::Asset::canEdit( $userId )
);
}
#-------------------------------------------------------------------
=head2 canView ( [ $userId ] )
Extends the base method to also allow users who canPost to the CS.
=head3 $userId
A userId to check for edit permissions. If $userId is false, then it checks
the current session user.
=cut
sub canView {
my $self = shift;
my $userId = shift || $self->session->user->userId;
@ -324,6 +433,15 @@ sub canView {
}
#-------------------------------------------------------------------
=head2 commit
Extend the base method to handle making a cron job for fetching mail for the CS. The
cron job is created even if the CS does not have email enabled. The cron is disabled
in that case.
=cut
sub commit {
my $self = shift;
$self->next::method;
@ -351,6 +469,13 @@ sub commit {
}
#-------------------------------------------------------------------
=head2 createSubscriptionGroup
Creates a group to hold users who want to receive posts to this CS by email.
=cut
sub createSubscriptionGroup {
my $self = shift;
my $group = WebGUI::Group->new($self->session, "new");
@ -806,6 +931,13 @@ sub definition {
}
#-------------------------------------------------------------------
=head2 duplicate
Extend the base method to handle making a subscription group for the new CS.
=cut
sub duplicate {
my $self = shift;
my $newAsset = $self->next::method(@_);
@ -841,6 +973,13 @@ sub getNewThreadUrl {
}
#-------------------------------------------------------------------
=head2 getRssFeedItems
Returns an array ref of Posts for use in making the feeds for this CS.
=cut
sub getRssFeedItems {
my $self = shift;
@ -1070,6 +1209,14 @@ sub getUnsubscribeUrl {
#-------------------------------------------------------------------
=head2 getViewTemplateVars
Returns a hash reference full of template variables that are used in
several CS templates.
=cut
sub getViewTemplateVars {
my $self = shift;
my %var;
@ -1197,6 +1344,15 @@ sub prepareView {
#-------------------------------------------------------------------
=head2 processPropertiesFromFormPost
Extend the base method to handle creating subscription groups, propagating
group privileges to all descendants and clearing scratch variables for sort key
and direction.
=cut
sub processPropertiesFromFormPost {
my $self = shift;
my $updatePrivs = ($self->session->form->process("groupIdView") ne $self->get("groupIdView") || $self->session->form->process("groupIdEdit") ne $self->get("groupIdEdit"));
@ -1218,6 +1374,13 @@ sub processPropertiesFromFormPost {
#-------------------------------------------------------------------
=head2 purge
Extend the base method to delete the subscription group and cron job for emails.
=cut
sub purge {
my $self = shift;
my $group = WebGUI::Group->new($self->session, $self->get("subscriptionGroupId"));
@ -1235,7 +1398,7 @@ sub purge {
=head2 purgeCache ( )
See WebGUI::Asset::purgeCache() for details.
Extend the base method to delete view and visitor caches.
=cut
@ -1377,6 +1540,13 @@ sub unsubscribe {
#-------------------------------------------------------------------
=head2 view
Render the CS, and handle local caching.
=cut
sub view {
my $self = shift;
if ($self->_visitorCacheOk) {
@ -1472,6 +1642,13 @@ sub www_unsubscribe {
}
#-------------------------------------------------------------------
=head2 www_view
Extend the base method to handle the visitor cache timeout.
=cut
sub www_view {
my $self = shift;
my $disableCache = ($self->session->form->process("sortBy") ne "");