X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FURI%2Ffreeside.pm;h=6194fd0cb338b5821d2b287ecaa447260f2b8739;hb=7b125e587a4d1ee0aca692e23ea7897f671855ae;hp=d73dbacad5ecdd0630a2a8c62e415a52a30d8d20;hpb=63a268637b2d51a8766412617724b9436439deb6;p=freeside.git diff --git a/rt/lib/RT/URI/freeside.pm b/rt/lib/RT/URI/freeside.pm index d73dbacad..6194fd0cb 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 @@ -132,7 +132,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 +140,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 +196,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 ) { + cluck "bad URL $uri"; + return(undef); + } + $self->{'scheme'} = $self->Scheme; + } else { return(undef); }