so Search.tsf and Search.rdf work
[freeside.git] / FS / FS / h_Common.pm
index a7bb937..d55da8c 100644 (file)
@@ -2,6 +2,7 @@ package FS::h_Common;
 
 use strict;
 use FS::Record qw(dbdef);
+use Carp qw(confess);
 
 =head1 NAME
 
@@ -39,8 +40,13 @@ sub sql_h_search {
   my( $self, $end ) = ( shift, shift );
 
   my $table = $self->table;
-  my $pkey = dbdef->table($table)->primary_key
-    or die "can't (yet) search history table $table without a primary key";
+  my $real_table = ($table =~ /^h_(.*)$/) ? $1 : $table;
+  my $pkey = dbdef->table($real_table)->primary_key
+    or die "can't (yet) search history table $real_table without a primary key";
+
+  unless ($end) {
+    confess 'Called sql_h_search without END_TIMESTAMP';
+  }
 
   my $notcancelled = '';
   if ( scalar(@_) && $_[0] ) {
@@ -64,7 +70,7 @@ sub sql_h_search {
 
      '',
 
-     'maintable',
+     'AS maintable',
   );
 
 }