[Rt-commit] r18353 - rt/3.8/trunk/lib/RT

ruz at bestpractical.com ruz at bestpractical.com
Thu Feb 12 16:25:09 EST 2009


Author: ruz
Date: Thu Feb 12 16:25:09 2009
New Revision: 18353

Modified:
   rt/3.8/trunk/lib/RT/CustomField_Overlay.pm
   rt/3.8/trunk/lib/RT/Queue_Overlay.pm
   rt/3.8/trunk/lib/RT/Record.pm
   rt/3.8/trunk/lib/RT/Ticket_Overlay.pm

Log:
* set context for CFs in variouse places

Modified: rt/3.8/trunk/lib/RT/CustomField_Overlay.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/CustomField_Overlay.pm	(original)
+++ rt/3.8/trunk/lib/RT/CustomField_Overlay.pm	Thu Feb 12 16:25:09 2009
@@ -307,6 +307,7 @@
     # XXX - really naive implementation.  Slow. - not really. still just one query
 
     my $CFs = RT::CustomFields->new( $self->CurrentUser );
+    $CFs->SetContextObject( $self->ContextObject );
     $CFs->Limit( FIELD => 'Name', VALUE => $args{'Name'}, CASESENSITIVE => 0);
     # Don't limit to queue if queue is 0.  Trying to do so breaks
     # RT::Group type CFs.

Modified: rt/3.8/trunk/lib/RT/Queue_Overlay.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/Queue_Overlay.pm	(original)
+++ rt/3.8/trunk/lib/RT/Queue_Overlay.pm	Thu Feb 12 16:25:09 2009
@@ -623,6 +623,7 @@
 
     my $cfs = RT::CustomFields->new( $self->CurrentUser );
     if ( $self->CurrentUserHasRight('SeeQueue') ) {
+        $cfs->SetContextObject( $self );
 	$cfs->LimitToGlobalOrObjectId( $self->Id );
 	$cfs->LimitToLookupType( 'RT::Queue-RT::Ticket' );
     }

Modified: rt/3.8/trunk/lib/RT/Record.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/Record.pm	(original)
+++ rt/3.8/trunk/lib/RT/Record.pm	Thu Feb 12 16:25:09 2009
@@ -1523,11 +1523,13 @@
 sub CustomFields {
     my $self = shift;
     my $cfs  = RT::CustomFields->new( $self->CurrentUser );
-
+    
+    $cfs->SetContextObject( $self );
     # XXX handle multiple types properly
     $cfs->LimitToLookupType( $self->CustomFieldLookupType );
     $cfs->LimitToGlobalOrObjectId(
-        $self->_LookupId( $self->CustomFieldLookupType ) );
+        $self->_LookupId( $self->CustomFieldLookupType )
+    );
 
     return $cfs;
 }
@@ -1872,17 +1874,20 @@
     my $self = shift;
     my $field = shift;
     
-    my $cf = RT::CustomField->new($self->CurrentUser);
-
+    my $cf;
     if ( UNIVERSAL::isa( $field, "RT::CustomField" ) ) {
+        $cf = RT::CustomField->new($self->CurrentUser);
+        $cf->SetContextObject( $self );
         $cf->LoadById( $field->id );
     }
     elsif ($field =~ /^\d+$/) {
         $cf = RT::CustomField->new($self->CurrentUser);
+        $cf->SetContextObject( $self );
         $cf->LoadById($field);
     } else {
 
         my $cfs = $self->CustomFields($self->CurrentUser);
+        $cfs->SetContextObject( $self );
         $cfs->Limit(FIELD => 'Name', VALUE => $field, CASESENSITIVE => 0);
         $cf = $cfs->First || RT::CustomField->new($self->CurrentUser);
     }

Modified: rt/3.8/trunk/lib/RT/Ticket_Overlay.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/Ticket_Overlay.pm	(original)
+++ rt/3.8/trunk/lib/RT/Ticket_Overlay.pm	Thu Feb 12 16:25:09 2009
@@ -3510,6 +3510,7 @@
     return $self->SUPER::CustomFieldValues( $field ) if !$field || $field =~ /^\d+$/;
 
     my $cf = RT::CustomField->new( $self->CurrentUser );
+    $cf->SetContextObject( $self );
     $cf->LoadByNameAndQueue( Name => $field, Queue => $self->Queue );
     unless ( $cf->id ) {
         $cf->LoadByNameAndQueue( Name => $field, Queue => 0 );


More information about the Rt-commit mailing list