Page display does not update status on Custom Scrip action

I have a Scrip setup as follows,

Condition: On Owner Change
Action: User Defined
Template: Global Template: Status Change
Stage: TransactionCreate

Custom Condition:

Custom action preperation code:
if ($self->TicketObj->Status() eq ‘new’ && ( $self->TicketObj->Owner
!= $RT::Nobody->id ) ) {
my ($status, $msg) = $self->TicketObj->SetStatus(‘open’);
unless( $status ) {
die “Error: $msg”;
return 1;
return undef;

Custom action cleanup code:

This works as expected (Opens a ticket if status is new and we are
assiging an owner other than Nobody). The problem is after the update
I click ‘Display’ to view the ticket and the change does not show on
the web page, I have to click refresh before the status field shows
the update. The transaction logs show that the ticket is being Opened
This happens with Firefox and IE.

Exact steps are below,

  1. Click into ticket that is unowned and status new
  2. Click People on left column
  3. Assign new owner and click “Submit Changes”
  4. Results show that new owner assigned to blah (Nothing is said about
    the status change)
  5. Click Display on left column to view full ticket details.
  6. Owner has change but status still says ‘new’, transaction history
    however shows last update as status changing from new to open as
  7. Click ‘Home’ and then click back into ticket, status is now shown
    properly as Open.

IF I click Take ticket when it is new and unowned then it assigns me
as the owner and opens the ticket and refreshes the page, the ticket
looks normal when doing it this way.

My guess is I am not telling WebRT something to get it to update the page view?

Any suggestions?

RT 3.2.3 on Solaris 9 (SPARC)
Apache 1.3.x w/FastCGI
Mysql 4.x

-Kent Holloway