X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FURI%2Ffreeside.pm;h=33845dda603604aadc69c5b3c10fb0ee3780b06e;hb=09aa4ca78df448f73e440a25a024e44eaf00c827;hp=ff1d38d21f317b23812fe599b6ff5a8ff7690fe2;hpb=c648976f0b7975f2328ebd7ba8c711fad0ca4195;p=freeside.git diff --git a/rt/lib/RT/URI/freeside.pm b/rt/lib/RT/URI/freeside.pm index ff1d38d21..33845dda6 100644 --- a/rt/lib/RT/URI/freeside.pm +++ b/rt/lib/RT/URI/freeside.pm @@ -26,10 +26,10 @@ # END LICENSE BLOCK package RT::URI::freeside; -use RT::URI::base; +use base qw( RT::URI::base ); use strict; -use vars qw(@ISA $IntegrationType $URL); -@ISA = qw/RT::URI::base/; +use vars qw( $IntegrationType $URL ); +use Carp qw( cluck ); =head1 NAME @@ -38,8 +38,8 @@ RT::URI::freeside =head1 DESCRIPTION -URI handler for freeside URIs. See http://www.sisd.com/freeside/ for -more information on freeside. +URI handler for Freeside URIs. See http://www.freeside.biz/ for more +information on Freeside. =head1 Public subroutines @@ -83,6 +83,15 @@ A wrapper for the FS::cust_main::smart_search subroutine. sub smart_search { return undef; } +=item email_search + +A wrapper for the FS::cust_main::email_search subroutine. + +=cut + +sub email_search { return undef; } + + =item small_custview A wrapper for the FS::CGI::small_custview subroutine. @@ -132,7 +141,7 @@ sub _FreesideURILabel { my $self = shift; - $RT::Logger->debug("Called _FreesideURILabel()"); + #$RT::Logger->debug("Called _FreesideURILabel()"); return unless (exists($self->{'fstable'}) and exists($self->{'fspkey'})); @@ -140,17 +149,21 @@ sub _FreesideURILabel { my $label; my ($table, $pkey) = ($self->{'fstable'}, $self->{'fspkey'}); - if ($table ne 'cust_main') { - warn "FS::${table} not currently supported"; - return; - } + #if ($table ne 'cust_main') { + # warn "FS::${table} not currently supported"; + # return; + #} my $rec = $self->_FreesideGetRecord(); - if (ref($rec) eq 'HASH' and $table eq 'cust_main') { + if (ref($rec) eq 'HASH' && $table eq 'cust_main') { my $name = $rec->{'last'} . ', ' . $rec->{'first'}; $name = $rec->{'company'} . " ($name)" if $rec->{'company'}; $label = "$pkey: $name"; + } elsif ( $table eq 'cust_svc' && ref($rec) && $rec->{'_object'} ) { + #Internal only + my($l,$v) = $rec->{'_object'}->label; + $label = "$l: $v"; } else { $label = "$pkey: $table"; } @@ -192,10 +205,18 @@ sub ParseURI { my ($table, $pkey); my $uriprefix = $self->_FreesideURIPrefix; - if ($uri =~ /^$uriprefix\/(\w+)\/(\d+)$/) { + if ($uri =~ /^$uriprefix\/(\w+)\/(\d*)$/) { + $table = $1; $pkey = $2; + + unless ( $pkey ) { + #way too noisy, using this prefix is normal usage# cluck "bad URL $uri"; + return(undef); + } + $self->{'scheme'} = $self->Scheme; + } else { return(undef); } @@ -278,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