converted cs to use workflow engine for moderation

This commit is contained in:
JT Smith 2006-03-30 03:52:18 +00:00
parent fe8dd69731
commit 299dd5aa09
13 changed files with 154 additions and 221 deletions

View file

@ -64,6 +64,12 @@ save you many hours of grief.
segments of the content in your import node, you'll need
to change it after the upgrade.
* Because collaboration system posts are now integrated with
the workflow engine, the approve/deny links are no longer
needed or used in your templates. In addition if you wish
to use an approval process on any of your collaboration
systems, you'll need to re-enable it after this upgrade.
6.8.4
--------------------------------------------------------------------

View file

@ -199,6 +199,9 @@ sub addWorkflow {
message mediumtext,
toGroup varchar(22) binary
)");
$session->db->write("alter table Collaboration drop column moderatePosts");
$session->db->write("alter table Collaboration drop column moderateGroupId");
$session->db->write("alter table Collaboration add column approvalWorkflow varchar(22) binary not null default 'pbworkflow000000000003'");
print "\t\tPurging old workflow info.\n";
my $versionTag = WebGUI::VersionTag->getWorking($session);
$versionTag->set({name=>"Upgrade to ".$toVersion});

View file

@ -1801,7 +1801,7 @@ sub www_editSave {
if ($self->session->config("maximumAssets")) {
my ($count) = $self->session->db->quickArray("select count(*) from asset");
my $i18n = WebGUI::International->new($self->session, "Asset");
$self->session->style->userStyle($i18n->get("over max assets")) if ($self->session->config("maximumAssets") <= $count);
return $self->session->style->userStyle($i18n->get("over max assets")) if ($self->session->config("maximumAssets") <= $count);
}
my $object;
if ($self->session->form->process("assetId") eq "new") {

View file

@ -27,7 +27,7 @@ use WebGUI::SQL;
use WebGUI::Storage::Image;
use WebGUI::User;
use WebGUI::Utility;
use WebGUI::VersionTag;
our @ISA = qw(WebGUI::Asset);
@ -63,7 +63,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") 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("dateUpdated"))) ||
$self->getThread->getParent->canModerate;
$self->getThread->getParent->canEdit;
}
@ -100,6 +100,14 @@ sub chopTitle {
return substr($self->get("title"),0,30);
}
#-------------------------------------------------------------------
sub commit {
my $self = shift;
$self->SUPER::commit;
$self->notifySubscribers;
}
#-------------------------------------------------------------------
sub definition {
my $class = shift;
@ -217,19 +225,6 @@ sub formatContent {
#-------------------------------------------------------------------
=head2 getApproveUrl ( )
Formats the URL to approve a post.
=cut
sub getApproveUrl {
my $self = shift;
return $self->getUrl("revision=".$self->get("revisionDate").";func=approve;mlog=".$self->session->form->process("mlog"));
}
#-------------------------------------------------------------------
=head2 getAvatarUrl ( )
Returns a URL to the owner's avatar.
@ -407,7 +402,6 @@ sub getTemplateVars {
$var{"delete.url"} = $self->getDeleteUrl;
$var{"edit.url"} = $self->getEditUrl;
$var{"status"} = $self->getStatus;
$var{"approve.url"} = $self->getApproveUrl;
$var{"reply.url"} = $self->getReplyUrl;
$var{'reply.withquote.url'} = $self->getReplyUrl(1);
$var{'url'} = $self->getUrl.'#id'.$self->getId;
@ -664,11 +658,12 @@ sub processPropertiesFromFormPost {
isHidden => 1,
);
$data{url} = $self->fixUrl($self->getThread->get("url")."/1") if ($self->isReply);
if ($self->getThread->getParent->canModerate) {
if ($self->getThread->getParent->canEdit) {
$self->getThread->lock if ($self->session->form->process('lock'));
$self->getThread->stick if ($self->session->form->process("stick"));
}
$self->getThread->unarchive if ($self->getThread->get("status") eq "archived");
$self->getThread->incrementReplies($self->get("dateUpdated"),$self->getId) if ($self->isReply);
}
$data{groupIdView} =$self->getThread->getParent->get("groupIdView");
$data{groupIdEdit} = $self->getThread->getParent->get("groupIdEdit");
@ -681,12 +676,7 @@ sub processPropertiesFromFormPost {
}
$self->update(\%data);
$self->getThread->subscribe if ($self->session->form->process("subscribe"));
if ($self->getThread->getParent->get("moderatePosts")) {
$self->setStatusPending;
} else {
$self->setStatusApproved;
}
delete $self->{_storageLocation};
delete $self->{_storageLocation};
my $storage = $self->getStorageLocation;
my $filename;
my $attachmentLimit = $self->getThread->getParent->get("attachmentsPerPost");
@ -702,9 +692,20 @@ sub processPropertiesFromFormPost {
}
}
}
# clear some cache
WebGUI::Cache->new($self->session,"wobject_".$self->getThread->getParent->getId."_".$self->session->user->userId)->delete;
WebGUI::Cache->new($self->session,"cspost_".($self->getParent->getId)."_".$self->session->user->userId."_".$self->session->scratch->get("discussionLayout")."_1")->delete;
# allows us to let the cs post use it's own workflow approval process
my $currentTag = WebGUI::VersionTag->getWorking($self->session);
if ($currentTag->getAssetCount < 2) {
$currentTag->set({workflowId=>$self->getThread->getParent->get("approvalWorkflow")});
$currentTag->requestCommit;
} else {
my $newTag = WebGUI::VersionTag->create($self->session, {
name=>$self->getTitle." / ".$self->session->user->username,
workflowId=>$self->getThread->getParent->get("approvalWorkflow")
});
$self->session->db->write("update assetData set tagId=? where assetId=? and tagId=?",[$newTag->getId, $self->getId, $currentTag->getId]);
$self->purgeCache;
$newTag->requestCommit;
}
}
@ -781,68 +782,19 @@ sub setParent {
return $self->SUPER::setParent($newParent);
}
#-------------------------------------------------------------------
=head2 setStatusApproved ( )
Sets the post to approved and sends any necessary notifications.
=cut
sub setStatusApproved {
my $self = shift;
$self->commit;
$self->getThread->incrementReplies($self->get("dateUpdated"),$self->getId) if ($self->isReply && ($self->session->form->process('assetId') eq
"new"));
unless ($self->isPoster) {
my $i18n = WebGUI::International->new($self->session);
WebGUI::Inbox->new($self->session)->addMessage({
userId=>$self->get("ownerUserId"),
status=>'completed',
message=>$i18n->get(579)."\n\n".$self->session->url->getSiteURL().'/'.$self->getUrl
});
}
$self->notifySubscribers unless ($self->session->form->process("func") eq 'add');
}
#-------------------------------------------------------------------
=head2 setStatusArchived ( )
Sets the status of this post to archived. This will only happen if the post status is approved.
Sets the status of this post to archived.
=cut
sub setStatusArchived {
my ($self) = @_;
$self->update({status=>'archived'}) if ($self->get("status") eq "approved");
}
#-------------------------------------------------------------------
=head2 setStatusPending ( )
Sets the status of this post to pending.
=cut
sub setStatusPending {
my ($self) = @_;
if ($self->session->user->isInGroup($self->getThread->getParent->get("moderateGroupId"))) {
$self->setStatusApproved;
} else {
$self->update({status=>'pending'});
my $i18n = WebGUI::International->new($self->session);
WebGUI::Inbox->new($self->session)->addMessage({
status=>'pending',
message=>$i18n->get("578")."\n\n".$self->session->url->getSiteURL().'/'.$self->getUrl("revision=".$self->get("revisionDate")),
groupId=>$self->getThread->getParent->get("moderateGroupId")
});
}
$self->update({status=>'archived'});
}
@ -927,21 +879,6 @@ sub view {
}
#-------------------------------------------------------------------
=head2 www_approve ( )
The web method to approve a post.
=cut
sub www_approve {
my $self = shift;
$self->setStatusApproved if $self->getThread->getParent->canModerate;
return $self->www_view;
}
#-------------------------------------------------------------------
sub www_deleteFile {
my $self = shift;
@ -995,9 +932,8 @@ sub www_edit {
});
} elsif ($self->session->form->process("class") eq "WebGUI::Asset::Post::Thread") { # new thread
return $self->session->privilege->insufficient() unless ($self->getThread->getParent->canPost);
$var{'form.header'} .= WebGUI::Form::hidden($self->session, {name=>"proceed", value=>"redirectToParent"});
$var{isNewThread} = 1;
if ($self->getThread->getParent->canModerate) {
if ($self->getThread->getParent->canEdit) {
$var{'sticky.form'} = WebGUI::Form::yesNo($self->session, {
name=>'stick',
value=>$self->session->form->process("stick")
@ -1032,6 +968,7 @@ sub www_edit {
$content = $self->getValue("content");
$title = $self->getValue("title");
}
$var{'form.header'} .= WebGUI::Form::hidden($self->session, {name=>"proceed", value=>"showConfirmation"});
if ($self->session->form->process("title") || $self->session->form->process("content") || $self->session->form->process("synopsis")) {
$var{'preview.title'} = WebGUI::HTML::filter($self->session->form->process("title"),"all");
($var{'preview.synopsis'}, $var{'preview.content'}) = $self->getSynopsisAndContentFromFormPost;
@ -1042,7 +979,7 @@ sub www_edit {
}
$var{'form.footer'} = WebGUI::Form::formFooter($self->session,);
$var{usePreview} = $self->getThread->getParent->get("usePreview");
$var{'user.isModerator'} = $self->getThread->getParent->canModerate;
$var{'user.isModerator'} = $self->getThread->getParent->canEdit;
$var{'user.isVisitor'} = ($self->session->user->userId eq '1');
$var{'visitorName.form'} = WebGUI::Form::text($self->session, {
name=>"visitorName",
@ -1110,6 +1047,41 @@ sub www_edit {
}
#-------------------------------------------------------------------
=head2 www_editSave ()
We're extending www_editSave() here to deal with editing a post that has been denied by the approval process. Our change will reassign the old working tag of this post to the user so that they can edit it.
=cut
sub www_editSave {
my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit;
if ($self->session->config("maximumAssets")) {
my ($count) = $self->session->db->quickArray("select count(*) from asset");
my $i18n = WebGUI::International->new($self->session, "Asset");
return $self->session->style->userStyle($i18n->get("over max assets")) if ($self->session->config("maximumAssets") <= $count);
}
if ($self->session->form->param("assetId") ne "new" && $self->get("status") eq "pending") {
my $currentTag = WebGUI::VersionTag->getWorking($self->session, 1);
if (defined $currentTag && $currentTag->getAssetCount > 0) {
# play a little working tag switcheroo
$self->session->stow("temporaryWorkingTagHolder",$currentTag);
}
my $tag = WebGUI::VersionTag->new($self->session, $self->get("tagId"));
$tag->setWorking if defined $tag;
}
my $output = $self->SUPER::www_editSave();
if ($self->session->stow->get("temporaryWorkingTagHolder")) {
# undo switcharoo
my $tag = $self->session->stow->get("temporaryWorkingTagHolder");
$tag->setWorking if defined $tag;
$self->session->stow->delete("temporaryWorkingTagHolder");
}
return $output;
}
#-------------------------------------------------------------------
=head2 www_ratePost ( )
@ -1127,15 +1099,16 @@ sub www_rate {
#-------------------------------------------------------------------
=head2 www_redirectToParent ( )
=head2 www_showConfirmation ( )
This is here to stop people from duplicating posts by hitting refresh in their browser.
Shows a confirmation message letting the user know their post has been submitted.
=cut
sub www_redirectToParent {
sub www_showConfirmation {
my $self = shift;
$self->session->http->setRedirect($self->getParent->getUrl);
my $i18n = WebGUI::International->new($self->session, "Asset_Post");
return $self->getThread->getParent->processStyle('<p>'.$i18n->get("post received").'</p><p><a href="'.$self->getThread->getParent->getUrl.'">'.$i18n->get("493","WebGUI").'</a></p>');
}

View file

@ -503,7 +503,10 @@ sub processPropertiesFromFormPost {
if ($self->get("subscriptionGroupId") eq "") {
$self->createSubscriptionGroup;
}
if ($self->getParent->canModerate) {
if ($self->session->form->process("assetId") eq "new") {
$self->getParent->incrementThreads($self->get("dateUpdated"),$self->getId) unless ($self->isReply);
}
if ($self->getParent->canEdit) {
my $karmaScale = $self->session->form("karmaScale","integer") || 1;
$self->update({karmaScale=>$karmaScale, karmaRank=>$self->get("karma")/$karmaScale});
}
@ -590,19 +593,6 @@ sub setParent {
return $self->WebGUI::Asset::setParent($newParent);
}
#-------------------------------------------------------------------
=head2 setStatusApproved ( )
Sets the post to approved and sends any necessary notifications.
=cut
sub setStatusApproved {
my $self = shift;
$self->SUPER::setStatusApproved;
$self->getParent->incrementThreads($self->get("dateUpdated"),$self->getId) unless ($self->isReply);
}
#-------------------------------------------------------------------
@ -629,7 +619,6 @@ Subscribes the user to this thread.
sub subscribe {
my $self = shift;
$self->createSubscriptionGroup;
WebGUI::Cache->new($self->session,"cspost_".$self->getId."_".$self->session->user->userId."_".$self->session->scratch->get("discussionLayout")."_".$self->session->form->process("pn"))->delete;
my $group = WebGUI::Group->new($self->session,$self->get("subscriptionGroupId"));
$group->addUsers([$self->session->user->userId]);
}
@ -705,7 +694,6 @@ Negates the subscribe method.
sub unsubscribe {
my $self = shift;
WebGUI::Cache->new($self->session,"cspost_".$self->getId."_".$self->session->user->userId."_".$self->session->scratch->get("discussionLayout")."_".$self->session->form->process("pn"))->delete;
my $group = WebGUI::Group->new($self->session,$self->get("subscriptionGroupId"));
$group->deleteUsers([$self->session->user->userId]);
}
@ -721,7 +709,7 @@ sub view {
$self->getParent->appendTemplateLabels($var);
$var->{'user.isVisitor'} = ($self->session->user->userId eq '1');
$var->{'user.isModerator'} = $self->getParent->canModerate;
$var->{'user.isModerator'} = $self->getParent->canEdit;
$var->{'user.canPost'} = $self->getParent->canPost;
$var->{'user.canReply'} = $self->canReply;
$var->{'repliesAllowed'} = $self->getParent->get("allowReplies");
@ -770,7 +758,7 @@ sub view {
and (
assetData.status in ('approved','archived')
or assetData.tagId=".$self->session->db->quote($self->session->scratch->get("versionTag"));
$sql .= " or assetData.status='pending'" if ($self->getParent->canModerate);
$sql .= " or assetData.status='pending'" if ($self->getParent->canEdit);
$sql .= " or (assetData.ownerUserId=".$self->session->db->quote($self->session->user->userId)." and assetData.ownerUserId<>'1')
))
group by assetData.assetId
@ -838,7 +826,7 @@ The web method to lock a thread.
sub www_lockThread {
my $self = shift;
$self->lock if $self->getParent->canModerate;
$self->lock if $self->getParent->canEdit;
return $self->www_view;
}
@ -852,7 +840,7 @@ The web method to make a thread sticky.
sub www_stick {
my $self = shift;
$self->stick if $self->getParent->canModerate;
$self->stick if $self->getParent->canEdit;
return $self->www_view;
}
@ -914,7 +902,7 @@ The web method to unlock a thread.
sub www_unlockThread {
my $self = shift;
$self->unlock if $self->getParent->canModerate;
$self->unlock if $self->getParent->canEdit;
return $self->www_view;
}
@ -928,7 +916,7 @@ The web method to make a sticky thread normal again.
sub www_unstick {
my $self = shift;
$self->unstick if $self->getParent->canModerate;
$self->unstick if $self->getParent->canEdit;
$self->www_view;
}

View file

@ -107,7 +107,6 @@ sub appendTemplateLabels {
$var->{"addquestion.label"} = $i18n->get("addquestion");
$var->{'all.label'} = $i18n->get("all");
$var->{'atleastone.label'} = $i18n->get("atleastone");
$var->{"approve.label"} = $i18n->get("approve");
$var->{'answer.label'} = $i18n->get("answer");
$var->{'attachment.label'} = $i18n->get("attachment");
$var->{"by.label"} = $i18n->get("by");
@ -173,16 +172,10 @@ sub canEdit {
$self->SUPER::canEdit());
}
#-------------------------------------------------------------------
sub canModerate {
my $self = shift;
return $self->session->user->isInGroup($self->get("moderateGroupId"));
}
#-------------------------------------------------------------------
sub canPost {
my $self = shift;
return $self->session->user->isInGroup($self->get("postGroupId")) || $self->canModerate;
return $self->session->user->isInGroup($self->get("postGroupId")) || $self->canEdit;
}
@ -252,6 +245,10 @@ sub definition {
tableName=>'Collaboration',
className=>'WebGUI::Asset::Wobject::Collaboration',
properties=>{
approvalWorkflow =>{
fieldType=>"workflow",
defaultValue=>"pbworkflow000000000003"
},
displayLastReply =>{
fieldType=>"yesNo",
defaultValue=>0
@ -380,18 +377,10 @@ sub definition {
fieldType => "integer",
defaultValue=> 0
},
moderatePosts =>{
fieldType=>"yesNo",
defaultValue=>0
},
avatarsEnabled =>{
fieldType=>"yesNo",
defaultValue=>0
},
moderateGroupId =>{
fieldType=>"group",
defaultValue=>'4'
},
postGroupId =>{
fieldType=>"group",
defaultValue=>'2'
@ -466,18 +455,18 @@ sub getEditForm {
-label=>$i18n->get('rss template'),
-hoverHelp=>$i18n->get('rss template description'),
);
$tabform->getTab("security")->group(
-name=>"moderateGroupId",
-label=>$i18n->get('who moderates'),
-hoverHelp=>$i18n->get('who moderates description'),
-value=>[$self->getValue("moderateGroupId")]
);
$tabform->getTab("security")->group(
-name=>"postGroupId",
-label=>$i18n->get('who posts'),
-hoverHelp=>$i18n->get('who posts description'),
-value=>[$self->getValue("postGroupId")]
);
$tabform->getTab("security")->workflow(
-name=>"approvalWorkflow",
-label=>$i18n->get('approval workflow'),
-hoverHelp=>$i18n->get('approval workflow description'),
-value=>[$self->getValue("approvalWorkflow")]
);
$tabform->getTab("display")->integer(
-name=>"threadsPerPage",
-label=>$i18n->get('threads/page'),
@ -625,12 +614,6 @@ sub getEditForm {
-hoverHelp=>$i18n->get('enable avatars description'),
-value=>$self->getValue("avatarsEnabled")
);
$tabform->getTab("security")->yesNo(
-name=>"moderatePosts",
-label=>$i18n->get('moderate'),
-hoverHelp=>$i18n->get('moderate description'),
-value=>$self->getValue("moderatePosts")
);
return $tabform;
}
@ -807,7 +790,7 @@ sub prepareView {
#-------------------------------------------------------------------
sub processPropertiesFromFormPost {
my $self = shift;
my $updatePrivs = ($self->session->form->process("groupIdView") ne $self->get("groupIdView") || $self->session->form->process("moderateGroupId") ne $self->get("moderateGroupId"));
my $updatePrivs = ($self->session->form->process("groupIdView") ne $self->get("groupIdView") || $self->session->form->process("groupIdEdit") ne $self->get("groupIdEdit"));
$self->SUPER::processPropertiesFromFormPost;
if ($self->get("subscriptionGroupId") eq "") {
$self->createSubscriptionGroup;
@ -816,7 +799,7 @@ sub processPropertiesFromFormPost {
foreach my $descendant (@{$self->getLineage(["descendants"],{returnObjects=>1})}) {
$descendant->update({
groupIdView=>$self->get("groupIdView"),
groupIdEdit=>$self->get("moderateGroupId")
groupIdEdit=>$self->get("groupIdEdit")
});
}
}
@ -886,7 +869,6 @@ Subscribes a user to this collaboration system.
sub subscribe {
my $self = shift;
WebGUI::Cache->new($self->session,"wobject_".$self->getId."_".$self->session->user->userId)->delete;
my $group = WebGUI::Group->new($self->session,$self->get("subscriptionGroupId"));
$group->addUsers([$self->session->user->userId]);
}
@ -901,7 +883,6 @@ Unsubscribes a user from this collaboration system
sub unsubscribe {
my $self = shift;
WebGUI::Cache->new($self->session,"wobject_".$self->getId."_".$self->session->user->userId)->delete;
my $group = WebGUI::Group->new($self->session,$self->get("subscriptionGroupId"));
$group->deleteUsers([$self->session->user->userId],[$self->get("subscriptionGroupId")]);
}
@ -930,7 +911,7 @@ sub view {
$var{'user.canPost'} = $self->canPost;
$var{"add.url"} = $self->getNewThreadUrl;
$var{"rss.url"} = $self->getRssUrl;
$var{'user.isModerator'} = $self->canModerate;
$var{'user.isModerator'} = $self->canEdit;
$var{'user.isVisitor'} = ($self->session->user->userId eq '1');
$var{'user.isSubscribed'} = $self->isSubscribed;
$var{'sortby.title.url'} = $self->getSortByUrl("title");
@ -1079,7 +1060,7 @@ sub www_search {
and (
assetData.status in ('approved','archived')
or assetData.tagId=".$self->session->db->quote($self->session->scratch->get("versionTag"));
$sql .= " or assetData.status='pending'" if ($self->canModerate);
$sql .= " or assetData.status='pending'" if ($self->canEdit);
$sql .= " or (assetData.ownerUserId=".$self->session->db->quote($self->session->user->userId)." and assetData.ownerUserId<>'1')
) ";
$sql .= " and ($all) " if ($all ne "");

View file

@ -251,7 +251,7 @@ sub www_exportGenerate {
$self->session->output->print($i18n->get('done'));
}
$self->session->output->printf($i18n->get('export information'), scalar(@{$assets}), ($self->session->datetime->time()-$startTime));
$self->session->output->print('<a target="_parent" href="'.$self->getUrl.'">'.$i18n->get(493).'</a>');
$self->session->output->print('<a target="_parent" href="'.$self->getUrl.'">'.$i18n->get(493,'WebGUI').'</a>');
return;
}

View file

@ -41,13 +41,13 @@ our $HELP = {
namespace => 'Asset_Collaboration',
},
{
title => 'who moderates',
description => 'who moderates description',
title => 'who posts',
description => 'who posts description',
namespace => 'Asset_Collaboration',
},
{
title => 'who posts',
description => 'who posts description',
title => 'approval workflow',
description => 'approval workflow description',
namespace => 'Asset_Collaboration',
},
{
@ -140,11 +140,6 @@ our $HELP = {
description => 'enable avatars description',
namespace => 'Asset_Collaboration',
},
{
title => 'moderate',
description => 'moderate description',
namespace => 'Asset_Collaboration',
},
],
related => [
{

View file

@ -119,6 +119,20 @@ sub get {
#-------------------------------------------------------------------
=head2 getAssetCount ( )
Returns the number of assets that are under this tag.
=cut
sub getAssetCount {
my $self = shift;
my ($count) = $self->session->db->quickArray("select count(distinct(assetId)) from assetData where tagId=?", [$self->getId]);
return $count;
}
#-------------------------------------------------------------------
=head2 getAssets ( )
Returns a list of asset objects that are part of this version tag.
@ -150,6 +164,20 @@ sub getId {
#-------------------------------------------------------------------
=head2 getRevisionCount ( )
Returns the number of revisions that are under this tag.
=cut
sub getRevisionCount {
my $self = shift;
my ($count) = $self->session->db->quickArray("select count(assetId) from assetData where tagId=?", [$self->getId]);
return $count;
}
#-------------------------------------------------------------------
=head2 getWorkflowInstance ( )
Returns a reference to the workflow instance attached to this version tag if any.

View file

@ -703,10 +703,6 @@ each asset under the tab &quot;Meta&quot; in the asset properties.</p>
lastUpdated => 1050438829,
message => q|Open in new window?|
},
'493' => {
lastUpdated => 1031514049,
message => q|Back to site.|
},
'encrypt page' => {
message => q|Encrypt content?|,
lastUpdated =>1092748557,

View file

@ -126,11 +126,6 @@ our $I18N = {
lastUpdated => 1109618544,
},
'approve' => {
message => q|Approve|,
lastUpdated => 1109618544,
},
'answer' => {
message => q|Answer|,
lastUpdated => 1109618544,
@ -176,11 +171,6 @@ our $I18N = {
lastUpdated => 1109618544,
},
'deny' => {
message => q|Deny|,
lastUpdated => 1109618544,
},
'edit' => {
message => q|Edit|,
lastUpdated => 1109618544,
@ -446,11 +436,6 @@ our $I18N = {
lastUpdated => 1109698614,
},
'who moderates' => {
message => q|Who can moderate?|,
lastUpdated => 1109698614,
},
'who posts' => {
message => q|Who can post?|,
lastUpdated => 1109698614,
@ -526,11 +511,6 @@ our $I18N = {
lastUpdated => 1109698614,
},
'moderate' => {
message => q|Moderate posts?|,
lastUpdated => 1109698614,
},
'collaboration template labels title' => {
message => q|Collaboration Template Labels|,
lastUpdated => 1111520746,
@ -573,10 +553,6 @@ our $I18N = {
^International("phrase","Asset_Collaboration"); "^International("atleastone","Asset_Collaboration");".
<p>
<b>approve.label</b><br>
^International("word","Asset_Collaboration"); "^International("approve","Asset_Collaboration");".
<p>
<b>answer.label</b><br>
^International("word","Asset_Collaboration"); "^International("answer","Asset_Collaboration");".
<p>
@ -617,10 +593,6 @@ our $I18N = {
^International("word","Asset_Collaboration"); "^International("description","Asset_Collaboration");".
<p>
<b>deny.label</b><br>
^International("word","Asset_Collaboration"); "^International("deny","Asset_Collaboration");".
<p>
<b>edit.label</b><br>
^International("word","Asset_Collaboration"); "^International("edit","Asset_Collaboration");".
<p>
@ -863,9 +835,14 @@ properties listed below:</p>
lastUpdated => 1119070429,
},
'who moderates description' => {
message => q|The group that will moderate posts to this Asset, if moderation is enabled.|,
lastUpdated => 1119070429,
'approval workflow description' => {
message => q|Choose a workflow to be executed on each post as it gets submitted.|,
lastUpdated => 0,
},
'approval workflow' => {
message => q|Approval Workflow|,
lastUpdated => 0,
},
'who posts description' => {
@ -960,12 +937,6 @@ the preview is displayed, the Post can either be edited or canceled.|,
lastUpdated => 1119070429,
},
'moderate description' => {
message => q|Enable moderation for Posts to the Collaboration Asset.|,
lastUpdated => 1119070429,
},
'collaboration post list template variables title' => {
message => q|Collaboration, Post List Template Variables|,
lastUpdated => 1113673895,

View file

@ -200,10 +200,6 @@ A URL to edit this Post.
The status of this Post: "Approved", "Pending" or "Archived".
<p>
<b>approve.url</b><br>
The URL to approve this Post, if it's moderated.
<p>
<b>reply.url</b><br>
The URL to reply to this Post without quoting it.
<p>
@ -399,6 +395,12 @@ back the data with a simple &lt;tmpl_var userDefined1&gt;.
lastUpdated => 1134670360,
},
'post received' => {
message => q|Your post has been received and is pending approval.|,
context => q|Displayed after someone posts a new message.|,
lastUpdated => 0,
},
'approved' => {
message => q|Approved|,
lastUpdated => 1031514049,

View file

@ -139,11 +139,6 @@ our $I18N = {
lastUpdated => 1065356764
},
'578' => {
message => q|You have a pending message to approve.|,
lastUpdated => 1031514049
},
'978' => {
message => q|User added successfully.|,
lastUpdated => 1053804577
@ -489,11 +484,6 @@ Be aware that any database links you create here will be available to all conten
lastUpdated => 1043881275
},
'579' => {
message => q|Your message has been approved.|,
lastUpdated => 1031514049
},
'480' => {
message => q|Email Address|,
lastUpdated => 1031514049