Added the NotifyAboutThing workflow activity. Use this activity to create

workflows for the add / edit / delete workflows for a thingy's things.

Also fixed a typo in the POD for Thingy.
This commit is contained in:
Chris Nehren 2008-10-20 20:00:51 +00:00
parent 9e2ec505c0
commit 921ee1ab96
5 changed files with 133 additions and 2 deletions

View file

@ -1,4 +1,6 @@
7.6.2 7.6.2
- Added the NotifyAboutThing workflow activity. Use this activity to create
workflows for the add / edit / delete workflows for a thingy's things.
- fixed #8839: Documentation is wrong for Stock Ticker - fixed #8839: Documentation is wrong for Stock Ticker
- Added Guid form control. - Added Guid form control.
- Moved Asset ID and Class Name fields to the Meta tab of all assets. - Moved Asset ID and Class Name fields to the Meta tab of all assets.

View file

@ -746,6 +746,9 @@
"WebGUI::Workflow::Activity::TrashClipboard", "WebGUI::Workflow::Activity::TrashClipboard",
"WebGUI::Workflow::Activity::TrashExpiredEvents" "WebGUI::Workflow::Activity::TrashExpiredEvents"
], ],
"WebGUI::Asset::Wobject::Thingy" : [
"WebGUI::Workflow::Activity::NotifyAboutThing"
],
"WebGUI::User" : [ "WebGUI::User" : [
"WebGUI::Workflow::Activity::CreateCronJob", "WebGUI::Workflow::Activity::CreateCronJob",
"WebGUI::Workflow::Activity::NotifyAboutUser" "WebGUI::Workflow::Activity::NotifyAboutUser"

View file

@ -1222,9 +1222,9 @@ sub purge {
#------------------------------------------------------------------- #-------------------------------------------------------------------
=head2 triggerWorkflow ( workflowId, ) =head2 triggerWorkflow ( workflowId )
Alters a column for a field if the field's fieldType has changed. Runs the specified workflow when this Thingy changes.
=head3 workflowId =head3 workflowId

View file

@ -0,0 +1,98 @@
package WebGUI::Workflow::Activity::NotifyAboutThing;
=head1 LEGAL
-------------------------------------------------------------------
WebGUI is Copyright 2001-2008 Plain Black Corporation.
-------------------------------------------------------------------
Please read the legal notices (docs/legal.txt) and the license
(docs/license.txt) that came with this distribution before using
this software.
-------------------------------------------------------------------
http://www.plainblack.com info@plainblack.com
-------------------------------------------------------------------
=cut
use strict;
use base 'WebGUI::Workflow::Activity';
use WebGUI::VersionTag;
use WebGUI::Inbox;
=head1 NAME
Package WebGUI::Workflow::Activity::NotifyAboutVersionTag
=head1 DESCRIPTION
Send a message to a group when a Thing is modified.
=head1 SYNOPSIS
See WebGUI::Workflow::Activity for details on how to use any activity.
=head1 METHODS
These methods are available from this class:
=cut
#-------------------------------------------------------------------
=head2 definition ( session, definition )
See WebGUI::Workflow::Activity::defintion() for details.
=cut
sub definition {
my $class = shift;
my $session = shift;
my $definition = shift;
my $i18n = WebGUI::International->new($session, "Workflow_Activity_NotifyAboutThing");
push(@{$definition}, {
name=>$i18n->get("notify about thing"),
properties=> {
groupToNotify => {
fieldType=>"group",
defaultValue=>["4"],
label=>$i18n->get("who to notify"),
hoverHelp=>$i18n->get("who to notify help")
},
message => {
fieldType=>"textarea",
defaultValue => "",
label=> $i18n->get("notify message"),
hoverHelp => $i18n->get("notify message help")
},
}
});
return $class->SUPER::definition($session,$definition);
}
#-------------------------------------------------------------------
=head2 execute ( )
See WebGUI::Workflow::Activity::execute() for details.
=cut
sub execute {
my $self = shift;
my $thingy = shift;
my $inbox = WebGUI::Inbox->new($self->session);
my $messageTemplate = $self->get('messageTemplate');
my $properties = {
status => 'completed',
subject => 'Thingy at URL ' . $thingy->getUrl . ' changed.',
message => $self->get('message'),
groupId => $self->get('groupToNotify'),
};
$inbox->addMessage($properties);
return $self->COMPLETE;
}
1;

View file

@ -0,0 +1,28 @@
package WebGUI::i18n::English::Workflow_Activity_NotifyAboutThing;
use strict;
our $I18N = {
'notify about thing' => {
message => q|Notify About Thing|,
context => q|The name of this workflow activity.|,
lastUpdated => 0,
},
'group to notify' => {
message => q|Group to notify|,
lastUpdated => 0,
},
'group to notify help' => {
message => q|The group to notify when this Thing changes|,
lastUpdated => 0,
},
'notify message' => {
message => q|Message|,
lastUpdated => 0,
},
'notify message help' => {
message => q|The message to include in the notification mail|,
lastUpdated => 0,
},
};
1;