From 919e930aa9279b3c5cd12b593889cd6de79d67bf Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Fri, 12 Jun 2015 15:19:00 -0700 Subject: rt 4.0.23 --- rt/lib/RT/CustomFieldValue.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rt/lib/RT/CustomFieldValue.pm') diff --git a/rt/lib/RT/CustomFieldValue.pm b/rt/lib/RT/CustomFieldValue.pm index 4adb84d9e..e6b8a09e8 100644 --- a/rt/lib/RT/CustomFieldValue.pm +++ b/rt/lib/RT/CustomFieldValue.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) -- cgit v1.2.1 From 1c538bfabc2cd31f27067505f0c3d1a46cba6ef0 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Thu, 9 Jul 2015 22:18:55 -0700 Subject: RT 4.2.11, ticket#13852 --- rt/lib/RT/CustomFieldValue.pm | 61 ++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 33 deletions(-) (limited to 'rt/lib/RT/CustomFieldValue.pm') diff --git a/rt/lib/RT/CustomFieldValue.pm b/rt/lib/RT/CustomFieldValue.pm index e6b8a09e8..ecffa27bc 100644 --- a/rt/lib/RT/CustomFieldValue.pm +++ b/rt/lib/RT/CustomFieldValue.pm @@ -54,8 +54,8 @@ package RT::CustomFieldValue; no warnings qw/redefine/; -use RT::CustomField; use base 'RT::Record'; +use RT::CustomField; sub Table {'CustomFieldValues'} @@ -100,37 +100,6 @@ sub ValidateName { return defined $_[1] && length $_[1]; }; -=head2 DeleteCategory - -Deletes the category associated with this value -Returns -1 if there is no Category - -=cut - -sub DeleteCategory { - my $self = shift; - my $attr = $self->FirstAttribute('Category') or return (-1,'No Category Set'); - return $attr->Delete; -} - -=head2 Delete - -Make sure we delete our Category when we're deleted - -=cut - -sub Delete { - my $self = shift; - - my ($result, $msg) = $self->DeleteCategory; - - unless ($result) { - return ($result, $msg); - } - - return $self->SUPER::Delete(@_); -} - sub _Set { my $self = shift; @@ -175,18 +144,37 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure. (In the database, CustomField will be stored as a int(11).) +=head2 SetCustomFieldObj + +Store the CustomField object which loaded this CustomFieldValue. +Passed down from the CustomFieldValues collection in AddRecord. + +This object will be transparently returned from CustomFieldObj rather +than loading from the database. + =cut +sub SetCustomFieldObj { + my $self = shift; + return $self->{'custom_field'} = shift; +} =head2 CustomFieldObj -Returns the CustomField Object which has the id returned by CustomField +If a CustomField object was stored using SetCustomFieldObj and it is +the same CustomField stored in the CustomField column, then the stored +CustomField object (likely passed down from CustomField->Values) will be returned. +Otherwise returns the CustomField Object which has the id returned by CustomField =cut sub CustomFieldObj { my $self = shift; + + return $self->{custom_field} if $self->{custom_field} + and $self->{custom_field}->id == $self->__Value('CustomField'); + my $CustomField = RT::CustomField->new($self->CurrentUser); $CustomField->Load($self->__Value('CustomField')); return($CustomField); @@ -329,7 +317,14 @@ sub _CoreAccessible { }; +sub FindDependencies { + my $self = shift; + my ($walker, $deps) = @_; + + $self->SUPER::FindDependencies($walker, $deps); + $deps->Add( out => $self->CustomFieldObj ); +} RT::Base->_ImportOverlays(); -- cgit v1.2.1