From cbb4c260c40779ba84c794dd68147c54f3de2f52 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Fri, 1 Jun 2012 17:15:27 -0700 Subject: RT 3.8.13 --- rt/lib/RT/ObjectCustomField_Overlay.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'rt/lib/RT/ObjectCustomField_Overlay.pm') diff --git a/rt/lib/RT/ObjectCustomField_Overlay.pm b/rt/lib/RT/ObjectCustomField_Overlay.pm index 689d62ff5..3b7d87945 100644 --- a/rt/lib/RT/ObjectCustomField_Overlay.pm +++ b/rt/lib/RT/ObjectCustomField_Overlay.pm @@ -119,7 +119,19 @@ sub Delete { sub CustomFieldObj { my $self = shift; my $id = shift || $self->CustomField; + + # To find out the proper context object to load the CF with, we need + # data from the CF -- namely, the record class. Go find that as the + # system user first. + my $system_CF = RT::CustomField->new( RT->SystemUser ); + $system_CF->Load( $id ); + my $class = $system_CF->RecordClassFromLookupType; + + my $obj = $class->new( $self->CurrentUser ); + $obj->Load( $self->ObjectId ); + my $CF = RT::CustomField->new( $self->CurrentUser ); + $CF->SetContextObject( $obj ); $CF->Load( $id ); return $CF; } -- cgit v1.2.1