Wikia

Request Tracker Wiki

Watchlist Recent changes

OnQueueChangeResetPriorityAndDueDate

Contents

On Queue Change Set Priority And DueDateEdit

This Scrip will reset the priority and due dates to the default queue values on a ticket when the queue is change.

  • Description: On Queue Change Set Priority and DueDate
  • Condition: On Queue Change
  • Action: User Defined
  • Template: Global template: Blank
  • Stage: TransactionBatch

Custom Condition:Edit

# blank

Custom action preparation code:Edit

return 1;

Custom action cleanup code:Edit

my $queue_id = $self->TransactionObj->NewValue;
my $queue = RT::Queue->new( $RT::SystemUser );
$queue->Load( $queue_id );

# Reset Priority
unless ( $self->TicketObj->Priority == $queue->InitialPriority ) {
  $RT::Logger->info("On Queue Change set ticket #". $self->TicketObj->id ." priority to ". $queue->InitialPriority );
  my ( $status, $msg ) = $self->TicketObj->SetPriority( $queue->InitialPriority );
  unless ( $status ) {
    $RT::Logger->error( "Unable to assign priority to ". $queue->InitialPriority );
    $RT::Logger->error( "Message: $msg" );
  }
}
# Reset Final Priority
unless ( $self->TicketObj->FinalPriority == $queue->FinalPriority ) {
  $RT::Logger->info("On Queue Change set ticket #". $self->TicketObj->id ." final priority to ". $queue->FinalPriority );
  my ( $status, $msg ) = $self->TicketObj->SetFinalPriority( $queue->FinalPriority );
  unless ( $status ) {
    $RT::Logger->error( "Unable to assign final priority to ". $queue->FinalPriority );
    $RT::Logger->error( "Message: $msg" );
  }
}  

# Reset Due Date
my $due_date = RT::Date->new( $RT::SystemUser );
$due_date->Set( Format => 'ISO', Value => $self->TicketObj->Due );

# If queue doesn't specify due date, then clear this tickets due date.
# Otherwise, add that many days.
if ( $queue->DefaultDueIn == 0 ) {
  $due_date->Set( Format => 'ISO', Value => 0 );
} else {
  $due_date->SetToNow;
  $due_date->AddDays( $queue->DefaultDueIn );
}

$RT::Logger->info("On Queue Change set ticket #". $self->TicketObj->id ." due date to ". $due_date->ISO );
my ( $status, $msg ) = $self->TicketObj->SetDue( $due_date->ISO );
unless ( $status ) {
  $RT::Logger->error( "Unable to assign due date to ". $due_date->ISO );
}
return 1;

Pages on Request Tracker Wiki

Add a Page
857pages on
this wiki

Latest Photos

Add a Photo
28photos on this wiki
See more >

Recent Wiki Activity

See more >

Around Wikia's network

Random Wiki