<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>This is a code example where I'm checking to see if a CustomField called "Application" has a value in it.  If it doesn't then the cleanup code changes the status back to OPEN and  add a comment to the ticket stating it was missing a value.</div><div><br></div><div>The Custom Action code has to handle that an update may involve multiple transactions and you have to look at each transaction to if one of them is going to update that field.  </div><div><br></div><div>Hope that helps,</div><div>CR</div><div><br></div><div>-------------------------------</div><div>CONDITION:  On Resolve</div><div><div>-------------------------------</div><div>ACTION: User Defined</div></div><div><div>-------------------------------</div><div>STAGE: TransactionBatch</div></div><div><div>-------------------------------</div><div>#CUSTOM ACTION PREPARATION</div></div><div><span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px; white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">### See if there is a Transaction modifying Application field
my @batch= @{ $self->TicketObj->TransactionBatch };
foreach my $txn ( @batch ) {
  my $txnType = $txn->Type;
  my $txnDesc = $txn->Description;
  if ($txnType eq 'CustomField') {
    if ($txnDesc =~ /^Application/) {
      return 0;  # There is a transaction updating Application so don't run
    }
  }
}

### Get the Application value
my $CFV = $self->TicketObj->FirstCustomFieldValue('Application');

### Choose whether to run script
if ($CFV) {
  return 0;   # There is a value so don't execute scrip


if ($self->TicketObj->QueueObj->Name eq 'Server') {
   return 0;  # Skipping the Server queue
}
else {
  return 1;   # There isn't a value so execute scrip
}

return 0;</span></div><div><font class="Apple-style-span" face="'Lucida Grande'" size="3"><span class="Apple-style-span" style="font-size: 11px; white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><div>-------------------------------</div><div><span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px; white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">#CUSTOM ACTION CLEANUP</span></div></span></span></font></div><div><font class="Apple-style-span" face="'Lucida Grande'" size="3"><span class="Apple-style-span" style="font-size: 11px; white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">### Set ticket status to open
my ($status, $msg) = $self->TicketObj->SetStatus( 'open' );
unless( $status ) {
  $RT::Logger->error( "ERROR - NoApplication SCRIP: $msg" );
  return undef;
}

### Add a comment to the ticket
$self->TicketObj->Comment( Content => 'Missing Custom Field Value - Application! - Status has been changed to OPEN');

return 1;</span></font></div><div><div>-------------------------------</div><div><br></div></div><br><div><div>On Feb 6, 2009, at 3:30 PM, Laura Grella wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br>Thanks Kenn,<br><br>It has been at least 6 months since I have done any scrip coding and was<br>wondering if you had any sample code that would check the field and return 0<br>when empty? I'd really appreciate it.<br><br>Thanks,<br>Laura<br><br>Kenneth Crocker wrote:<br><blockquote type="cite"><br></blockquote><blockquote type="cite">Laura,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><span class="Apple-tab-span" style="white-space:pre">      </span>I'm only on 3.6.4 so my comment may be out of date. I don't think <br></blockquote><blockquote type="cite">that's possible in configuration. If a CF is set up to be mandatory, <br></blockquote><blockquote type="cite">then whenever it is applied to a queue, those tickets will require an <br></blockquote><blockquote type="cite">entry. What you can do is remove the "Mandatory" setting and then write <br></blockquote><blockquote type="cite">a scrip for the queues you want it to be mandatory in and do a return 0 <br></blockquote><blockquote type="cite">when checking it against the desired transactions and it is empty. Hope <br></blockquote><blockquote type="cite">this helps.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Kenn<br></blockquote><blockquote type="cite">LBNL<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">On 2/6/2009 12:33 PM, Laura Grella wrote:<br></blockquote><blockquote type="cite"><blockquote type="cite">Is there a way to make a custom field mandatory in 3 queues, but not<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">mandatory in a 4th queue?<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Thanks,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Laura<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite"><a href="http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users">http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Community help: <a href="http://wiki.bestpractical.com">http://wiki.bestpractical.com</a><br></blockquote><blockquote type="cite">Commercial support: <a href="mailto:sales@bestpractical.com">sales@bestpractical.com</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Discover RT's hidden secrets with RT Essentials from O'Reilly Media. <br></blockquote><blockquote type="cite">Buy a copy at <a href="http://rtbook.bestpractical.com">http://rtbook.bestpractical.com</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><br>-- <br>View this message in context: <a href="http://www.nabble.com/Custom-field-not-mandatory-in-all-queues-tp21880139p21880998.html">http://www.nabble.com/Custom-field-not-mandatory-in-all-queues-tp21880139p21880998.html</a><br>Sent from the Request Tracker - User mailing list archive at Nabble.com.<br><br>_______________________________________________<br><a href="http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users">http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users</a><br><br>Community help: http://wiki.bestpractical.com<br>Commercial support: sales@bestpractical.com<br><br><br>Discover RT's hidden secrets with RT Essentials from O'Reilly Media. <br>Buy a copy at http://rtbook.bestpractical.com<br></div></blockquote></div><br></body></html>