<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=windows-1252"
 http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Carlos,<br>
<br>
Sounds like you are creating a situation where the ticket status is
constantly switched between "open" and "stalled" every time the
Requestor and ticket owner communicate to each other. Seems a bit busy
but hey, if that's what you want. Try something like this:<br>
<br>
<b>Scrip 1 - Owner reply:</b><br>
<i>Condition: On Correspond<br>
<br>
Custom Prep Code:</i><br>
my $trans = $self->TransactionObj;<br>
my $ticket = $self->TicketObj;<br>
my $corresponder_id = $trans->CreatorObj->PrincipalId;<br>
my $requestor =
$ticket->Requestors->UserMembersObj->First->PrincipalId;<br>
my $owner_id = $ticket->OwnerObj->PrincipalId;<br>
my $cf_obj = RT::CustomField->new($RT::SystemUser);<br>
my $cf_name = " ";<br>
my $cf_value = " ";<br>
<br>
# set new value for CF Support Status depending on who initiates
correspondence<br>
<br>
if  ( $corresponder_id = $requestor )<br>
    {<br>
     $cf_name = "Support Status";    <br>
     $cf_obj->LoadByName( Name => $cf_name );<br>
     $RT::Logger->debug( "Loaded \$cf_obj->Name = ".
$cf_obj->Name() ."\n" );<br>
     $ticket->AddCustomFieldValue( Field=>$cf_obj,
Value=>$cf_value, RecordTransaction=>0 );<br>
     $cf_name = "AutoClosure";    <br>
     $cf_obj->LoadByName( Name => $cf_name );<br>
     $RT::Logger->debug( "Loaded \$cf_obj->Name = ".
$cf_obj->Name() ."\n" );<br>
     $ticket->AddCustomFieldValue( Field=>$cf_obj,
Value=>$cf_value, RecordTransaction=>0 );<br>
     $ticket->SetStatus("open");<br>
    }<br>
elseif ( $corresponder_id = $owner )<br>
    {<br>
     $cf_name = "Support Status"; <br>
    
$cf_value = "Awaiting Customer";   <br>
     $cf_obj->LoadByName( Name => $cf_name );<br>
     $RT::Logger->debug( "Loaded \$cf_obj->Name = ".
$cf_obj->Name() ."\n" );<br>
     $ticket->AddCustomFieldValue( Field=>$cf_obj,
Value=>$cf_value, RecordTransaction=>0 );<br>
     $ticket->SetStatus("stalled");<br>
    }<br>
<br>
return 1;<br>
<i>Custom Cleanup Code:</i><br>
<br>
return 1;<br>
<br>
I'm not sure the "ID" part of the code is correct, but the key is to
get the Owner & Requestor ids and then compare them to the id of
the person doing the correspondence and then based on those results,
set your CF's and ticket status. If there is no match, then someone
else is doing the correspondence and you want to stop. One scrip to
handle all that for correspondence. Hope this helps.<br>
<br>
Kenn<br>
LBNL<br>
<br>
On 7/13/2009 6:59 PM, Carlos A. Alvarez wrote:
<blockquote cite="mid:15782598-5B85-4E65-9533-3EEF46FD8A48@mimectl"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <style title="owaParaStyle">P {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
  </style>
  <div dir="ltr"> </div>
  <div><font face="Tahoma" size="2">
  <p class="MsoNormal">I will like to create a scrip where the status
of a ticket is automatically changed from open to stalled when a Owner
replies to a requestor. I am using rt-crontool to monitor the status of
the tickets and auto resolve the ticket after 72 hours of inactivity. 
I created a custom field to monitor the status of the crontool, but my
problem is that when the customer replies, I can’t rely on my techs to
change the status of the ticket manually.</p>
  <p class="MsoNormal"> </p>
  <p class="MsoNormal">I tried creating User Defined Scrip which works
fine, exept it executes each time, indiscriminately. Let me try to
explain, I have one script that changes the status from open to
stalled, when a technician replies, and another that changed the status
back to open when the customer/requestor replies.  I can see that both
scrips are executing at the same time regardless of who initiated the
correspondence. </p>
  <p class="MsoNormal"> </p>
  <p class="MsoNormal">I know that I am missing something basic, but I
don’t know what.  Can anyone help.</p>
  <p class="MsoNormal"> </p>
  <p class="MsoNormal">Scrip 1 customer reply</p>
  <p class="MsoNormal">$self->TicketObj->AddCustomFieldValue(Field
=> 'Support Status', Value => ' ');</p>
  <p class="MsoNormal">$self->TicketObj->AddCustomFieldValue(Field
=> 'AutoClosure', Value => ' ');</p>
  <p class="MsoNormal">$self->TicketObj->SetStatus("open");</p>
  <p class="MsoNormal">return 1;</p>
  <p class="MsoNormal"> </p>
  <p class="MsoNormal">Scrip 2 Owner reply</p>
  <p class="MsoNormal">$self->TicketObj->AddCustomFieldValue(Field
=> 'Support Status', Value => 'Awaiting Customer');</p>
  <p class="MsoNormal">$self->TicketObj->SetStatus("stalled");</p>
  <p class="MsoNormal">return 1;</p>
  <p class="MsoNormal"> </p>
  <p class="MsoNormal">Thanks…</p>
  </font></div>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
<a class="moz-txt-link-freetext" href="http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users">http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users</a>

Community help: <a class="moz-txt-link-freetext" href="http://wiki.bestpractical.com">http://wiki.bestpractical.com</a>
Commercial support: <a class="moz-txt-link-abbreviated" href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at <a class="moz-txt-link-freetext" href="http://rtbook.bestpractical.com">http://rtbook.bestpractical.com</a></pre>
</blockquote>
</body>
</html>