From: ivan Date: Wed, 26 Sep 2001 09:17:06 +0000 (+0000) Subject: add part_pop_local table X-Git-Tag: freeside_1_4_0pre11~312 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=8ca6f203e5dae208d7af581d68671fe47c5e1a1a add part_pop_local table --- diff --git a/FS/FS.pm b/FS/FS.pm index d2f47d75a..d2c07e47c 100644 --- a/FS/FS.pm +++ b/FS/FS.pm @@ -34,6 +34,8 @@ L - Database record base class L - POP (Point of Presence, not Post Office Protocol) class +L - Local calling area class + L - Referral class L - Locale (tax rate) class @@ -139,7 +141,7 @@ The main documentation is in htdocs/docs. =head1 VERSION -$Id: FS.pm,v 1.8 2001-09-11 00:08:18 ivan Exp $ +$Id: FS.pm,v 1.9 2001-09-26 09:17:06 ivan Exp $ =head1 SUPPORT diff --git a/FS/FS/cust_credit_bill.pm b/FS/FS/cust_credit_bill.pm index 961340813..8f992b580 100644 --- a/FS/FS/cust_credit_bill.pm +++ b/FS/FS/cust_credit_bill.pm @@ -145,7 +145,7 @@ sub cust_credit { =head1 VERSION -$Id: cust_credit_bill.pm,v 1.5 2001-09-11 00:08:18 ivan Exp $ +$Id: cust_credit_bill.pm,v 1.6 2001-09-26 09:17:06 ivan Exp $ =head1 BUGS @@ -153,7 +153,7 @@ The delete method. =head1 SEE ALSO -L, L, L, L, +L, L, L, L, schema.html from the base documentation. =cut diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index d791c1345..0a7f1f7cb 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -940,7 +940,7 @@ invoice_time - Use this time when deciding when to print invoices and late notices on those invoices. The default is now. It is specified as a UNIX timestamp; see L). Also see L and L for conversion functions. -batch_card - Set this true to batch cards (see L). By +batch_card - Set this true to batch cards (see L). By default, cards are processed immediately, which will generate an error if CyberCash is not installed. @@ -1724,7 +1724,7 @@ sub append_fuzzyfiles { =head1 VERSION -$Id: cust_main.pm,v 1.37 2001-09-25 18:03:04 ivan Exp $ +$Id: cust_main.pm,v 1.38 2001-09-26 09:17:06 ivan Exp $ =head1 BUGS diff --git a/FS/FS/part_pop_local.pm b/FS/FS/part_pop_local.pm new file mode 100644 index 000000000..0b7cdf6c9 --- /dev/null +++ b/FS/FS/part_pop_local.pm @@ -0,0 +1,116 @@ +package FS::part_pop_local; + +use strict; +use vars qw( @ISA ); +use FS::Record; # qw( qsearchs ); + +@ISA = qw( FS::Record ); + +=head1 NAME + +FS::part_pop_local - Object methods for part_pop_local records + +=head1 SYNOPSIS + + use FS::part_pop_local; + + $record = new FS::part_pop_local \%hash; + $record = new FS::part_pop_local { 'column' => 'value' }; + + $error = $record->insert; + + $error = $new_record->replace($old_record); + + $error = $record->delete; + + $error = $record->check; + +=head1 DESCRIPTION + +An FS::part_pop_local object represents a local call area. Each +FS::part_pop_local record maps a NPA/NXX (area code and exchange) to the POP +(see L) which is a local call. FS::part_pop_local inherits +from FS::Record. The following fields are currently supported: + +=over 4 + +=item localnum - primary key (assigned automatically for new accounts) + +=item popnum - see L + +=item city + +=item state + +=item npa - area code + +=item nxx - exchange + +=back + +=head1 METHODS + +=over 4 + +=item new HASHREF + +Creates a new point of presence (if only it were that easy!). To add the +point of presence to the database, see L<"insert">. + +=cut + +sub table { 'part_pop_local'; } + +=item insert + +Adds this point of presence to the database. If there is an error, returns the +error, otherwise returns false. + +=item delete + +Removes this point of presence from the database. + +=item replace OLD_RECORD + +Replaces OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. + +=item check + +Checks all fields to make sure this is a valid point of presence. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. + +=cut + +sub check { + my $self = shift; + + $self->ut_numbern('localnum') + or $self->ut_numbern('popnum') + or $self->ut_text('city') + or $self->ut_text('state') + or $self->ut_number('npa') + or $self->ut_number('nxx') + ; + +} + +=back + +=head1 VERSION + +$Id: part_pop_local.pm,v 1.1 2001-09-26 09:17:06 ivan Exp $ + +=head1 BUGS + +US/CA-centric. + +=head1 SEE ALSO + +L, L, schema.html from the base documentation. + +=cut + +1; + diff --git a/FS/FS/svc_acct_pop.pm b/FS/FS/svc_acct_pop.pm index 5e755ef73..8ce551cef 100644 --- a/FS/FS/svc_acct_pop.pm +++ b/FS/FS/svc_acct_pop.pm @@ -98,7 +98,7 @@ sub check { =head1 VERSION -$Id: svc_acct_pop.pm,v 1.2 2000-01-28 22:55:06 ivan Exp $ +$Id: svc_acct_pop.pm,v 1.3 2001-09-26 09:17:06 ivan Exp $ =head1 BUGS @@ -106,7 +106,8 @@ It should be renamed to part_pop. =head1 SEE ALSO -L, L, schema.html from the base documentation. +L, L, L, schema.html from the +base documentation. =cut diff --git a/FS/MANIFEST b/FS/MANIFEST index b99250d1b..5af893a4d 100644 --- a/FS/MANIFEST +++ b/FS/MANIFEST @@ -34,6 +34,7 @@ FS/cust_refund.pm FS/cust_credit_refund.pm FS/cust_svc.pm FS/part_pkg.pm +FS/part_pop_local.pm FS/part_referral.pm FS/part_svc.pm FS/part_svc_column.pm @@ -77,6 +78,7 @@ t/cust_svc.t t/domain_record.t t/nas.t t/part_pkg.t +t/part_pop_local.t t/part_referral.t t/part_svc.t t/part_svc_column.t diff --git a/FS/t/part_pop_local.t b/FS/t/part_pop_local.t new file mode 100644 index 000000000..4e4ad17f5 --- /dev/null +++ b/FS/t/part_pop_local.t @@ -0,0 +1,5 @@ +BEGIN { $| = 1; print "1..1\n" } +END {print "not ok 1\n" unless $loaded;} +use FS::part_pop_local; +$loaded=1; +print "ok 1\n"; diff --git a/README.1.4.0pre3-4 b/README.1.4.0pre3-4 index d2fcf7f91..0ac859137 100644 --- a/README.1.4.0pre3-4 +++ b/README.1.4.0pre3-4 @@ -2,5 +2,15 @@ the following is necessary to upgrade from 1.4.0pre3 to pre4 or later. install the perl modules and httemplate as per install.html or upgrade8.html +CREATE TABLE part_pop_local ( + localnum int primary key, + popnum int not null, + city varchar(80) null, + state char(2) null, + npa char(3) not null, + nxx char(3) not null +); +CREATE UNIQUE INDEX part_pop_local1 ON part_pop_local ( npa, nxx ); + Run bin/dbdef-create diff --git a/bin/fs-setup b/bin/fs-setup index e7dda8ed7..52a2505e5 100755 --- a/bin/fs-setup +++ b/bin/fs-setup @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: fs-setup,v 1.58 2001-09-11 22:20:28 ivan Exp $ +# $Id: fs-setup,v 1.59 2001-09-26 09:17:06 ivan Exp $ #to delay loading dbdef until we're ready BEGIN { $FS::Record::setup_hack = 1; } @@ -611,7 +611,21 @@ sub tables_hash_hack { ], 'primary_key' => 'popnum', 'unique' => [ [] ], - 'index' => [ [] ], + 'index' => [ [ 'state' ] ], + }, + + 'part_pop_local' => { + 'columns' => [ + 'localnum', 'int', '', '', + 'popnum', 'int', '', '', + 'city', 'varchar', 'NULL', $char_d, + 'state', 'char', 'NULL', 2, + 'npa', 'char', '', 3, + 'nxx', 'char', '', 3, + ], + 'primary_key' => 'popnum', + 'unique' => [ [] ], + 'index' => [ [ 'npa', 'nxx' ] ], }, 'svc_acct' => { diff --git a/httemplate/docs/schema.html b/httemplate/docs/schema.html index e3fe98096..c3cb51425 100644 --- a/httemplate/docs/schema.html +++ b/httemplate/docs/schema.html @@ -273,6 +273,15 @@
  • exch - exchange
  • loc - rest of number +
  • part_pop_local - Local calling areas +
      +
    • localnum - primary key +
    • popnum - primary key +
    • city +
    • state +
    • npa - area code +
    • nxx - exchange +
  • svc_acct_sm - DEPRECIATED Domain mail aliases
    • svcnum - primary key diff --git a/httemplate/docs/upgrade8.html b/httemplate/docs/upgrade8.html index a179e96b4..747b8e29c 100644 --- a/httemplate/docs/upgrade8.html +++ b/httemplate/docs/upgrade8.html @@ -118,6 +118,16 @@ CREATE TABLE queue_arg ( ); CREATE INDEX queue_arg1 ON queue_arg ( jobnum ); +CREATE TABLE part_pop_local ( + localnum int primary key, + popnum int not null, + city varchar(80) null, + state char(2) null, + npa char(3) not null, + nxx char(3) not null +); +CREATE UNIQUE INDEX part_pop_local1 ON part_pop_local ( npa, nxx ); + ALTER TABLE svc_acct ADD domsvc integer NOT NULL; ALTER TABLE svc_domain ADD catchall integer NULL; ALTER TABLE cust_main ADD referral_custnum integer NULL;