Hi Bart
we use
if( ! $ticket->CustomFieldValues( 'Software Ready' )->First )
{
# set the custom field
my $cf = RT::CustomField->new( $RT::SystemUser );
$cf->LoadByName( Name => 'Software Ready' );
my ( $status, $msg ) = $ticket->AddCustomFieldValue( Field => $cf,
Value => 'Not ready' );
if( $status )
{
$RT::Logger->info( $blurb . " : 'Software Ready' set to 'Not
ready'" );
}
else
{
$RT::Logger->warning( $blurb . " : Couldn't set 'Software Ready'
to 'Not ready'" . $msg );
}
}
Gerard
On 2011-10-11 15:44, Bart wrote:
Hi,
I have a simple scrip that sets some default values during the
creation of a ticket.
The problem witht his scrip is that it's a little rough, it sets the
values even when somoen manually creates a ticket and fills in the
fields (they get overwritten).
Because of that I want the scrip to first check if the field isn't set
already, with that I'm kinda having a problem, checking if the field
is NULL doesn't seem to work...
What's the best way for checking if a Custom Field (in this case)
isn't set?
I've tried these options but they don't seem to work:
Check if the field is empty:
if($self->TicketObj->FirstCustomFieldValue(Field => 'Type') = 'NULL')
{ do something };
Since this field could contain the option Problem this if statement
does something when the ticket is set to Problem (for testing, but
this doesn't seem to work either):
if($self->TicketObj->FirstCustomFieldValue(Field => 'Type') =~ /^P/) {
do something );
And a bunch of varaiaties where I\ve either bumped against issues of
syntax not being recognised, etc. (things like neq, !=, NULL without
quotes, etc.).
Does anyone have an example on how to do something similar? (check if
a CF is empty, if so then fill it with a value)
-- Bart
--------
RT Training Sessions (http://bestpractical.com/services/training.html)
* San Francisco, CA, USA October 18 & 19, 2011
* Washington DC, USA October 31 & November 1, 2011
* Barcelona, Spain November 28 & 29, 2011