X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FElements%2FRT__Scrip%2FColumnMap;h=f68818d17225cb7debce9a9dcd391fb78a27b2d3;hb=44dd00a3ff974a17999e86e64488e996edc71e3c;hp=3e1d4074fc1796af43e34131444c3e160da9926d;hpb=624b2d44625f69d71175c3348cae635d580c890b;p=freeside.git diff --git a/rt/share/html/Elements/RT__Scrip/ColumnMap b/rt/share/html/Elements/RT__Scrip/ColumnMap index 3e1d4074f..f68818d17 100644 --- a/rt/share/html/Elements/RT__Scrip/ColumnMap +++ b/rt/share/html/Elements/RT__Scrip/ColumnMap @@ -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,30 +43,43 @@ %# 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 $Attr => undef +$GenericMap => {} <%ONCE> my $COLUMN_MAP = { - id => { - title => '#', # loc - attribute => 'id', - align => 'right', - value => sub { return $_[0]->id }, - }, Queue => { title => 'Queue', # loc value => sub { - return $_[0]->QueueObj->Name if $_[0]->Queue; - return $_[0]->loc('Global'); + return $_[0]->loc('Global') if $_[0]->IsGlobal; + return join(", ", map {$_->Name} @{$_[0]->AddedTo->ItemsArrayRef}); }, }, QueueId => { title => 'Queue', # loc - value => sub { $_[0]->Queue }, + value => sub { + return 0 if $_[0]->IsGlobal; + return join(", ", map {$_->Id} @{$_[0]->AddedTo->ItemsArrayRef}); + }, + }, + From => { + title => 'Queue', + value => sub { + my $request_path = $HTML::Mason::Commands::r->path_info; + my $queue_id = $m->request_args->{'id'}; + if ( $request_path =~ m{/Admin/Queues/Scrips\.html} and $queue_id ) { + return '&From=' . $queue_id; + } elsif ( $request_path =~ m{/Admin/Global/Scrips\.html} ) { + return '&From=Global'; + } + else { + return q{}; + } + }, }, Condition => { title => 'Condition', # loc @@ -78,30 +91,93 @@ my $COLUMN_MAP = { }, Template => { title => 'Template', # loc - value => sub { return $_[0]->loc( $_[0]->TemplateObj->Name ) }, + value => sub { return $_[0]->loc( $_[0]->Template ) }, }, AutoDescription => { title => 'Condition, Action and Template', # loc value => sub { return $_[0]->loc( "[_1] [_2] with template [_3]", $_[0]->loc($_[0]->ConditionObj->Name), $_[0]->loc($_[0]->ActionObj->Name), - $_[0]->loc($_[0]->TemplateObj->Name), + $_[0]->loc($_[0]->Template), ) }, }, Description => { title => 'Description', # loc - attribute => 'Description', - value => sub { return $_[0]->Description() }, + attribute => 'Description', + value => sub { return $_[0]->Description() }, + }, + Disabled => { + title => 'Status', # loc + attribute => 'Disabled', + value => sub { return $_[0]->Disabled? $_[0]->loc('Disabled'): $_[0]->loc('Enabled') }, + }, + RemoveCheckBox => { + title => sub { + my $name = 'RemoveScrip'; + my $checked = $m->request_args->{ $name .'All' }? 'checked="checked"': ''; + + return \qq{}; + }, + value => sub { + my $id = $_[0]->id; + return '' if $_[0]->IsGlobal; + + my $name = 'RemoveScrip'; + my $arg = $m->request_args->{ $name }; + + my $checked = ''; + if ( $arg && ref $arg ) { + $checked = 'checked="checked"' if grep $_ == $id, @$arg; + } + elsif ( $arg ) { + $checked = 'checked="checked"' if $arg == $id; + } + return \qq{} + }, + }, + Move => { + title => 'Move', # loc + value => sub { + my $id = $_[0]->id; + + my $context = $_[2] || 0; + return '' unless $_[0]->IsAdded( $context ); + + my $name = 'MoveScrip'; + my $args = $m->caller_args( 1 ); + my @pass = ref $args->{'PassArguments'} + ? @{$args->{'PassArguments'}} + : ($args->{'PassArguments'}); + my %pass = map { $_ => $args->{$_} } grep exists $args->{$_}, @pass; + + my $uri = RT->Config->Get('WebPath') . $m->request_path; + + my @res = ( + \' $id ), + \'">', loc('[Up]'), \'', + \' $id ), + \'">', loc('[Down]'), \'' + ); + + return @res; + }, }, Stage => { - title => 'Stage', # loc - attribute => 'Stage', - value => sub { return $_[0]->Stage() }, + title => 'Stage', # loc + value => sub { + my $os = RT::ObjectScrip->new( $_[0]->CurrentUser ); + my $id = $_[0]->IsGlobal ? 0 : $_[-1]; + $os->LoadByCols( Scrip => $_[0]->id, ObjectId => $id ); + return $_[0]->loc( $os->FriendlyStage ); + }, }, }; <%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 );