workflow activity to notify admins of old version tags; start thread group in CS

This commit is contained in:
James Tolley 2007-07-09 20:02:09 +00:00
parent 6e0470771e
commit e1de42261d
8 changed files with 330 additions and 2 deletions

View file

@ -289,6 +289,21 @@ sub canSubscribe {
return ($self->session->user->userId ne "1" && $self->canView);
}
#-------------------------------------------------------------------
sub canStartThread {
my $self = shift;
return (
(
$self->get("status") eq "approved" ||
$self->getTagCount > 1 # checks to make sure that the cs has been committed at least once
) && (
$self->session->user->isInGroup($self->get("canStartThreadGroupId"))
|| $self->SUPER::canEdit
)
);
}
#-------------------------------------------------------------------
sub canView {
my $self = shift;
@ -393,6 +408,14 @@ sub definition {
label=>$i18n->get('approval workflow'),
hoverHelp=>$i18n->get('approval workflow description'),
},
threadApprovalWorkflow =>{
fieldType=>"workflow",
defaultValue=>"pbworkflow000000000003",
type=>'WebGUI::VersionTag',
tab=>'security',
label=>$i18n->get('thread approval workflow'),
hoverHelp=>$i18n->get('thread approval workflow description'),
},
thumbnailSize => {
fieldType => "integer",
defaultValue => 0,
@ -683,6 +706,13 @@ sub definition {
label=>$i18n->get('who posts'),
hoverHelp=>$i18n->get('who posts description'),
},
canStartThreadGroupId =>{
fieldType=>"group",
defaultValue=>'2',
tab=>'security',
label=>$i18n->get('who threads'),
hoverHelp=>$i18n->get('who threads description'),
},
defaultKarmaScale => {
fieldType=>"integer",
defaultValue=>1,
@ -904,6 +934,7 @@ sub getViewTemplateVars {
$sortOrder ||= "desc";
my %var;
$var{'user.canPost'} = $self->canPost;
$var{'user.canStartThread'} = $self->canStartThread;
$var{"add.url"} = $self->getNewThreadUrl;
$var{"rss.url"} = $self->getRssUrl;
$var{'user.isModerator'} = $self->canModerate;
@ -1039,7 +1070,7 @@ See WebGUI::Asset::prepareView() for details.
sub prepareView {
my $self = shift;
$self->SUPER::prepareView();
my $template = WebGUI::Asset::Template->new($self->session, $self->get("collaborationTemplateId"));
my $template = WebGUI::Asset::Template->new($self->session, $self->get("collaborationTemplateId")) or die "no good: ".$self->get("collaborationTemplateId");
$self->session->style->setLink($self->getRssUrl,{ rel=>'alternate', type=>'application/rss+xml', title=>'RSS' });
$template->prepare;
$self->{_viewTemplate} = $template;