summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-01-16 18:38:06 -0800
committerIvan Kohler <ivan@freeside.biz>2015-01-16 18:38:06 -0800
commite1cac73de0b294dd3baeb792509fbf089fe981d3 (patch)
tree7d6f23652db37a0acb12c7cc9220c238a3f5b817
parentb7cf1606a66cca95e3540f803ffa66d223f23a40 (diff)
parent2b22859ec037627196e3153719359efe46e42178 (diff)
Merge branch 'fix_category_table' of https://github.com/jgoodman/Freeside into jgoodman-fix_category_table
-rw-r--r--FS/FS/class_Common.pm13
1 files changed, 7 insertions, 6 deletions
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