[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