X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FScrip_Overlay.pm;h=7d1a6979f1310d33941ebb449f9c720d6c713935;hp=ae2782a2386e5a7bbd08d5368f9e16d20237dd1a;hb=ef20b2b6b1feb47ad02b5ff7525f1a0fd11d0fa4;hpb=d4d0590bef31071e8809ec046717444b95b3f30a diff --git a/rt/lib/RT/Scrip_Overlay.pm b/rt/lib/RT/Scrip_Overlay.pm index ae2782a23..7d1a6979f 100644 --- a/rt/lib/RT/Scrip_Overlay.pm +++ b/rt/lib/RT/Scrip_Overlay.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -22,7 +22,9 @@ # # 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., 675 Mass Ave, Cambridge, MA 02139, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 or visit their web page on the internet at +# http://www.gnu.org/copyleft/gpl.html. # # # CONTRIBUTION SUBMISSION POLICY: @@ -43,7 +45,6 @@ # those contributions and any derivatives thereof. # # END BPS TAGGED BLOCK }}} - =head1 NAME RT::Scrip - an RT Scrip object @@ -140,10 +141,10 @@ sub Create { CustomPrepareCode => undef, CustomCommitCode => undef, CustomIsApplicableCode => undef, + @_ + ); - @_ ); - - if ( !$args{'Queue'} ) { + unless ( $args{'Queue'} ) { unless ( $self->CurrentUser->HasRight( Object => $RT::System, Right => 'ModifyScrips' ) ) { @@ -152,9 +153,9 @@ sub Create { $args{'Queue'} = 0; # avoid undef sneaking in } else { - my $QueueObj = new RT::Queue( $self->CurrentUser ); + my $QueueObj = RT::Queue->new( $self->CurrentUser ); $QueueObj->Load( $args{'Queue'} ); - unless ( $QueueObj->id() ) { + unless ( $QueueObj->id ) { return ( 0, $self->loc('Invalid queue') ); } unless ( $QueueObj->CurrentUserHasRight('ModifyScrips') ) { @@ -166,28 +167,28 @@ sub Create { #TODO +++ validate input require RT::ScripAction; - my $action = new RT::ScripAction( $self->CurrentUser ); - if ( $args{'ScripAction'} ) { - $action->Load( $args{'ScripAction'} ); - } + return ( 0, $self->loc("Action is mandatory argument") ) + unless $args{'ScripAction'}; + my $action = RT::ScripAction->new( $self->CurrentUser ); + $action->Load( $args{'ScripAction'} ); return ( 0, $self->loc( "Action [_1] not found", $args{'ScripAction'} ) ) - unless $action->Id; + unless $action->Id; require RT::Template; - my $template = new RT::Template( $self->CurrentUser ); - if ( $args{'Template'} ) { - $template->Load( $args{'Template'} ); - } - return ( 0, $self->loc('Template not found') ) unless $template->Id; + return ( 0, $self->loc("Template is mandatory argument") ) + unless $args{'Template'}; + my $template = RT::Template->new( $self->CurrentUser ); + $template->Load( $args{'Template'} ); + return ( 0, $self->loc('Template not found') ) + unless $template->Id; require RT::ScripCondition; - my $condition = new RT::ScripCondition( $self->CurrentUser ); - if ( $args{'ScripCondition'} ) { - $condition->Load( $args{'ScripCondition'} ); - } - unless ( $condition->Id ) { - return ( 0, $self->loc('Condition not found') ); - } + return ( 0, $self->loc("Condition is mandatory argument") ) + unless $args{'ScripCondition'}; + my $condition = RT::ScripCondition->new( $self->CurrentUser ); + $condition->Load( $args{'ScripCondition'} ); + return ( 0, $self->loc('Condition not found') ) + unless $condition->Id; my ( $id, $msg ) = $self->SUPER::Create( Queue => $args{'Queue'}, @@ -199,9 +200,8 @@ sub Create { CustomPrepareCode => $args{'CustomPrepareCode'}, CustomCommitCode => $args{'CustomCommitCode'}, CustomIsApplicableCode => $args{'CustomIsApplicableCode'}, - ); - if ($id) { + if ( $id ) { return ( $id, $self->loc('Scrip Created') ); } else { @@ -596,15 +596,17 @@ sub HasRight { Principal => undef, @_ ); - if ( ( defined $self->SUPER::_Value('Queue') ) - and ( $self->SUPER::_Value('Queue') != 0 ) ) { - return ( $args{'Principal'}->HasRight( Right => $args{'Right'}, - Object => $self->QueueObj ) ); - + if ( $self->SUPER::_Value('Queue') ) { + return $args{'Principal'}->HasRight( + Right => $args{'Right'}, + Object => $self->QueueObj + ); } else { - return ( $args{'Principal'} - ->HasRight( Object => $RT::System, Right => $args{'Right'} ) ); + return $args{'Principal'}->HasRight( + Object => $RT::System, + Right => $args{'Right'}, + ); } }