%# BEGIN BPS TAGGED BLOCK {{{
-%#
+%#
%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
%# (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
%# 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 }}}
<%ARGS>
$Name => undef
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- align => 'right',
- value => sub { return $_[0]->id },
- },
Disabled => {
- title => \' ',
+ title => 'Status', # loc
attribute => 'Disabled',
value => sub { return $_[0]->Disabled? $_[0]->loc('Disabled'): $_[0]->loc('Enabled') },
},
map(
{ my $c = $_; $c => {
title => $c, attribute => $c,
- value => sub { return $_[0]->$c() },
+ value => sub { return $_[0]->$c() },
} }
qw(Name Description Type LookupType Pattern)
),
{ my $c = $_; my $short = $c; $short =~ s/^Friendly//;
$c => {
title => $short, attribute => $short,
- value => sub { return $_[0]->$c() },
+ value => sub { return $_[0]->$c() },
} }
qw(FriendlyLookupType FriendlyType FriendlyPattern)
),
MaxValues => {
title => 'MaxValues', # loc
- attribute => 'MaxValues',
- value => sub {
+ attribute => 'MaxValues',
+ value => sub {
my $v = $_[0]->MaxValues;
return !$v ? $_[0]->loc('unlimited') : $v == 0 ? $_[0]->loc('one') : $v;
},
},
- AppliedTo => {
- title => 'Applied', # loc
- value => sub {
- if ( $_[0]->IsApplied ) {
+ AddedTo => {
+ title => 'Added', # loc
+ value => sub {
+ if ( $_[0]->IsGlobal ) {
return $_[0]->loc('Global');
}
- my $collection = $_[0]->AppliedTo;
+ my $collection = $_[0]->AddedTo;
return '' unless $collection;
$collection->RowsPerPage(10);
$res .= ', ' if $res;
my $id = '';
- $id = $record->Name if $record->can('Name');
+ $id = $record->Name if $record->_Accessible('Name','read');
$id ||= "#". $record->id;
$res .= $id;
RemoveCheckBox => {
title => sub {
my $name = 'RemoveCustomField';
- my $checked = $m->request_args->{ $name .'All' }? 'checked="checked"': '';
+ my $checked = $DECODED_ARGS->{ $name .'All' }? 'checked="checked"': '';
- return \qq{<input type="checkbox" name="${name}All" value="1" $checked
- onclick="setCheckbox(this.form, '$name', this.checked)" />};
+ return \qq{<input type="checkbox" name="}, $name, \qq{All" value="1" $checked
+ onclick="setCheckbox(this, },
+ $m->interp->apply_escapes($name,'j'),
+ \qq{)" />};
},
value => sub {
my $id = $_[0]->id;
- return '' if $_[0]->IsApplied;
+ return '' if $_[0]->IsGlobal;
my $name = 'RemoveCustomField';
- my $arg = $m->request_args->{ $name };
+ my $arg = $DECODED_ARGS->{ $name };
my $checked = '';
if ( $arg && ref $arg ) {
elsif ( $arg ) {
$checked = 'checked="checked"' if $arg == $id;
}
- return \qq{<input type="checkbox" name="$name" value="$id" $checked />}
+ return \qq{<input type="checkbox" name="}, $name, \qq{" value="$id" $checked />}
},
},
MoveCF => {
my $id = $_[0]->id;
my $context = $_[2] || 0;
- return '' unless $_[0]->IsApplied( $context );
+ return '' unless $_[0]->IsAdded( $context );
my $name = 'MoveCustomField';
my $args = $m->caller_args( 1 );
: ($args->{'PassArguments'});
my %pass = map { $_ => $args->{$_} } grep exists $args->{$_}, @pass;
- my $path = $m->request_path;
- $path =~ s(^/rt)(); #hacky, dunno why this happens
- my $uri = RT->Config->Get('WebPath') . $path;
+ my $uri = RT->Config->Get('WebPath') . $m->request_path;
my @res = (
\'<a href="',
$uri .'?'. $m->comp("/Elements/QueryString", %pass, MoveCustomFieldUp => $id ),
- \'">', loc('[Up]'), \'</a>',
+ \'">', loc('~[Up~]'), \'</a>',
\' <a href="',
$uri .'?'. $m->comp("/Elements/QueryString", %pass, MoveCustomFieldDown => $id ),
- \'">', loc('[Down]'), \'</a>'
+ \'">', loc('~[Down~]'), \'</a>'
);
return @res;
},
};
+$COLUMN_MAP->{'AppliedTo'} = $COLUMN_MAP->{'AddedTo'};
+
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>