summaryrefslogtreecommitdiff
path: root/rt/share/html/Elements/RT__Ticket/ColumnMap
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/Elements/RT__Ticket/ColumnMap')
-rw-r--r--rt/share/html/Elements/RT__Ticket/ColumnMap352
1 files changed, 0 insertions, 352 deletions
diff --git a/rt/share/html/Elements/RT__Ticket/ColumnMap b/rt/share/html/Elements/RT__Ticket/ColumnMap
deleted file mode 100644
index e848939e1..000000000
--- a/rt/share/html/Elements/RT__Ticket/ColumnMap
+++ /dev/null
@@ -1,352 +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>
-$Name => undef
-$Attr => undef
-</%ARGS>
-
-
-<%ONCE>
-my $COLUMN_MAP;
-
-my $LinkCallback = sub {
- my $method = shift;
-
- my $mode = $RT::Ticket::LINKTYPEMAP{$method}{Mode};
- my $type = $RT::Ticket::LINKTYPEMAP{$method}{Type};
- my $other_mode = ($mode eq "Target" ? "Base" : "Target");
- my $mode_uri = $mode.'URI';
- my $local_type = 'Local'.$mode;
-
- return sub {
- map {
- \'<a href="',
- $_->$mode_uri->Resolver->HREF,
- \'">',
- ( $_->$mode_uri->IsLocal ? $_->$local_type : $_->$mode ),
- \'</a><br />',
- } @{ $_[0]->Links($other_mode,$type)->ItemsArrayRef }
- }
-};
-
-$COLUMN_MAP = {
- Queue => {
- attribute => 'Queue',
- title => 'Queue id', # loc
- value => sub { return $_[0]->Queue }
- },
- QueueName => {
- attribute => 'Queue',
- title => 'Queue', # loc
- value => sub { return $_[0]->QueueObj->Name }
- },
- OwnerName => {
- title => 'Owner', # loc
- attribute => 'Owner',
- value => sub { return $_[0]->OwnerObj->Name }
- },
- Status => {
- title => 'Status', # loc
- attribute => 'Status',
- value => sub { return loc($_[0]->Status) }
- },
- Subject => {
- title => 'Subject', # loc
- attribute => 'Subject',
- value => sub { return $_[0]->Subject || "(" . loc('No subject') . ")" }
- },
- ExtendedStatus => {
- title => 'Status', # loc
- attribute => 'Status',
- value => sub {
- my $Ticket = shift;
-
- if ( my $count = $Ticket->HasUnresolvedDependencies ) {
- if ( $Ticket->HasUnresolvedDependencies( Type => 'approval' )
- or $Ticket->HasUnresolvedDependencies( Type => 'code' ) )
- {
- return \'<em>', loc('(pending approval)'), \'</em>';
- }
- else {
- my $Query = "DependedOnBy = " . $Ticket->id;
- $Query .= " AND (" . join(" OR ", map { "Status = '$_'" } RT::Queue->ActiveStatusArray) . ")";
-
- my $SearchURL = RT->Config->Get('WebPath') . '/Search/Results.html?' . $m->comp('/Elements/QueryString', Query => $Query);
-
- return \'<a href="',$SearchURL,\'">', loc('(pending [quant,_1,other ticket])',$count), \'</a>';
- }
- }
- else {
- return loc( $Ticket->Status );
- }
-
- }
- },
- Priority => {
- title => 'Priority', # loc
- attribute => 'Priority',
- value => sub { return $_[0]->Priority }
- },
- InitialPriority => {
- title => 'InitialPriority', # loc
- attribute => 'InitialPriority',
- name => 'Initial Priority',
- value => sub { return $_[0]->InitialPriority }
- },
- FinalPriority => {
- title => 'FinalPriority', # loc
- attribute => 'FinalPriority',
- name => 'Final Priority',
- value => sub { return $_[0]->FinalPriority }
- },
- EffectiveId => {
- title => 'EffectiveId', # loc
- attribute => 'EffectiveId',
- value => sub { return $_[0]->EffectiveId }
- },
- Type => {
- title => 'Type', # loc
- attribute => 'Type',
- value => sub { return $_[0]->Type }
- },
- TimeWorked => {
- attribute => 'TimeWorked',
- title => 'Time Worked', # loc
- value => sub { return $_[0]->TimeWorked }
- },
- TimeLeft => {
- attribute => 'TimeLeft',
- title => 'Time Left', # loc
- value => sub { return $_[0]->TimeLeftAsString }
- },
- TimeEstimated => {
- attribute => 'TimeEstimated',
- title => 'Time Estimated', # loc
- value => sub { return $_[0]->TimeEstimated }
- },
- Requestors => {
- title => 'Requestors', # loc
- attribute => 'Requestor.EmailAddress',
- value => sub { return $_[0]->Requestors->MemberEmailAddressesAsString }
- },
- Cc => {
- title => 'Cc', # loc
- attribute => 'Cc.EmailAddress',
- value => sub { return $_[0]->Cc->MemberEmailAddressesAsString }
- },
- AdminCc => {
- title => 'AdminCc', # loc
- attribute => 'AdminCc.EmailAddress',
- value => sub { return $_[0]->AdminCc->MemberEmailAddressesAsString }
- },
- StartsRelative => {
- title => 'Starts', # loc
- attribute => 'Starts',
- value => sub { return $_[0]->StartsObj->AgeAsString }
- },
- StartedRelative => {
- title => 'Started', # loc
- attribute => 'Started',
- value => sub { return $_[0]->StartedObj->AgeAsString }
- },
- ToldRelative => {
- title => 'Told', # loc
- attribute => 'Told',
- value => sub { return $_[0]->ToldObj->AgeAsString }
- },
- DueRelative => {
- title => 'Due', # loc
- attribute => 'Due',
- value => sub {
- my $date = $_[0]->DueObj;
- # Highlight the date if it was due in the past, and it's still active
- if ( $date && $date->Unix > 0 && $date->Diff < 0 && $_[0]->QueueObj->IsActiveStatus($_[0]->Status)) {
- return (\'<span class="overdue">' , $date->AgeAsString , \'</span>');
- } else {
- return $date->AgeAsString;
- }
- }
- },
- ResolvedRelative => {
- title => 'Resolved', # loc
- attribute => 'Resolved',
- value => sub { return $_[0]->ResolvedObj->AgeAsString }
- },
- Starts => {
- title => 'Starts', # loc
- attribute => 'Starts',
- value => sub { return $_[0]->StartsObj->AsString }
- },
- Started => {
- title => 'Started', # loc
- attribute => 'Started',
- value => sub { return $_[0]->StartedObj->AsString }
- },
- Told => {
- title => 'Told', # loc
- attribute => 'Told',
- value => sub { return $_[0]->ToldObj->AsString }
- },
- Due => {
- title => 'Due', # loc
- attribute => 'Due',
- value => sub { return $_[0]->DueObj->AsString }
- },
- Resolved => {
- title => 'Resolved', # loc
- attribute => 'Resolved',
- value => sub { return $_[0]->ResolvedObj->AsString }
- },
- UpdateStatus => {
- title => 'New messages', # loc
- value => sub {
- my $txn = $_[0]->SeenUpTo or return $_[0]->loc('No');
- return \('<a href="'. RT->Config->Get('WebPath') .'/Ticket/Display.html?id='
- . $_[0]->id .'#txn-'. $txn->id .'">'),
- $_[0]->loc('New'), \'</a>';
- },
- },
- KeyRequestors => {
- title => 'Requestors', # loc
- attribute => 'Requestor.EmailAddress',
- value => sub {
- my $t = shift;
- my @requestors = $t->Requestors->MemberEmailAddresses;
- for my $email (@requestors)
- {
- my %key = RT::Crypt::GnuPG::GetKeyInfo($email);
- if (!defined $key{'info'}) {
- $email .= loc(" (no pubkey!)");
- }
- elsif ($key{'info'}{'TrustLevel'} == 0) {
- $email .= loc(" (untrusted!)");
- }
- }
- return join ', ', @requestors;
- }
- },
- KeyOwnerName => {
- title => 'Owner', # loc
- attribute => 'Owner',
- value => sub {
- my $t = shift;
- my $name = $t->OwnerObj->Name;
- my %key = RT::Crypt::GnuPG::GetKeyInfo($t->OwnerObj->EmailAddress);
- if (!defined $key{'info'}) {
- $name .= ' '. loc("(no pubkey!)");
- }
- elsif ($key{'info'}{'TrustLevel'} == 0) {
- $name .= ' '. loc("(untrusted!)");
- }
-
- return $name;
- }
- },
-
- # Everything from LINKTYPEMAP
- (map {
- $_ => { value => $LinkCallback->( $_ ) }
- } keys %RT::Ticket::LINKTYPEMAP),
-
- '_CLASS' => {
- value => sub { return $_[1] % 2 ? 'oddline' : 'evenline' }
- },
- '_CHECKBOX' => {
- attribute => 'checkbox',
- title => 'Update', # loc
- align => 'right',
- value => sub { return \('<input type="checkbox" class="checkbox" name="UpdateTicket'.$_[0]->id.'" value="1" checked="checked" />') }
- },
-
- Bookmark => {
- title => ' ',
- value => sub {
- my $bookmark = $m->scomp( '/Ticket/Elements/Bookmark', id => $_[0]->id );
- # the CollectionAsTable/Row template replaces newlines with <br>
- $bookmark =~ s/\n//g;
-
- return \$bookmark;
- },
- },
-
- Customer => {
- title => 'Customer', #loc
- attribute => 'Customer', #title/attribute/name... what does it all mean?
- value => sub {
- my $Ticket = shift;
- my @Customers = @{ $Ticket->Customers->ItemsArrayRef };
- my @CustResolvers = map $_->TargetURI->Resolver, @Customers;
- my @return = ();
- for ( 0 .. $#CustResolvers ) {
- my $c = @CustResolvers[$_];
- push @return, \'<A HREF="', $c->HREF, \'">', $c->AsString, \'</A>';
- push @return, \'<BR>' if scalar(@CustResolvers) > 1
- && $_ != $#CustResolvers;
- }
- @return;
- },
- },
-
-};
-
-# if no GPG support, then KeyOwnerName and KeyRequestors fall back to the regular
-# versions
-if (RT->Config->Get('GnuPG')->{'Enable'}) {
- require RT::Crypt::GnuPG;
-}
-else {
- $COLUMN_MAP->{KeyOwnerName} = $COLUMN_MAP->{OwnerName};
- $COLUMN_MAP->{KeyRequestors} = $COLUMN_MAP->{Requestors};
-}
-</%ONCE>
-<%init>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'Once', CallbackOnce => 1 );
-# backward compatibility
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap' );
-return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
-</%init>