[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