[rt-users] Possible bug in ExtractCustomFieldValues 2.99_01

Kevin Falcone falcone at bestpractical.com
Wed May 27 17:07:38 EDT 2009


On May 27, 2009, at 4:47 PM, Flynn, Timothy J wrote:

> I have been using ExtractCustomFieldValues 2.99_01 for a few months  
> now
> with RT 3.8.2 and it seemed to work well.  Recently I added some new
> global custom fields and then applied them to a new queue and I've  
> been
> getting errors unless I remove the new custom fields from the template
> when emails are parsed.

I think you want:
http://svn.bestpractical.com/cgi-bin/index.cgi/bps/revision/?rev=19391

2.99_01 is a developer release, sounds like there needs to be
a 2.99_02

-kevin

>
>
> [Wed May 27 19:26:51 2009] [debug]: Looking for CF Job Name
> (/usr/local/rt3/local/plugins/RT-Extension-ExtractCustomFieldValues/ 
> lib/
> RT/Action/ExtractCustomFieldValues.pm:105)
> [Wed May 27 19:26:51 2009] [error]: Scrip Commit 15 died. - Can't call
> method "id" on an undefined value at
> /usr/local/rt3/local/plugins/RT-Extension-ExtractCustomFieldValues/ 
> lib/R
> T/Action/ExtractCustomFieldValues.pm line 119.
>
> Stack:
>
> [/usr/local/rt3/local/plugins/RT-Extension-ExtractCustomFieldValues/ 
> lib/
> RT/Action/ExtractCustomFieldValues.pm:119]
>
> [/usr/local/rt3/local/plugins/RT-Extension-ExtractCustomFieldValues/ 
> lib/
> RT/Action/ExtractCustomFieldValues.pm:81]
>  [/usr/local/rt3/bin/../lib/RT/ScripAction_Overlay.pm:238]
>  [/usr/local/rt3/bin/../lib/RT/Scrip_Overlay.pm:464]
>  [/usr/local/rt3/bin/../lib/RT/Scrips_Overlay.pm:196]
>  [/usr/local/rt3/bin/../lib/RT/Transaction_Overlay.pm:188]
>  [/usr/local/rt3/bin/../lib/RT/Record.pm:1456]
>  [/usr/local/rt3/bin/../lib/RT/Ticket_Overlay.pm:648]
>  [/usr/local/rt3/bin/../lib/RT/Interface/Email.pm:1357]
>  [/usr/local/rt3/share/html/REST/1.0/NoAuth/mail-gateway:61]
> (/usr/local/rt3/bin/../lib/RT/Scrip_Overlay.pm:472)
>
>
>
> I believe it is because in this area of code it tries to see if a  
> field
> pertains to a queue or not and makes the assumtion that if it is  
> global
> it is in all queues or if it isn't global it is there.  We have global
> custom fields that don't apply to all queues.
>
> 101 sub LoadCF {
> 102     my $self = shift;
> 103     my %args            = @_;
> 104     my $CustomFieldName = $args{Name};
> 105     $RT::Logger->debug( "Looking for CF $CustomFieldName");
> 106
> 107     # We do this by hand instead of using LoadByNameAndQueue  
> because
> 108     # that can find disabled queues
> 109     my $cfs = RT::CustomFields->new($RT::SystemUser);
> 110     $cfs->LimitToGlobalOrQueue($self->Queue);
> 111     $cfs->Limit(
> 112         FIELD         => 'Name',
> 113         VALUE         => $CustomFieldName,
> 114         CASESENSITIVE => 0
> 115     );
> 116     $cfs->RowsPerPage(1);
> 117
> 118     my $cf = $cfs->First;
> 119     if ( $cf->id ) {
> 120         $RT::Logger->debug( "Found CF id " . $cf->id );
> 121     } elsif ( not $args{Quiet} ) {
> 122         $RT::Logger->error( "Couldn't load CF $CustomFieldName!");
> 123     }
> 124
> 125     return $cf;
>
>
>
> It would seem to me that the limit method isn't limiting enough?
> Meaning that it just checks if a custom field is global or not but
> doesn't seem to check if it is applied or not??  This is my first  
> guess.
> Any ideas on a resolution?
>
>
> Thanks,
> -Tim
> _______________________________________________
> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users
>
> Community help: http://wiki.bestpractical.com
> Commercial support: sales at bestpractical.com
>
>
> Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
> Buy a copy at http://rtbook.bestpractical.com
>




More information about the rt-users mailing list