X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FReminders.pm;h=fcd7c267e908555f0bacc0124c3d3682264fc749;hp=e7c28a8e188729537f883c484316c147abdd9ed9;hb=919e930aa9279b3c5cd12b593889cd6de79d67bf;hpb=43a06151e47d2c59b833cbd8c26d97865ee850b6 diff --git a/rt/lib/RT/Reminders.pm b/rt/lib/RT/Reminders.pm index e7c28a8e1..fcd7c267e 100644 --- a/rt/lib/RT/Reminders.pm +++ b/rt/lib/RT/Reminders.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -116,6 +116,16 @@ sub Add { @_ ); + my $ticket = RT::Ticket->new($self->CurrentUser); + $ticket->Load($self->Ticket); + if ( !$ticket->id ) { + return ( 0, $self->loc( "Failed to load ticket [_1]", $self->Ticket ) ); + } + + if ( lc $ticket->Status eq 'deleted' ) { + return ( 0, $self->loc("Can't link to a deleted ticket") ); + } + my $reminder = RT::Ticket->new($self->CurrentUser); my ( $status, $msg ) = $reminder->Create( Subject => $args{'Subject'}, @@ -124,6 +134,7 @@ sub Add { RefersTo => $self->Ticket, Type => 'reminder', Queue => $self->TicketObj->Queue, + Status => $self->TicketObj->QueueObj->Lifecycle->ReminderStatusOnOpen, ); $self->TicketObj->_NewTransaction( Type => 'AddReminder', @@ -137,7 +148,8 @@ sub Open { my $self = shift; my $reminder = shift; - my ( $status, $msg ) = $reminder->SetStatus('open'); + my ( $status, $msg ) = + $reminder->SetStatus( $reminder->QueueObj->Lifecycle->ReminderStatusOnOpen ); $self->TicketObj->_NewTransaction( Type => 'OpenReminder', Field => 'RT::Ticket', @@ -149,7 +161,8 @@ sub Open { sub Resolve { my $self = shift; my $reminder = shift; - my ( $status, $msg ) = $reminder->SetStatus('resolved'); + my ( $status, $msg ) = + $reminder->SetStatus( $reminder->QueueObj->Lifecycle->ReminderStatusOnResolve ); $self->TicketObj->_NewTransaction( Type => 'ResolveReminder', Field => 'RT::Ticket',