Add the groupToEditPost field to the Collaboration system. This allows users

to specify a group of users that will always be able to do edits on posts,
regardless of whether they own those posts and independent of the editTimeout
field.
This commit is contained in:
Chris Nehren 2007-11-06 22:58:22 +00:00
parent e5b7741f75
commit 0d689afa4c
5 changed files with 220 additions and 4 deletions

View file

@ -96,6 +96,7 @@ sub canEdit {
return (($self->session->form->process("func") eq "add" || ($self->session->form->process("assetId") eq "new" && $self->session->form->process("func") eq "editSave" && $self->session->form->process("class","className") eq "WebGUI::Asset::Post")) && $self->getThread->getParent->canPost) || # account for new posts
($self->isPoster && $self->getThread->getParent->get("editTimeout") > ($self->session->datetime->time() - $self->get("revisionDate"))) ||
$self->session->user->isInGroup($self->getThread->getParent->get('groupToEditPost')) ||
$self->getThread->getParent->canEdit;
}

View file

@ -729,11 +729,21 @@ sub definition {
subscriptionGroupId =>{
fieldType=>"subscriptionGroup",
tab=>'security',
label=>$i18n->get("subscription group label"),
hoverHelp=>$i18n->get("subscription group hoverHelp"),
label=>"subscription group label",
hoverHelp=>"subscription group hoverHelp",
noFormPost=>1,
defaultValue=>undef,
},
},
groupToEditPost=>{
tab=>"security",
label=>'Group to Edit Posts',
excludeGroups=>[1,7],
hoverHelp=>'Group to Edit Posts',
uiLevel=>6,
fieldType=>'group',
filter=>'fixId',
defaultValue=>'4'
},
);
push(@{$definition}, {
@ -951,7 +961,7 @@ sub getThreadsPaginator {
if ($sortBy eq 'rating') {
$sortBy = 'threadRating';
}
$sortBy = $self->session->db->dbh->quote_identifier($sortBy);
#$sortBy = $self->session->db->dbh->quote_identifier($sortBy);
my $sql = "
select
asset.assetId,