X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FAdmin%2FElements%2FEditCustomFields;h=af4eacbcba26bfd7c9e25ed7f2d2a307546dd16c;hb=44dd00a3ff974a17999e86e64488e996edc71e3c;hp=0767e4ae4ed1ffee0c2e7e21ad384a045a6fd31a;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c;p=freeside.git diff --git a/rt/share/html/Admin/Elements/EditCustomFields b/rt/share/html/Admin/Elements/EditCustomFields index 0767e4ae4..af4eacbcb 100755 --- a/rt/share/html/Admin/Elements/EditCustomFields +++ b/rt/share/html/Admin/Elements/EditCustomFields @@ -1,40 +1,40 @@ %# BEGIN BPS TAGGED BLOCK {{{ -%# +%# %# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC -%# -%# +%# +%# This software is Copyright (c) 1996-2019 Best Practical Solutions, LLC +%# +%# %# (Except where explicitly superseded by other copyright notices) -%# -%# +%# +%# %# LICENSE: -%# +%# %# This work is made available to you under the terms of Version 2 of %# the GNU General Public License. A copy of that license should have %# been provided with this software, but in any event can be snarfed %# from www.gnu.org. -%# +%# %# This work is distributed in the hope that it will be useful, but %# WITHOUT ANY WARRANTY; without even the implied warranty of %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %# General Public License for more details. -%# +%# %# You should have received a copy of the GNU General Public License %# along with this program; if not, write to the Free Software %# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA %# 02110-1301 or visit their web page on the internet at %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -%# -%# +%# +%# %# CONTRIBUTION SUBMISSION POLICY: -%# +%# %# (The following paragraph is not intended to limit the rights granted %# to you to modify and distribute this software under the terms of %# the GNU General Public License and is only of importance to you if %# you choose to contribute your changes and enhancements to the %# community by submitting them to Best Practical Solutions, LLC.) -%# +%# %# By intentionally submitting any modifications, corrections or %# derivatives to this work, or any other work intended for use with %# Request Tracker, to Best Practical Solutions, LLC, you confirm that @@ -43,7 +43,7 @@ %# royalty-free, perpetual, license to use, copy, create derivative %# works based on those contributions, and sublicense and distribute %# those contributions and any derivatives thereof. -%# +%# %# END BPS TAGGED BLOCK }}} <& /Elements/ListActions, actions => \@results &> @@ -55,14 +55,11 @@

<&|/l&>Selected Custom Fields

<& /Elements/CollectionList, %ARGS, - Collection => $applied_cfs, + Collection => $added_cfs, Rows => 0, Page => 1, Format => $format, - DisplayFormat => - $id - ? ("'__RemoveCheckBox.{$id}__',". $format .", '__MoveCF.{$id}__'") - : ("'__CheckBox.{RemoveCustomField}__',". $format .", '__MoveCF.{$id}__'"), + DisplayFormat => $display_format, AllowSorting => 0, ShowEmpty => 0, PassArguments => [ @@ -76,8 +73,8 @@ OrderBy => 'Name', Order => 'ASC', %ARGS, - Collection => $not_applied_cfs, - Rows => 50, + Collection => $not_added_cfs, + Rows => $rows, Format => $format, DisplayFormat => "'__CheckBox.{AddCustomField}__',". $format, AllowSorting => 1, @@ -131,6 +128,7 @@ if ( $MoveCustomFieldDown ) { { if ( $UpdateCFs ) { foreach my $cf_id ( @AddCustomField ) { my $CF = RT::CustomField->new( $session{'CurrentUser'} ); + $CF->SetContextObject( $Object ); $CF->Load( $cf_id ); unless ( $CF->id ) { push @results, loc("Couldn't load CustomField #[_1]", $cf_id); @@ -141,6 +139,7 @@ if ( $UpdateCFs ) { } foreach my $cf_id ( @RemoveCustomField ) { my $CF = RT::CustomField->new( $session{'CurrentUser'} ); + $CF->SetContextObject( $Object ); $CF->Load( $cf_id ); unless ( $CF->id ) { push @results, loc("Couldn't load CustomField #[_1]", $cf_id); @@ -151,16 +150,25 @@ if ( $UpdateCFs ) { } } -my $applied_cfs = RT::CustomFields->new( $session{'CurrentUser'} ); -$applied_cfs->LimitToLookupType($lookup); -$applied_cfs->LimitToGlobalOrObjectId($id); -$applied_cfs->ApplySortOrder; +$m->callback(CallbackName => 'UpdateExtraFields', Results => \@results, Object => $Object, %ARGS); + +my $added_cfs = RT::CustomFields->new( $session{'CurrentUser'} ); +$added_cfs->LimitToLookupType($lookup); +$added_cfs->LimitToGlobalOrObjectId($id); +$added_cfs->SetContextObject( $Object ); +$added_cfs->ApplySortOrder; -my $not_applied_cfs = RT::CustomFields->new( $session{'CurrentUser'} ); -$not_applied_cfs->LimitToLookupType($lookup); -$not_applied_cfs->LimitToNotApplied( $id ? ($id, 0) : (0) ); +my $not_added_cfs = RT::CustomFields->new( $session{'CurrentUser'} ); +$not_added_cfs->LimitToLookupType($lookup); +$not_added_cfs->LimitToNotAdded( $id ? ($id, 0) : (0) ); my $format = RT->Config->Get('AdminSearchResultFormat')->{'CustomFields'}; +my $rows = RT->Config->Get('AdminSearchResultRows')->{'CustomFields'} || 50; + +my $display_format = $id + ? ("'__RemoveCheckBox.{$id}__',". $format .", '__MoveCF.{$id}__'") + : ("'__CheckBox.{RemoveCustomField}__',". $format .", '__MoveCF.{$id}__'"); +$m->callback(CallbackName => 'EditDisplayFormat', DisplayFormat => \$display_format, id => $id); <%ARGS>