diff options
Diffstat (limited to 'rt/share/html/Search/Elements/BuildFormatString')
-rw-r--r-- | rt/share/html/Search/Elements/BuildFormatString | 254 |
1 files changed, 0 insertions, 254 deletions
diff --git a/rt/share/html/Search/Elements/BuildFormatString b/rt/share/html/Search/Elements/BuildFormatString deleted file mode 100644 index 9935fdf91..000000000 --- a/rt/share/html/Search/Elements/BuildFormatString +++ /dev/null @@ -1,254 +0,0 @@ -%# BEGIN BPS TAGGED BLOCK {{{ -%# -%# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC -%# <jesse@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 -%# you are the copyright holder for those contributions and you grant -%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -%# 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> -$Format => RT->Config->Get('DefaultSearchResultFormat') - -%cfqueues => () - -$Face => undef -$Size => undef -$Link => undef -$Title => undef - -$AddCol => undef -$RemoveCol => undef -$ColUp => undef -$ColDown => undef - -$SelectDisplayColumns => undef -$CurrentDisplayColumns => undef -</%ARGS> -<%init> -# This can't be in a <once> block, because otherwise we return the -# same \@fields every request, and keep tacking more CustomFields onto -# it -- and it grows per request. - -# All the things we can display in the format string by default -my @fields = qw( - id QueueName Subject - - Customer - - Status ExtendedStatus UpdateStatus - Type - - OwnerName Requestors Cc AdminCc CreatedBy LastUpdatedBy - - Priority InitialPriority FinalPriority - - TimeWorked TimeLeft TimeEstimated - - Starts StartsRelative - Started StartedRelative - Created CreatedRelative - LastUpdated LastUpdatedRelative - Told ToldRelative - Due DueRelative - Resolved ResolvedRelative - - RefersTo ReferredToBy - DependsOn DependedOnBy - MemberOf Members - Parents Children - - Bookmark - - NEWLINE - -); # loc_qw - -$m->callback( CallbackOnce => 1, CallbackName => 'SetFieldsOnce', Fields => \@fields ); - -my $CustomFields = RT::CustomFields->new( $session{'CurrentUser'}); -foreach my $id (keys %cfqueues) { - # Gotta load up the $queue object, since queues get stored by name now. my $id - my $queue = RT::Queue->new($session{'CurrentUser'}); - $queue->Load($id); - unless ($queue->id) { - # XXX TODO: This ancient code dates from a former developer - # we have no idea what it means or why cfqueues are so encoded. - $id =~ s/^.'*(.*).'*$/$1/; - $queue->Load($id); - } - $CustomFields->LimitToQueue($queue->Id); -} -$CustomFields->LimitToGlobal; - -while ( my $CustomField = $CustomFields->Next ) { - push @fields, "CustomField.{" . $CustomField->Name . "}"; -} - -$m->callback( Fields => \@fields, ARGSRef => \%ARGS ); - -my ( @seen); - -$Format ||= RT->Config->Get('DefaultSearchResultFormat'); -my @format = split( /,\s*/, $Format ); -foreach my $field (@format) { - my %column = (); - $field =~ s/'(.*)'/$1/; - my ( $prefix, $suffix ); - if ( $field =~ m/(.*)__(.*)__(.*)/ ) { - $prefix = $1; - $suffix = $3; - $field = $2; - } - $field = "<blank>" if !$field; - $column{Prefix} = $prefix; - $column{Suffix} = $suffix; - $field =~ s/\s*(.*)\s*/$1/; - $column{Column} = $field; - push @seen, \%column; -} - -if ( $RemoveCol ) { - # we do this regex match to avoid a non-numeric warning - my ($index) = $CurrentDisplayColumns =~ /^(\d+)/; - my $column = $seen[$index]; - if ($index) { - delete $seen[$index]; - my @temp = @seen; - @seen = (); - foreach my $element (@temp) { - next unless $element; - push @seen, $element; - } - } -} -elsif ( $AddCol ) { - if ( defined $SelectDisplayColumns ) { - my $selected = $SelectDisplayColumns; - my @columns; - if (ref($selected) eq 'ARRAY') { - @columns = @$selected; - } else { - push @columns, $selected; - } - foreach my $col (@columns) { - my %column = (); - $column{Column} = $col; - - if ( $Face eq "Bold" ) { - $column{Prefix} .= "<b>"; - $column{Suffix} .= "</b>"; - } - if ( $Face eq "Italic" ) { - $column{Prefix} .= "<i>"; - $column{Suffix} .= "</i>"; - } - if ($Size) { - $column{Prefix} .= "<" . $m->interp->apply_escapes( $Size, 'h' ) . ">"; - $column{Suffix} .= "</" . $m->interp->apply_escapes( $Size, 'h' ) . ">"; - } - if ( $Link eq "Display" ) { - $column{Prefix} .= q{<a HREF="__WebPath__/Ticket/Display.html?id=__id__">}; - $column{Suffix} .= "</a>"; - } - elsif ( $Link eq "Take" ) { - $column{Prefix} .= q{<a HREF="__WebPath__/Ticket/Display.html?Action=Take&id=__id__">}; - $column{Suffix} .= "</a>"; - } - elsif ( $Link eq "Respond" ) { - $column{Prefix} .= q{<a HREF="__WebPath__/Ticket/Update.html?Action=Respond&id=__id__">}; - $column{Suffix} .= "</a>"; - } - elsif ( $Link eq "Comment" ) { - $column{Prefix} .= q{<a HREF="__WebPath__/Ticket/Update.html?Action=Comment&id=__id__">}; - $column{Suffix} .= "</a>"; - } - elsif ( $Link eq "Resolve" ) { - $column{Prefix} .= q{<a HREF="__WebPath__/Ticket/Update.html?Action=Comment&DefaultStatus=resolved&id=__id__">}; - $column{Suffix} .= "</a>"; - } - - if ($Title) { - $column{Suffix} .= "/TITLE:" . $m->interp->apply_escapes( $Title, 'h' ); - } - push @seen, \%column; - } - } -} -elsif ( $ColUp ) { - my $index = $CurrentDisplayColumns; - if ( defined $index && ( $index - 1 ) >= 0 ) { - my $column = $seen[$index]; - $seen[$index] = $seen[ $index - 1 ]; - $seen[ $index - 1 ] = $column; - $CurrentDisplayColumns = $index - 1; - } -} -elsif ( $ColDown ) { - my $index = $CurrentDisplayColumns; - if ( defined $index && ( $index + 1 ) < scalar @seen ) { - my $column = $seen[$index]; - $seen[$index] = $seen[ $index + 1 ]; - $seen[ $index + 1 ] = $column; - $CurrentDisplayColumns = $index + 1; - } -} - - -my @format_string; -foreach my $field (@seen) { - next unless $field; - my $row = "'"; - $row .= $field->{'Prefix'} if defined $field->{'Prefix'}; - $row .= "__" . ($field->{'Column'} =~ m/\(/ ? $field->{'Column'} # func, don't escape - : $m->interp->apply_escapes( $field->{'Column'}, 'h' )) . "__" - unless ( $field->{'Column'} eq "<blank>" ); - $row .= $field->{'Suffix'} if defined $field->{'Suffix'}; - $row .= "'"; - push( @format_string, $row ); -} - -$Format = join(",\n", @format_string); - - -return($Format, \@fields, \@seen); - -</%init> |