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/CustomFieldValues.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rt/lib/RT/CustomFieldValues.pm') diff --git a/rt/lib/RT/CustomFieldValues.pm b/rt/lib/RT/CustomFieldValues.pm index 18bc6b4b0..193cd6665 100644 --- a/rt/lib/RT/CustomFieldValues.pm +++ b/rt/lib/RT/CustomFieldValues.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/CustomFieldValues.pm | 61 +++++++++++++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 16 deletions(-) (limited to 'rt/lib/RT/CustomFieldValues.pm') diff --git a/rt/lib/RT/CustomFieldValues.pm b/rt/lib/RT/CustomFieldValues.pm index 193cd6665..718868932 100644 --- a/rt/lib/RT/CustomFieldValues.pm +++ b/rt/lib/RT/CustomFieldValues.pm @@ -51,12 +51,10 @@ package RT::CustomFieldValues; use strict; use warnings; - +use base 'RT::SearchBuilder'; use RT::CustomFieldValue; -use base 'RT::SearchBuilder'; - sub Table { 'CustomFieldValues'} sub _Init { @@ -64,15 +62,15 @@ sub _Init { # By default, order by SortOrder $self->OrderByCols( - { ALIAS => 'main', - FIELD => 'SortOrder', - ORDER => 'ASC' }, - { ALIAS => 'main', - FIELD => 'Name', - ORDER => 'ASC' }, - { ALIAS => 'main', - FIELD => 'id', - ORDER => 'ASC' }, + { ALIAS => 'main', + FIELD => 'SortOrder', + ORDER => 'ASC' }, + { ALIAS => 'main', + FIELD => 'Name', + ORDER => 'ASC' }, + { ALIAS => 'main', + FIELD => 'id', + ORDER => 'ASC' }, ); return ( $self->SUPER::_Init(@_) ); @@ -95,19 +93,50 @@ sub LimitToCustomField { ); } +=head2 SetCustomFieldObject + +Store the CustomField object which loaded this CustomFieldValues collection. +Consumers of CustomFieldValues collection (such as External Custom Fields) +can now work out how they were loaded (off a Queue or Ticket or something else) +by inspecting the CustomField. +=cut +sub SetCustomFieldObject { + my $self = shift; + return $self->{'custom_field'} = shift; +} -=head2 NewItem +=head2 CustomFieldObject -Returns an empty new RT::CustomFieldValue item +Returns the CustomField object used to load this CustomFieldValues collection. +Relies on $CustomField->Values having been called, is not set on manual loads. =cut -sub NewItem { +sub CustomFieldObject { my $self = shift; - return(RT::CustomFieldValue->new($self->CurrentUser)); + return $self->{'custom_field'}; } + +=head2 AddRecord + +Propagates the CustomField object from the Collection +down to individual CustomFieldValue objects. + +=cut + +sub AddRecord { + my $self = shift; + my $CFV = shift; + + $CFV->SetCustomFieldObj($self->CustomFieldObject); + + push @{$self->{'items'}}, $CFV; + $self->{'rows'}++; +} + + RT::Base->_ImportOverlays(); 1; -- cgit v1.2.1