- rfe: Workflow activity for assigning users to a group

- The prevent proxy cache setting also now sets anti-caching meta tags and
   HTTP headers.
This commit is contained in:
JT Smith 2006-08-16 22:04:59 +00:00
parent 7122e069e6
commit 35db285a67
6 changed files with 181 additions and 8 deletions

View file

@ -14,6 +14,9 @@
- fix: Email address with just one character in the user part not accepted
- fix: Image (file) added to page shows before committing changes
- fix: Typo in fileImport.pl at line 265 (zxp)
- rfe: Workflow activity for assigning users to a group
- The prevent proxy cache setting also now sets anti-caching meta tags and
HTTP headers.
- fix: getMedia asset constructor returning wrong object type

View file

@ -20,17 +20,18 @@ my $quiet; # this line required
my $session = start(); # this line required
# upgrade functions go here
addNewWorkflowActivity();
finish($session); # this line required
##-------------------------------------------------
#sub exampleFunction {
# my $session = shift;
# print "\tWe're doing some stuff here that you should know about.\n" unless ($quiet);
# # and here's our code
#}
#-------------------------------------------------
sub addNewWorkflowActivity {
print "\tAdding 'add user to group' workflow activity.\n" unless ($quiet);
my $activities = $session->config->get("workflowActivities");
push(@{$activities->{"WebGUI::User"}}, "WebGUI::Workflow::Activity::AddUserToGroup");
$session->config->set("workflowActivities", $activities);
}

View file

@ -0,0 +1,33 @@
package WebGUI::Help::Workflow_Activity_AddUserToGroup;
our $HELP = {
'add user to group' => {
title => 'activityName',
body => 'add user to group body',
isa => [
{
namespace => "Workflow_Activity",
tag => "add/edit workflow activity"
},
],
fields => [
{
title => 'group',
description => 'group help',
namespace => 'Workflow_Activity_AddUserToGroup',
},
{
title => 'expire offset',
description => 'expire offset help',
namespace => 'Workflow_Activity_AddUserToGroup',
},
],
variables => [
],
related => [
],
},
};
1; ##All perl modules must return true

View file

@ -180,7 +180,7 @@ return props[propName];
</script>
<!--morehead-->
';
if ($self->session->user->isInGroup(2)) {
if ($self->session->user->isInGroup(2) || $self->session->setting->get("preventProxyCache")) {
# This "triple incantation" panders to the delicate tastes of various browsers for reliable cache suppression.
$var{'head.tags'} .= '
<meta http-equiv="Pragma" content="no-cache" />

View file

@ -0,0 +1,95 @@
package WebGUI::Workflow::Activity::AddUserToGroup;
=head1 LEGAL
-------------------------------------------------------------------
WebGUI is Copyright 2001-2006 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::International;
=head1 NAME
Package WebGUI::Workflow::Activity::RunCommandAsUser
=head1 DESCRIPTION
This activity adds the user (the working object) to a specified group.
=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_AddUserToGroup");
push(@{$definition}, {
name=>$i18n->get("activityName"),
properties=> {
groupId => {
fieldType=>"group",
label=>$i18n->get("group"),
defaultValue=>undef,
excludeGroups=>[7,2,1],
hoverHelp=>$i18n->get("group help")
},
expireOffset => {
fieldType=>"interval",
label=>$i18n->get("expire offset"),
defaultValue=>60*60*24*365,
hoverHelp=>$i18n->get("expire offset help")
}
}
});
return $class->SUPER::definition($session,$definition);
}
#-------------------------------------------------------------------
=head2 execute ( [ object ] )
See WebGUI::Workflow::Activity::execute() for details.
=cut
sub execute {
my $self = shift;
my $user = shift;
$user->addToGroups([$self->get("groupId")], $self->get("expireOffset"));
return $self->COMPLETE;
}
1;

View file

@ -0,0 +1,41 @@
package WebGUI::i18n::English::Workflow_Activity_AddUserToGroup;
our $I18N = {
'expire offset help' => {
message => q|How long should the user remain a member of the group?|,
context => q|the hover help for the expire offset field|,
lastUpdated => 0,
},
'expire offset' => {
message => q|Expire Offset|,
context => q|a label for the expire offset field|,
lastUpdated => 0,
},
'group help' => {
message => q|Choose a group to add this user to.|,
context => q|the hover help for the group field|,
lastUpdated => 0,
},
'group' => {
message => q|Group|,
context => q|a label for the group field|,
lastUpdated => 0,
},
'activityName' => {
message => q|Add User To Group|,
context => q|The name of this workflow activity.|,
lastUpdated => 0,
},
'add user to group body' => {
message => q|<p>This workflow activity adds a user to a specified group.</p>|,
lastUpdated => 0,
},
};
1;