From: Joshua Goodman Date: Fri, 16 Jan 2015 00:25:37 +0000 (+0000) Subject: Change $_category_table to be a hash which maps packages to category tables. A bug... X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=2b22859ec037627196e3153719359efe46e42178 Change $_category_table to be a hash which maps packages to category tables. A bug was found where "part_svc_category" was returned when FS::part_pkg->insert() was called. --- diff --git a/FS/FS/class_Common.pm b/FS/FS/class_Common.pm index 455cb9f1a..01048ec65 100644 --- a/FS/FS/class_Common.pm +++ b/FS/FS/class_Common.pm @@ -122,14 +122,15 @@ sub _target_table { sub _target_column { 'classnum'; } -use vars qw( $_category_table ); +use vars qw( %_category_table ); sub _category_table { - return $_category_table if $_category_table; my $self = shift; - $_category_table = $self->table; - $_category_table =~ s/class/category/ # s/_class$/_category/ - or die "can't determine an automatic category table for $_category_table"; - $_category_table; + return $_category_table{ ref $self } ||= do { + my $category_table = $self->table; + $category_table =~ s/class/category/ # s/_class$/_category/ + or die "can't determine an automatic category table for $category_table"; + $category_table; + } } =head1 BUGS