Template the emails sent out during content approval. Includes new template, i18n, Help docs upgrade sub and code. Fixes bug #11901.

This commit is contained in:
Colin Kuskie 2010-10-18 13:53:33 -07:00
parent 19a87ea003
commit 3ad69de404
7 changed files with 119 additions and 16 deletions

View file

@ -19,6 +19,7 @@ use strict;
use base 'WebGUI::Workflow::Activity';
use WebGUI::VersionTag;
use WebGUI::Inbox;
use WebGUI::Asset;
=head1 NAME
@ -71,8 +72,15 @@ sub definition {
label=> $i18n->get("notify message"),
hoverHelp => $i18n->get("notify message help")
},
}
});
templateId => {
fieldType =>"template",
defaultValue => "lYhMheuuLROK_iNjaQuPKg",
namespace => 'NotifyAboutVersionTag',
label => $i18n->get("email template", 'Workflow_Activity_NotifyAboutVersionTag'),
hoverHelp => $i18n->get("email template help", 'Workflow_Activity_NotifyAboutVersionTag')
},
}
});
return $class->SUPER::definition($session,$definition);
}
@ -95,11 +103,18 @@ sub execute {
my $asset = $versionTag->getAssets->[0];
$urlOfSingleAsset = "\n\n".$self->session->url->getSiteURL().$asset->getUrl("func=view;revision=".$asset->get("revisionDate"));
}
my $var = {
message => $self->get('message'),
comments => $versionTag->get('comments'),
url => $urlOfSingleAsset,
};
my $template = WebGUI::Asset->newByDynamicClass($self->session, $self->get('templateId'));
my $message = $template->process($var);
my $properties = {
status=>"completed",
subject=>$versionTag->get("name"),
message=>$self->get("message")."\n\n".$versionTag->get("comments").$urlOfSingleAsset,
};
message=>$message,
};
if ($self->get("who") eq "committer") {
$properties->{userId} = $versionTag->get("committedBy");
} elsif ($self->get("who") eq "creator") {

View file

@ -17,6 +17,7 @@ package WebGUI::Workflow::Activity::RequestApprovalForVersionTag;
use strict;
use base 'WebGUI::Workflow::Activity';
use WebGUI::Asset;
use WebGUI::VersionTag;
use WebGUI::Inbox;
use WebGUI::International;
@ -86,6 +87,13 @@ sub definition {
hoverHelp => $i18n->get("do on approve help"),
none => 1,
noneLabel => $i18n->get('continue with workflow'),
},
templateId => {
fieldType =>"template",
defaultValue => "lYhMheuuLROK_iNjaQuPKg",
namespace => 'NotifyAboutVersionTag',
label => $i18n->get("email template", 'Workflow_Activity_NotifyAboutVersionTag'),
hoverHelp => $i18n->get("email template help", 'Workflow_Activity_NotifyAboutVersionTag')
},
},
};
@ -265,13 +273,13 @@ sub sendMessage {
"op=manageRevisionsInTag;workflowInstanceId=" . $instance->getId
. ";tagId=" . $versionTag->getId
);
my $messageText
= join "\n\n",
$self->get("message"),
sprintf('<a href="%s">%s</a>', $approvalUrl, $approvalUrl,),
$versionTag->get("comments"),
;
my $var = {
message => $self->get('message'),
comments => $versionTag->get('comments'),
url => $approvalUrl,
};
my $template = WebGUI::Asset->newByDynamicClass($self->session, $self->get('templateId'));
my $messageText = $template->process($var);
for my $groupId ( @{ $self->getGroupToApprove } ) {
my $message
= $inbox->addMessage({