X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FScrips_Overlay.pm;h=0f606c884c1d57351ae436aab184d60b936be3a0;hp=2f395ffd07c393d1dd41f32507d0db8a3134b6fa;hb=673b9a458d9138523026963df6fa3b4683e09bae;hpb=f7fd2a3e34da751cbc02bbf215e99c6dc89adc15 diff --git a/rt/lib/RT/Scrips_Overlay.pm b/rt/lib/RT/Scrips_Overlay.pm index 2f395ffd0..0f606c884 100644 --- a/rt/lib/RT/Scrips_Overlay.pm +++ b/rt/lib/RT/Scrips_Overlay.pm @@ -1,8 +1,8 @@ -# {{{ BEGIN BPS TAGGED BLOCK +# BEGIN BPS TAGGED BLOCK {{{ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -42,7 +42,8 @@ # works based on those contributions, and sublicense and distribute # those contributions and any derivatives thereof. # -# }}} END BPS TAGGED BLOCK +# END BPS TAGGED BLOCK }}} + =head1 NAME RT::Scrips - a collection of RT Scrip objects @@ -65,6 +66,9 @@ ok (require RT::Scrips); =cut + +package RT::Scrips; + use strict; no warnings qw(redefine); @@ -254,6 +258,7 @@ sub Prepared { # {{{ sup _SetupSourceObjects + =head2 _SetupSourceObjects { TicketObj , Ticket, Transaction, TransactionObj } Setup a ticket and transaction for this Scrip collection to work with as it runs through the @@ -313,8 +318,8 @@ sub _FindScrips { $self->LimitToQueue( $self->{'TicketObj'}->QueueObj->Id ) ; #Limit it to $Ticket->QueueObj->Id - $self->LimitToGlobal() - unless $self->{'TicketObj'}->QueueObj->Disabled; # or to "global" + $self->LimitToGlobal(); + # or to "global" $self->Limit( FIELD => "Stage", VALUE => $args{'Stage'} ); @@ -328,14 +333,16 @@ sub _FindScrips { ); #We only want things where the scrip applies to this sort of transaction - $self->Limit( - ALIAS => $ConditionsAlias, - FIELD => 'ApplicableTransTypes', - OPERATOR => 'LIKE', - VALUE => $args{'Type'}, - ENTRYAGGREGATOR => 'OR', - ) - if $args{'Type'}; + # TransactionBatch stage can define list of transaction + foreach( split /\s*,\s*/, ($args{'Type'} || '') ) { + $self->Limit( + ALIAS => $ConditionsAlias, + FIELD => 'ApplicableTransTypes', + OPERATOR => 'LIKE', + VALUE => $_, + ENTRYAGGREGATOR => 'OR', + ) + } # Or where the scrip applies to any transaction $self->Limit(