[rt-users] problem with trigger

Michael W. Lucas mwlucas at blackhelicopters.org
Tue Jun 15 15:54:45 EDT 2010


That does it, thank you very much!

For the archives: I had to replace "my id" in the prep code with
"mwlucas"; , including the quotes and the semicolon.

==ml

On Tue, Jun 15, 2010 at 12:35:19PM -0700, Kenneth Crocker wrote:
> Michael,
> 
> Try this:
> 
> Name: Set Owner on CF
> Condition: User-Defined
> Action: User-Defined
> Template: Blank
> Stage: TransactionBatch
> 
> Custom Condition:
> #determine if correct CF & value changed
> 
> my $trans = $self->TransactionObj;
> my $ticket = $self->TicketObj;
> 
> if  ($trans->Type eq 'CustomField')
>     {my $cf = new RT::CustomField($RT::SystemUser);
>         $cf->LoadByName(Queue => $ticket->QueueObj->id,
>          Name => "Port Completion");
>      return 0 unless $cf->id;
>      if  ($trans->Field == $cf->id &&
>           $trans->NewValue eq "Ported and Routed")
>           {
>            return 1;
>           }
>     }
> 
> return 0;
> 
> Custom Prep Code:
> # set Ticket Owner ID
> 
> my $ticket = $self->TicketObj;
> my $ownerid = my id
> 
> $ticket->SetOwner($ownerid);
> return 1;
> 
> Custom Cleanup Code:
> 
> return 1;
> 
> Hope this helps
> 
> Kenn
> LBNL
> 
> On Tue, Jun 15, 2010 at 12:05 PM, Michael W. Lucas <
> mwlucas at blackhelicopters.org> wrote:
> 
> > Hi,
> >
> > I'm trying to write a trigger for a particular custom field, as
> > described at
> > http://wiki.bestpractical.com/view/OnCustomFieldValueChange, and
> > apparently I don't understand something.  I'd appreciate any
> > enlightenment anyone can offer, pointers to docs I should read, etc.
> >
> > I have a CustomField called "Port Completion".  When this CustomField
> > is set to "Ported and Routed", I want the call assigned to myself.
> > This CustomField appears to be Field 15, given that the URL ends in
> > "Modify.html?id=15".
> >
> > I've created a scrip for my test queue with the following settings:
> >
> > Description: assign owner on port completion
> > Condition: user defined
> > Action: user defined
> > Template: Global template: Transaction
> > Stage: TransactionCreate
> >
> > My custom condition is taken straight from the example.
> >
> > unless (
> >  ( $self->TransactionObj->Type eq "CustomField"
> >   &&  $self->TransactionObj->Field == 15 )
> >  ||  $self->TransactionObj->Type eq "Create"
> >  ) {
> >   return 0;
> > }
> >
> > return 0 unless $self->TicketObj->FirstCustomFieldValue('Port Completion')
> > =~ /Ported and Routed/i;
> >
> > 1;
> >
> > The Custom action preparation code is:
> >
> > $self->TicketObj->SetOwner('Michael W Lucas');
> > return 1;
> >
> > There is no cleanup code.  This looks like it should be perfectly
> > straightforward.
> >
> > Any suggestions, folks?  Is there any place I can trace what's
> > happening in the scrip, or what RT is doing when this is run?
> >
> > Thanks,
> > ==ml
> >
> > --
> > Michael W. Lucas        mwlucas at BlackHelicopters.org
> > http://www.MichaelWLucas.com/, http://blather.MichaelWLucas.com/
> > New book:  Network Flow Analysis
> > pre-order now!  http://www.networkflowanalysis.com/
> >
> > Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
> > Buy a copy at http://rtbook.bestpractical.com
> >

> 
> Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
> Buy a copy at http://rtbook.bestpractical.com

-- 
Michael W. Lucas 	mwlucas at BlackHelicopters.org
http://www.MichaelWLucas.com/, http://blather.MichaelWLucas.com/
New book:  Network Flow Analysis
pre-order now!  http://www.networkflowanalysis.com/



More information about the rt-users mailing list