- 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:
parent
7122e069e6
commit
35db285a67
6 changed files with 181 additions and 8 deletions
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
33
lib/WebGUI/Help/Workflow_Activity_AddUserToGroup.pm
Normal file
33
lib/WebGUI/Help/Workflow_Activity_AddUserToGroup.pm
Normal 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
|
||||
|
|
@ -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" />
|
||||
|
|
|
|||
95
lib/WebGUI/Workflow/Activity/AddUserToGroup.pm
Normal file
95
lib/WebGUI/Workflow/Activity/AddUserToGroup.pm
Normal 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;
|
||||
|
||||
|
||||
41
lib/WebGUI/i18n/English/Workflow_Activity_AddUserToGroup.pm
Normal file
41
lib/WebGUI/i18n/English/Workflow_Activity_AddUserToGroup.pm
Normal 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;
|
||||
Loading…
Add table
Add a link
Reference in a new issue