[rt-users] RT_System opening tickets?

Jesse Vincent jesse at bestpractical.com
Fri Jan 11 14:15:36 EST 2002


Without running that code, yeah, it looks like it would work.

On Fri, Jan 11, 2002 at 07:24:20PM +0100, Bruce Campbell wrote:
> On Fri, 11 Jan 2002, Jesse Vincent wrote:
> 
> > RT automatically opens tickets when you start doing things
> > like adding new updates to them. (And yes, in the distant future, this
> > should all be done with Scrips, rather than hard-coded)
> 
> OnCorrespond ReOpenTicket with template Blank ?
> 
> Hrm, would the following work (as RT::Action::ReOpenTicket) ?
> 
> ( brief sideline in trying to stop from going mad on other matters )
> 
> -- 
>                              Bruce Campbell                            RIPE
>                                                                         NCC
>                                                                  Operations
> 
> 	# Copyright guff - 2002  Bruce Campbell (bruce_campbell at ripe.net)
> 	package RT::Action::ReOpenTicket;
> 	require RT::Action::Generic;
> 
> 	@ISA = qw(RT::Action::Generic);
> 
> 	=head1 NAME
> 
> 	RT::Action::ReOpenTicket - An Action to re-open a ticket if two
> 	conditions are met - correspondence has come in, and the ticket
> 	is marked as resolved.
> 
> 	=head1 SYNOPSIS
> 
> 	require RT::Action::ReOpenTicket;
> 	@ISA = qw(RT::Action::ReOpenTicket);
> 
> 	=head1 DESCRIPTION
> 
> 	This only affects tickets which are resolved.  Tickets with any
> 	other status stay that way.
> 
> 	Does not send email when this happens.  In Scrip terms, this is:
> 
> 		OnCorrespond ReOpenTicket with template Blank
> 
> 	=begin testing
> 
> 	ok (require RT::TestHarness);
> 	ok (require RT::Action::Generic);
> 
> 	=end testing
> 
> 	=head1 AUTHOR
> 
> 	Bruce Campbell <bruce_campbell at ripe.net>
> 
> 	=head1 SEE ALSO
> 
> 	perl(1), RT
> 
> 	=cut
> 
> 	# Prepare ourselves.  Check if this ticket is resolved.
> 	sub Prepare {
> 		my $self = shift;
> 
> 		my $retval = 0;
> 		if( $self->TicketObj ){
> 			if( $self->TicketObj->Status =~ /resolve/i ){
> 				$retval = 1;
> 			}
> 		}else{
> 			$RT::Logger->warning("No ticket object handed to $self\n");
> 		}
> 		return( $retval );
> 	}
> 
> 	# Open the ticket.
> 	sub Commit {
> 
> 		my $self = shift;
> 		my $retval = 0;
> 		if( $self->TicketObj ){
> 			# Let this module be reused if we want to do something
> 			# else with it.
> 			my $action = $self->Argument || "open";
> 
> 			# SetStatus takes care of current user etc.
> 			$retval = $self->TicketObj->SetStatus( $action );
> 		}else{
> 			$RT::Logger->warning("No ticket object handed to $self\n");
> 		}
> 		return( $retval );
> 	}
> 
> 
> 

-- 
http://www.bestpractical.com/products/rt  -- Trouble Ticketing. Free.




More information about the rt-users mailing list