[freeside-commits] freeside/FS/FS phone_avail.pm, NONE, 1.1 Schema.pm, 1.89, 1.90

Ivan,,, ivan at wavetail.420.am
Sat Jun 28 17:41:07 PDT 2008


Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail.420.am:/tmp/cvs-serv595/FS/FS

Modified Files:
	Schema.pm 
Added Files:
	phone_avail.pm 
Log Message:
state->areacode caching, 

Index: Schema.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Schema.pm,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -d -r1.89 -r1.90
--- Schema.pm	19 Jun 2008 03:18:16 -0000	1.89
+++ Schema.pm	29 Jun 2008 00:41:05 -0000	1.90
@@ -2037,6 +2037,20 @@
       'index'  => [ [ 'countrycode', 'phonenum' ] ],
     },
 
+    'phone_avail' => {
+      'columns' => [
+        'availnum',    'int',      '', '', '', '', 
+        'exportnum',   'int',      '', '', '', '', 
+        'countrycode', 'varchar',  '',  3, '', '', 
+        'state',       'char', 'NULL',  2, '', '', 
+        'npa',         'char',     '',  3, '', '', 
+        'nxx',         'char', 'NULL',  3, '', '', 
+      ],
+      'primary_key' => 'availnum',
+      'unique' => [],
+      'index'  => [ [ 'exportnum', 'countrycode', 'state' ] ],
+    },
+
     'reason_type' => {
       'columns' => [
         'typenum',   'serial',  '', '', '', '', 

--- NEW FILE: phone_avail.pm ---
package FS::phone_avail;

use strict;
use vars qw( @ISA );
use FS::Record qw( qsearch qsearchs );

@ISA = qw(FS::Record);

=head1 NAME

FS::phone_avail - Phone number availability cache

=head1 SYNOPSIS

  use FS::phone_avail;

  $record = new FS::phone_avail \%hash;
  $record = new FS::phone_avail { 'column' => 'value' };

  $error = $record->insert;

  $error = $new_record->replace($old_record);

  $error = $record->delete;

  $error = $record->check;

=head1 DESCRIPTION

An FS::phone_avail object represents availability of phone service.
FS::phone_avail inherits from FS::Record.  The following fields are currently
supported:

=over 4

=item availnum

primary key

=item exportnum

exportnum

=item countrycode

countrycode

=item state

state

=item npa

npa

=item nxx

nxx

=back

=head1 METHODS

=over 4

=item new HASHREF

Creates a new record.  To add the record to the database, see L<"insert">.

Note that this stores the hash reference, not a distinct copy of the hash it
points to.  You can ask the object for a copy with the I<hash> method.

=cut

# the new method can be inherited from FS::Record, if a table method is defined

sub table { 'phone_avail'; }

=item insert

Adds this record to the database.  If there is an error, returns the error,
otherwise returns false.

=cut

# the insert method can be inherited from FS::Record

=item delete

Delete this record from the database.

=cut

# the delete method can be inherited from FS::Record

=item replace OLD_RECORD

Replaces the OLD_RECORD with this one in the database.  If there is an error,
returns the error, otherwise returns false.

=cut

# the replace method can be inherited from FS::Record

=item check

Checks all fields to make sure this is a valid record.  If there is
an error, returns the error, otherwise returns false.  Called by the insert
and replace methods.

=cut

# the check method should currently be supplied - FS::Record contains some
# data checking routines

sub check {
  my $self = shift;

  my $error = 
    $self->ut_numbern('availnum')
    || $self->ut_foreign_key('exportnum', 'part_export', 'exportnum' )
    || $self->ut_number('countrycode')
    || $self->ut_alphan('state')
    || $self->ut_number('npa')
    || $self->ut_numbern('nxx')
  ;
  return $error if $error;

  $self->SUPER::check;
}

=back

=head1 BUGS

Sparse documentation.

=head1 SEE ALSO

L<FS::Record>, schema.html from the base documentation.

=cut

1;




More information about the freeside-commits mailing list