per-agent disable_previous_balance, #15863
[freeside.git] / FS / FS / rate_prefix.pm
index 42b004f..93349f0 100644 (file)
@@ -2,8 +2,9 @@ package FS::rate_prefix;
 
 use strict;
 use vars qw( @ISA );
-use FS::Record qw( qsearch qsearchs );
+use FS::Record qw( qsearch qsearchs dbh );
 use FS::rate_region;
+use FS::lata;
 
 @ISA = qw(FS::Record);
 
@@ -108,6 +109,9 @@ sub check {
     || $self->ut_number('countrycode')
     || $self->ut_numbern('npa')
     || $self->ut_numbern('nxx')
+    || $self->ut_foreign_keyn('latanum', 'lata', 'latanum')
+    || $self->ut_textn('state')
+    || $self->ut_textn('ocn')
   ;
   return $error if $error;
 
@@ -127,6 +131,27 @@ sub rate_region {
 
 =back
 
+=head1 CLASS METHODS
+
+=over 4
+
+=item all_countrycodes
+
+Returns a list of all countrycodes listed in rate_prefix
+
+=cut
+
+sub all_countrycodes { 
+  #my $class = shift;
+  my $sql =
+    "SELECT DISTINCT(countrycode) FROM rate_prefix ORDER BY countrycode";
+  my $sth = dbh->prepare($sql) or die  dbh->errstr;
+  $sth->execute                or die $sth->errstr;
+  map $_->[0], @{ $sth->fetchall_arrayref };
+}
+
+=back
+
 =head1 BUGS
 
 =head1 SEE ALSO