From 09aa4ca78df448f73e440a25a024e44eaf00c827 Mon Sep 17 00:00:00 2001 From: mark Date: Fri, 8 Apr 2011 00:27:00 +0000 Subject: display customer agent, class, tag in ticket search, #8784 --- rt/lib/RT/Tickets_Overlay.pm | 6 ++++++ rt/lib/RT/URI/freeside.pm | 25 +++++++++++++++++++++++++ rt/lib/RT/URI/freeside/Internal.pm | 25 +++++++++++++++++++++++++ 3 files changed, 56 insertions(+) (limited to 'rt/lib/RT') diff --git a/rt/lib/RT/Tickets_Overlay.pm b/rt/lib/RT/Tickets_Overlay.pm index 687be73..5a7e020 100644 --- a/rt/lib/RT/Tickets_Overlay.pm +++ b/rt/lib/RT/Tickets_Overlay.pm @@ -1791,6 +1791,12 @@ sub OrderByCols { $custalias.last || ', ' || $custalias.first )"; } + elsif ( $subkey eq 'Class' ) { + $field = "$custalias.classnum"; + } + elsif ( $subkey eq 'Agent' ) { + $field = "$custalias.agentnum"; + } else { # no other cases exist yet, but for obviousness: $field = $subkey; diff --git a/rt/lib/RT/URI/freeside.pm b/rt/lib/RT/URI/freeside.pm index 00a9ebb..33845dd 100644 --- a/rt/lib/RT/URI/freeside.pm +++ b/rt/lib/RT/URI/freeside.pm @@ -299,6 +299,31 @@ if ($@ && die $@; }; +=item AgentName + +Return the name of the customer's agent. + +=cut + +sub AgentName { undef } + +=item CustomerClass + +Return the name of the customer's class. + +=cut + +sub CustomerClass { undef } + +=item CustomerTags + +Return the list of tags attached to the customer. Each tag is returned +as a hashref with keys "name", "desc", and "color". + +=cut + +sub CustomerTags { ( ) } + =back =cut diff --git a/rt/lib/RT/URI/freeside/Internal.pm b/rt/lib/RT/URI/freeside/Internal.pm index b5af134..6d3adc2 100644 --- a/rt/lib/RT/URI/freeside/Internal.pm +++ b/rt/lib/RT/URI/freeside/Internal.pm @@ -142,4 +142,29 @@ sub _FreesideURILabelLong { } +sub AgentName { + my $self = shift; + my $rec = $self->_FreesideGetRecord() or return; + my $agent = $rec->{'_object'}->agent or return; + return $agent->agentnum . ': ' . $agent->agent; +} + +sub CustomerClass { + my $self = shift; + my $rec = $self->_FreesideGetRecord() or return; + my $cust_class = $rec->{'_object'}->cust_class or return; + return $cust_class->classname; +} + +sub CustomerTags { + my $self = shift; + my $rec = $self->_FreesideGetRecord() or return; + my @part_tag = $rec->{'_object'}->part_tag; + return map { + { 'name' => $_->tagname, + 'desc' => $_->tagdesc, + 'color' => $_->tagcolor } + } @part_tag; +} + 1; -- cgit v1.1