summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Scrip_Overlay.pm
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lib/RT/Scrip_Overlay.pm')
-rw-r--r--rt/lib/RT/Scrip_Overlay.pm28
1 files changed, 18 insertions, 10 deletions
diff --git a/rt/lib/RT/Scrip_Overlay.pm b/rt/lib/RT/Scrip_Overlay.pm
index 06462a9ac..4f6c735cc 100644
--- a/rt/lib/RT/Scrip_Overlay.pm
+++ b/rt/lib/RT/Scrip_Overlay.pm
@@ -142,19 +142,24 @@ sub Create {
require RT::ScripAction;
my $action = new RT::ScripAction( $self->CurrentUser );
- $action->Load( $args{'ScripAction'} || '0' );
+ if ($args{'ScripAction'}) {
+ $action->Load( $args{'ScripAction'});
+ }
return ( 0, $self->loc( "Action [_1] not found", $args{'ScripAction'} ) )
unless $action->Id;
require RT::Template;
my $template = new RT::Template( $self->CurrentUser );
- $template->Load( $args{'Template'}||'0' );
+ if ($args{'Template'} ) {
+ $template->Load( $args{'Template'});
+ }
return ( 0, $self->loc('Template not found') ) unless $template->Id;
require RT::ScripCondition;
my $condition = new RT::ScripCondition( $self->CurrentUser );
- $condition->Load( $args{'ScripCondition'}||'0' );
-
+ if ($args{'ScripCondition'} ) {
+ $condition->Load( $args{'ScripCondition'} );
+ }
unless ( $condition->Id ) {
return ( 0, $self->loc('Condition not found') );
}
@@ -256,13 +261,16 @@ Retuns an RT::ScripCondition object with this Scrip's IsApplicable
sub ConditionObj {
my $self = shift;
-
- unless (defined $self->{'ScripConditionObj'}) {
- require RT::ScripCondition;
- $self->{'ScripConditionObj'} = RT::ScripCondition->new($self->CurrentUser);
- $self->{'ScripConditionObj'}->Load($self->ScripCondition);
+
+ unless ( defined $self->{'ScripConditionObj'} ) {
+ require RT::ScripCondition;
+ $self->{'ScripConditionObj'} =
+ RT::ScripCondition->new( $self->CurrentUser );
+ if ( $self->ScripCondition ) {
+ $self->{'ScripConditionObj'}->Load( $self->ScripCondition );
+ }
}
- return ($self->{'ScripConditionObj'});
+ return ( $self->{'ScripConditionObj'} );
}
# }}}