[freeside-commits] freeside/FS/FS Mason.pm, 1.66, 1.67 Schema.pm, 1.274, 1.275 areacode.pm, NONE, 1.1

Mark Wells mark at wavetail.420.am
Mon Feb 28 20:09:24 PST 2011


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

Modified Files:
	Mason.pm Schema.pm 
Added Files:
	areacode.pm 
Log Message:
VoipNow export, #11170

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

use strict;
use base qw( FS::Record );
use FS::Record qw( qsearch qsearchs );

=head1 NAME

FS::areacode - Object methods for areacode records

=head1 SYNOPSIS

  use FS::areacode;

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

  $error = $record->insert;

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

  $error = $record->delete;

  $error = $record->check;

=head1 DESCRIPTION

An FS::areacode object represents an example.  FS::areacode inherits from
FS::Record.  The following fields are currently supported:

=over 4

=item code 

area code (primary key)

=item country

two-letter country code

=item state

two-letter state code, if appropriate

=item description

description (optional)


=back

=head1 METHODS

=over 4

=cut

sub table { 'areacode'; }

=item insert

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

=cut

=item delete

Delete this record from the database.

=cut

=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

=item check

Checks all fields to make sure this is a valid example.  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_number('code')
    || $self->ut_text('country')
    || $self->ut_textn('state')
    || $self->ut_textn('description')
  ;
  return $error if $error;

  $self->SUPER::check;
}

=back

=head1 CLASS METHODS

locate CODE

Returns the country, state, and description for an area code.

=cut

sub locate {
  my $class = shift;
  my $code = shift;
  my $areacode = qsearchs('areacode', { code => $code })
    or return ();
  return ($areacode->country, $areacode->state, $areacode->description);
}

=head1 SEE ALSO

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

=cut

1;


Index: Schema.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Schema.pm,v
retrieving revision 1.274
retrieving revision 1.275
diff -u -w -d -r1.274 -r1.275
--- Schema.pm	27 Feb 2011 22:04:31 -0000	1.274
+++ Schema.pm	1 Mar 2011 04:09:22 -0000	1.275
@@ -3266,6 +3266,18 @@
       'index'  => [], #recnum
     },
 
+    'areacode'  => {
+      'columns' => [
+        'code',        'char',        '',       3, '', '', 
+        'country',     'char',    'NULL',       2, '', '',
+        'state',       'char',    'NULL',       2, '', '', 
+        'description','varchar',  'NULL',     255, '', '',
+      ], 
+      'primary_key' => 'code',
+      'unique' => [],
+      'index'  => [],
+    },
+
     %{ tables_hashref_torrus() },
 
     # tables of ours for doing torrus virtual port combining

Index: Mason.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Mason.pm,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -w -d -r1.66 -r1.67
--- Mason.pm	27 Feb 2011 00:57:39 -0000	1.66
+++ Mason.pm	1 Mar 2011 04:09:22 -0000	1.67
@@ -271,6 +271,7 @@
   use FS::did_order;
   use FS::torrus_srvderive;
   use FS::torrus_srvderive_component;
+  use FS::areacode;
   # Sammath Naur
 
   if ( $FS::Mason::addl_handler_use ) {



More information about the freeside-commits mailing list