[Rt-commit] r11411 - rt/branches/3.6-RELEASE/lib/RT

ruz at bestpractical.com ruz at bestpractical.com
Wed Apr 2 22:05:34 EDT 2008


Author: ruz
Date: Wed Apr  2 22:05:33 2008
New Revision: 11411

Modified:
   rt/branches/3.6-RELEASE/lib/RT/Tickets_Overlay.pm

Log:
* update _CustomFieldDecipher
** return $cf obj if we found it
** look for cf harder

Modified: rt/branches/3.6-RELEASE/lib/RT/Tickets_Overlay.pm
==============================================================================
--- rt/branches/3.6-RELEASE/lib/RT/Tickets_Overlay.pm	(original)
+++ rt/branches/3.6-RELEASE/lib/RT/Tickets_Overlay.pm	Wed Apr  2 22:05:33 2008
@@ -1303,7 +1303,7 @@
 sub _CustomFieldDecipher {
     my ($self, $field) = @_;
  
-    my $queue = 0;
+    my $queue = undef;
     if ( $field =~ /^(.+?)\.{(.+)}$/ ) {
         ($queue, $field) = ($1, $2);
     }
@@ -1323,11 +1323,20 @@
             $cf = RT::CustomField->new( $self->CurrentUser );
             $cf->LoadByNameAndQueue( Queue => 0, Name => $field );
         }
-        $cfid = $cf->id if $cf;
+        return ($queue, $field, $cf->id, $cf)
+            if $cf && $cf->id;
+        return ($queue, $field);
     }
- 
-    return ($queue, $field, $cfid);
- 
+
+    my $cfs = RT::CustomFields->new( $self->CurrentUser );
+    $cfs->Limit( FIELD => 'Name', VALUE => $field );
+    $cfs->LimitToLookupType('RT::Queue-RT::Ticket');
+    my $count = $cfs->Count;
+    return (undef, $field, undef) if $count > 1;
+    return (undef, $field, 0) if $count == 0;
+    my $cf = $cfs->First;
+    return (undef, $field, $cf->id, $cf) if $cf && $cf->id;
+    return (undef, $field, undef);
 }
  
 =head2 _CustomFieldJoin


More information about the Rt-commit mailing list