[Rt-devel] UserDefined scrip action
Jan Okrouhly
okrouhly at civ.zcu.cz
Thu Dec 9 10:10:25 EST 2004
Hello,
we use RT 3.2.2 and meet big troubles with custom action scrips - it works
only sometimes (maybe just only once). This example for is i.e. not
working well if used in Scrip for specific Queue.
Is this approach wrong/where is the problem?
I (customer) doesn't want to use additional files like yours good one
Action/NotifyGroup.pm, because the LoadedGroup will change depending on
some ticket info (Customer CustomFields)...
Prepare part:
----- cut here -----
package RT::Action::tmp;
use strict;
use vars qw/@ISA/;
require RT::Action::Notify;
@ISA = qw(RT::Action::Notify);
sub SetRecipients {
my $self = shift;
my ($group);
my @Bcc;
$group = new RT::Group($RT::SystemUser);
$group->LoadUserDefinedGroup("RT AdminCc");
unless ($group->Id ) {
$RT::Logger->warning("Searching Group Global AdminCc failed, can't set recipients!\n");
return;
}
my $members = $group->UserMembersObj();
while (my $member = $members->Next()) {
my $user = $member->EmailAddress;
if ($user && ! ( grep (/^$user$/, @Bcc) ) ) {
push ( @Bcc, $user );
}
}
if ($RT::UseFriendlyToLine) {
push (
@{$self->{'PseudoTo'}},
sprintf($RT::FriendlyToLineFormat, "GroupNotify", $self->TicketObj->id),
);
}
if ($RT::NotifyActor) {
# Do not send notification to the crator of the transaction
my $creator;
$creator = $self->TransactionObj->CreatorObj->EmailAddress() if ($self->TransactionObj);
# override possible 'Bcc'
@{$self->{'Bcc'}} = grep (!/^$creator$/, @Bcc);
} else {
@{$self->{'Bcc'}} = @Bcc; }
$RT::Logger->warning("GroupNotify Bcc is:".join(',',@{$self->{'Bcc'}})."\n");
return (1)
}
1;
my $tmpscrip;
$tmpscrip = new RT::Action::tmp(
TransactionObj => $self->{'TransactionObj'},
TemplateObj => $self->{'TemplateObj'},
TicketObj => $self->{'TicketObj'},
ScripObj => $self->{'ScripObj'},
Type => $self->{'Type'},
CurrentUser => $self->CurrentUser,
);
$self->{'tmpscrip'} = $tmpscrip;
my $res=$tmpscrip->Prepare();
#use Data::Dumper;
#$RT::Logger->warning(Dumper($self->TemplateObj->MIMEObj->head));
return $res;
----- cut here -----
Commit part is only:
----- cut here -----
$self->{'tmpscrip'}->Commit;
----- cut here -----
Jan Okrouhlý
//------------------------------------\-\-\+\-\-\---okrouhly at civ.zcu.cz-\\
|Laboratory for Computer Science | phone: +420 377 632 837 |
|University of West Bohemia | location: Univerzitni 22 |
|Americka 42, 306 14 Pilsen, Czech Republic| room: UI402 |
+---------------------------------------73-!-de-OK1INC at OK0PPL.#BOH.CZE.EU+
| Monday or Tuesday: | phone: +420 224 355 263 |
\\___________________CESNET z.s.p.o.______|_location: Zikova 4, Prague_//
More information about the Rt-devel
mailing list