[rt-users] Default value

Mathew Snyder theillien at yahoo.com
Mon Sep 24 11:26:09 EDT 2007


Figured it out.  Seems that despite a CF being created as a Global, it has to be
explicitly applied to a queue...strange.

Keep up with me and what I'm up to: http://theillien.blogspot.com


Mathew Snyder wrote:
> I have one DV that I set to a default value whenever a ticket is created.  I've
> tried to port this over to another queue with a different CF/value but it
> doesn't seem to work.  Here's the code:
> 
> my $CFName = 'Environment';
> my $DefaultValue = 'default_value';
> my $RecTransaction = 1;
> my $QueueObj = $self->TicketObj->QueueObj;
> my $CFObj = RT::CustomField->new( $QueueObj->CurrentUser );
> 
> $CFObj->LoadByNameAndQueue( Name => $CFName, Queue => $QueueObj->id );
> 
> unless( $CFObj->id ) {
>   $CFObj->LoadByNameAndQueue( Name => $CFName, Queue => 7 );
>   unless( $CFObj->id ) {
>     $RT::Logger->warning("custom field '$CFName' isn't global or defined for
> queue '". $QueueObj->Name ."'");
>     return undef;
>   }
> }
> 
> unless( $self->TicketObj->FirstCustomFieldValue( $CFObj->id ) ) {
>   my( $st, $msg ) = $self->TicketObj->AddCustomFieldValue(
>   Field => $CFObj->id,
>   Value => $DefaultValue,
>   RecordTransaction => $RecTransaction );
>   unless( $st ) {
>     $RT::Logger->warning( "Couldn't set $DefaultValue as value for CF $CFName:".
> $msg );
>     return undef;
>   }
> }
> return 1;
> 
> The only thing I've changed between the two queues is the name of the CF, the
> value of the CF and the queue number as it is stored in the DB.  Anyone have any
> thoughts as to why this isn't working?
> 



More information about the rt-users mailing list