[Rt-commit] [svn] r1533 - in rt/branches/3.3-TESTING: . lib/RT

jesse at pallas.eruditorum.org jesse at pallas.eruditorum.org
Tue Sep 21 00:48:54 EDT 2004


Author: jesse
Date: Tue Sep 21 00:48:54 2004
New Revision: 1533

Modified:
   rt/branches/3.3-TESTING/   (props changed)
   rt/branches/3.3-TESTING/lib/RT/Tickets_Overlay.pm
   rt/branches/3.3-TESTING/lib/RT/Tickets_Overlay_SQL.pm
Log:
 r10326 at tinbook:  jesse | 2004-09-21T04:48:46.583575Z
 First test version of less broken cf search code


Modified: rt/branches/3.3-TESTING/lib/RT/Tickets_Overlay.pm
==============================================================================
--- rt/branches/3.3-TESTING/lib/RT/Tickets_Overlay.pm	(original)
+++ rt/branches/3.3-TESTING/lib/RT/Tickets_Overlay.pm	Tue Sep 21 00:48:54 2004
@@ -867,7 +867,8 @@
         $null_columns_ok = 1;
     }
 
-
+    my $cfid = 0;
+    if ($queue) {
 
     my $q = RT::Queue->new( $self->CurrentUser );
     $q->Load($queue) if ($queue);
@@ -881,19 +882,19 @@
         $cf->LoadByNameAndQueue( Queue => '0', Name => $field );
     }
 
-  my $cfid = $cf->id;
+     $cfid = $cf->id;
 
-  die "No custom field named $field found\n" unless $cfid;
+    }
 
 
     my $TicketCFs;
 
   # Perform one Join per CustomField
-    if ( $self->{_sql_keywordalias}{$cfid} ) {
-    $TicketCFs = $self->{_sql_keywordalias}{$cfid};
+    if ( $self->{_sql_object_cf_alias}{$cfid} ) {
+    $TicketCFs = $self->{_sql_object_cf_alias}{$cfid};
   }
     else {
-        $TicketCFs = $self->{_sql_keywordalias}{$cfid} = $self->_SQLJoin(
+        $TicketCFs = $self->{_sql_object_cf_alias}{$cfid} = $self->_SQLJoin(
             TYPE   => 'left',
             ALIAS1 => 'main',
             FIELD1 => 'id',
@@ -908,14 +909,29 @@
         ENTRYAGGREGATOR => 'AND'
     );
 
+    if ($cfid) {
     $self->_SQLLimit(
         LEFTJOIN        => $TicketCFs,
         FIELD           => 'CustomField',
         VALUE           => $cfid,
         ENTRYAGGREGATOR => 'AND'
     );
+    } else {
+    my $cfalias = $self->_SQLJoin(
+        ALIAS1        => $TicketCFs,
+        FIELD1           => 'CustomField',
+        TABLE2          => 'CustomFields',
+        ALIAS2          => 'id'
+    );
+    $self->_SQLLimit(
+        LEFTJOIN        => $cfalias,
+        FIELD           => 'Name',
+        VALUE           => $field,
+    );
+
 
     }
+    }
 
     $self->_OpenParen;
 

Modified: rt/branches/3.3-TESTING/lib/RT/Tickets_Overlay_SQL.pm
==============================================================================
--- rt/branches/3.3-TESTING/lib/RT/Tickets_Overlay_SQL.pm	(original)
+++ rt/branches/3.3-TESTING/lib/RT/Tickets_Overlay_SQL.pm	Tue Sep 21 00:48:54 2004
@@ -73,7 +73,7 @@
   $self->{'_sql_linkalias'}    = undef;
   $self->{'_sql_transalias'}    = undef;
   $self->{'_sql_trattachalias'} = undef;
-  $self->{'_sql_keywordalias'}  = undef;
+  $self->{'_sql_object_cf_alias'}  = undef;
   $self->{'_sql_depth'}         = 0;
   $self->{'_sql_localdepth'}    = 0;
   $self->{'_sql_query'}         = '';


More information about the Rt-commit mailing list