<br><font size=2 face="sans-serif">hello,</font>
<br>
<br><font size=2 face="sans-serif">not sure, this is a guess, but you may
try to trigger your script at "TransactionBatch" step instead
of "TransactionCreate"</font>
<br><font size=2 face="sans-serif">As doing it manually just works fine,
it's probably something close to that.</font>
<br><font size=2 face="sans-serif"><br>
Raphaël MOUNEYRES<br>
</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>suIIy <bglasson@bytecraft.com.au></b>
</font>
<br><font size=1 face="sans-serif">Envoyé par : rt-users-bounces@lists.bestpractical.com</font>
<p><font size=1 face="sans-serif">19/07/2011 08:56</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">A</font></div>
<td><font size=1 face="sans-serif">rt-users@lists.bestpractical.com</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Objet</font></div>
<td><font size=1 face="sans-serif">[rt-users] Have a programatically set
Custom Field trigger a Condition</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2><br>
Hi All<br>
<br>
I'm working on implementing a workflow based queue in RT3.6 based on the<br>
instructions here;<br>
<br>
</font></tt><a href=http://requesttracker.wikia.com/wiki/WorkFlow><tt><font size=2>http://requesttracker.wikia.com/wiki/WorkFlow<br>
<br>
How it works is this.<br>
<br>
A master ticket is created with 3 custom fields. Each custom field can
have<br>
2 values "Required" and "Completed"<br>
<br>
When "Required" is set, a scrip creates a child ticket.<br>
<br>
When the child ticket is closed, a scrip updates the master ticket and<br>
changes the Custom Field in that ticket from "Required" to "Complete"<br>
<br>
Every thing works fine at this point.<br>
<br>
I then decided that it would be a neat idea if when the child task is<br>
completed, the next child task could automatically begin.<br>
<br>
In theory, to do this would simply require that the "On Resolve"
scrip<br>
update the next Custom Field in the workflow, setting it to "Required"
which<br>
should trigger the next child ticket.  <br>
<br>
After adding a few extra lines to the On Resolve scrip I am now<br>
automatically updating the Custom Field in the next step to "Required",<br>
which should trigger a condition.<br>
<br>
This is where I'm stalled.<br>
<br>
It seems that the Condition is not triggered when you programmatically
set<br>
the Custom Field to "Required". If you unset it and then set
it back to<br>
"Required" manually it works just fine.<br>
<br>
This is the code for the Condition as per the Workflow wiki page;<br>
<br>
8<------------------------------------------------------------------------------------<br>
# Local condition to check that a custom field<br>
# has been set to "Required".<br>
# -Chuck Boeheim 3/13/06<br>
<br>
package RT::Condition::FieldRequired;<br>
require RT::Condition::Generic;<br>
<br>
use strict;<br>
use vars qw/@ISA/;<br>
@ISA = qw(RT::Condition::Generic);<br>
<br>
<br>
=head2 IsApplicable<br>
 <br>
If the field named as an argument becomes 'Required'.<br>
Only triggers on transitions, not if it already had<br>
that value.<br>
 <br>
=cut<br>
 <br>
sub IsApplicable {<br>
    my $self = shift;<br>
    my $field = $self->Argument;<br>
    my $trans = $self->TransactionObj;<br>
   <br>
    if ($trans->Type eq 'Create')<br>
    {<br>
       return 1 if $trans->TicketObj->FirstCustomFieldValue($field)
=~<br>
/^Required/;<br>
    }<br>
   <br>
    if ($trans->Type eq 'CustomField')<br>
    {<br>
       my $cf = RT::CustomField->new($self->CurrentUser);<br>
       $cf->Load($field);<br>
       return 1 if $trans->Field == $cf->Id &&
$trans->NewValue =~<br>
/^Required/;<br>
    }<br>
   <br>
    return undef;<br>
}<br>
 <br>
1;<br>
<br>
8<------------------------------------------------------------------------------------<br>
<br>
I reckon the trouble is in this particular script, but I don't really know<br>
perl at all so I could be wrong. I am assuming that I might need another<br>
<code> if ($trans->Type eq '???)  </code> block maybe?<br>
 <br>
If anybody has any ideas on what I need to do to make a programatically
set<br>
custom field trigger a condition I would sure appreciate it.<br>
<br>
I don't want to load up this post with tonnes of code so if there is any<br>
extra info you require please let me know.<br>
<br>
Thanks in advance.<br>
-- <br>
View this message in context: </font></tt><a href="http://old.nabble.com/Have-a-programatically-set-Custom-Field-trigger-a-Condition-tp32088731p32088731.html"><tt><font size=2>http://old.nabble.com/Have-a-programatically-set-Custom-Field-trigger-a-Condition-tp32088731p32088731.html<br>
Sent from the Request Tracker - User mailing list archive at Nabble.com.<br>
<br>
<br>
--------<br>
2011 Training: </font></tt><a href=http://bestpractical.com/services/training.html><tt><font size=2>http://bestpractical.com/services/training.html<br>
</font></tt></a></a></a>
<br><PRE>#
" Ce courriel et les documents qui lui sont joints peuvent contenir des
informations confidentielles ou ayant un caractère privé. S'ils ne vous sont
pas destinés, nous vous signalons qu'il est strictement interdit de les
divulguer, de les reproduire ou d'en utiliser de quelque manière que ce
soit le contenu. Si ce message vous a été transmis par erreur, merci d'en
informer l'expéditeur et de supprimer immédiatement de votre système
informatique ce courriel ainsi que tous les documents qui y sont attachés."


                               ******

" This e-mail and any attached documents may contain confidential or
proprietary information. If you are not the intended recipient, you are
notified that any dissemination, copying of this e-mail and any attachments
thereto or use of their contents by any means whatsoever is strictly
prohibited. If you have received this e-mail in error, please advise the
sender immediately and delete this e-mail and all attached documents
from your computer system."
#
</PRE>