X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=rt%2Flib%2FRT%2FRule.pm;h=bdbbe0b98410d2264c54d39af06fce70056ece8b;hb=f2731f7f3883905cd17633f486d2aeb9593173da;hp=a8ca3967a4521ac4699ad85566bb138ceadfa647;hpb=63a268637b2d51a8766412617724b9436439deb6;p=freeside.git diff --git a/rt/lib/RT/Rule.pm b/rt/lib/RT/Rule.pm index a8ca3967a..bdbbe0b98 100644 --- a/rt/lib/RT/Rule.pm +++ b/rt/lib/RT/Rule.pm @@ -1,40 +1,40 @@ # BEGIN BPS TAGGED BLOCK {{{ -# +# # COPYRIGHT: -# -# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC -# -# +# +# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +# +# # (Except where explicitly superseded by other copyright notices) -# -# +# +# # LICENSE: -# +# # This work is made available to you under the terms of Version 2 of # the GNU General Public License. A copy of that license should have # been provided with this software, but in any event can be snarfed # from www.gnu.org. -# +# # This work is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 or visit their web page on the internet at # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# +# +# # CONTRIBUTION SUBMISSION POLICY: -# +# # (The following paragraph is not intended to limit the rights granted # to you to modify and distribute this software under the terms of # the GNU General Public License and is only of importance to you if # you choose to contribute your changes and enhancements to the # community by submitting them to Best Practical Solutions, LLC.) -# +# # By intentionally submitting any modifications, corrections or # derivatives to this work, or any other work intended for use with # Request Tracker, to Best Practical Solutions, LLC, you confirm that @@ -43,21 +43,30 @@ # royalty-free, perpetual, license to use, copy, create derivative # works based on those contributions, and sublicense and distribute # those contributions and any derivatives thereof. -# +# # END BPS TAGGED BLOCK }}} package RT::Rule; use strict; use warnings; + use base 'RT::Action'; use constant _Stage => 'TransactionCreate'; use constant _Queue => undef; + + sub Prepare { my $self = shift; - return (0) if $self->_Queue && $self->TicketObj->QueueObj->Name ne $self->_Queue; - return 1; + if ( $self->_Queue ) { + my $queue = RT::Queue->new( RT->SystemUser ); + $queue->Load( $self->TicketObj->__Value('Queue') ); + if ( $queue->Name ne $self->_Queue ) { + return (0); + } + return 1; + } } sub Commit { @@ -94,25 +103,16 @@ sub RunScripAction { my $action = $ScripAction->LoadAction( TransactionObj => $self->TransactionObj, TicketObj => $self->TicketObj, + TemplateObj => $template, %args, ); - # XXX: fix template to allow additional arguments to be passed from here - $action->{'TemplateObj'} = $template; $action->{'ScripObj'} = RT::Scrip->new($self->CurrentUser); # Stub. sendemail action really wants a scripobj available $action->Prepare or return; $action->Commit; } -eval "require RT::Rule_Vendor"; -if ($@ && $@ !~ qr{^Can't locate RT/Rule_Vendor.pm}) { - die $@; -}; - -eval "require RT::Rule_Local"; -if ($@ && $@ !~ qr{^Can't locate RT/Rule_Local.pm}) { - die $@; -}; +RT::Base->_ImportOverlays(); 1;