X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FElements%2FRT__Ticket%2FColumnMap;h=411b3e56b7c988b39311d227a02657b5ccb7465b;hp=7efc4b43e54112c920aa387a88a1ee0362672722;hb=09aa4ca78df448f73e440a25a024e44eaf00c827;hpb=484dbc5f3c541abd4e81cdbd38c87f12d69552f3
diff --git a/rt/share/html/Elements/RT__Ticket/ColumnMap b/rt/share/html/Elements/RT__Ticket/ColumnMap
index 7efc4b43e..411b3e56b 100644
--- a/rt/share/html/Elements/RT__Ticket/ColumnMap
+++ b/rt/share/html/Elements/RT__Ticket/ColumnMap
@@ -316,24 +316,84 @@ $COLUMN_MAP = {
Customer => {
title => 'Customer', #loc
- attribute => 'Customer', #title/attribute/name... what does it all mean?
+ attribute => 'Customer.Number', #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, \'', $c->AsString, \'';
- push @return, \'
' if scalar(@CustResolvers) > 1
- && $_ != $#CustResolvers;
- }
- @return;
+ my $Ticket = shift;
+ my @return = ();
+ foreach my $c (ticket_cust_resolvers($Ticket)) {
+ push @return, \'',
+ $c->AsString,
+ \'',
+ \'
';
+ }
+ pop @return;
+ @return;
+ },
+ },
+ # For future reference:
+ # hash key = name of the column in the format string
+ # (see /Search/Elements/BuildFormatString)
+ # title = displayed name in the table header
+ # attribute = the field to ORDER BY when sorting on this column
+ Agent => {
+ title => 'Agent',
+ attribute => 'Customer.Agent',
+ value => sub {
+ my $Ticket = shift;
+ my @return = ();
+ foreach my $c (ticket_cust_resolvers($Ticket)) {
+ push @return, $c->AgentName, \'
';
+ }
+ pop @return;
+ @return;
+ },
+ },
+ CustomerClass => {
+ title => 'Class',
+ attribute => 'Customer.Class',
+ value => sub {
+ my $Ticket = shift;
+ my @return = ();
+ foreach my $c (ticket_cust_resolvers($Ticket)) {
+ push @return, $c->CustomerClass, \'
';
+ }
+ pop @return;
+ @return;
+ },
+ },
+ CustomerTags => {
+ title => '',
+ attribute => '',
+ value => sub {
+ my $Ticket = shift;
+ my @return = ();
+ foreach my $c (ticket_cust_resolvers($Ticket)) {
+ my @tags = sort { $a->{'name'} cmp $b->{'name'} }
+ $c->CustomerTags;
+ foreach my $t (@tags) {
+ push @return, \' ',
+ $t->{'name'},
+ \' ',
+ \' '
+ ;
+ }
+ pop @return;
+ push @return, \'
';
+ }
+ pop @return;
+ @return;
},
},
-
};
+sub ticket_cust_resolvers {
+ my $Ticket = shift;
+ my @Customers = @{ $Ticket->Customers->ItemsArrayRef };
+ return map $_->TargetURI->Resolver, @Customers;
+}
+
# if no GPG support, then KeyOwnerName and KeyRequestors fall back to the regular
# versions
if (RT->Config->Get('GnuPG')->{'Enable'}) {