[freeside-commits] freeside/FS/FS svc_port.pm, NONE, 1.1 Schema.pm, 1.260, 1.261 h_svc_port.pm, NONE, 1.1

Ivan,,, ivan at wavetail.420.am
Fri Jan 7 16:54:58 PST 2011


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

Modified Files:
	Schema.pm 
Added Files:
	svc_port.pm h_svc_port.pm 
Log Message:
torrus, RT#10574

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

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

=head1 NAME

FS::svc_port - Object methods for svc_port records

=head1 SYNOPSIS

  use FS::svc_port;

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

  $error = $record->insert;

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

  $error = $record->delete;

  $error = $record->check;

  $error = $record->suspend;

  $error = $record->unsuspend;

  $error = $record->cancel;

=head1 DESCRIPTION

An FS::svc_port object represents a router port.  FS::table_name inherits from
FS::svc_Common.  The following fields are currently supported:

=over 4

=item svcnum - 

=item serviceid - Torrus serviceid (in srvexport and reportfields tables)

=back

=head1 METHODS

=over 4

=item new HASHREF

Creates a new port.  To add the port 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

sub table { 'svc_port'; }

sub table_info {
  {
    'name' => 'Port',
    #'name_plural' => 'Ports', #optional,
    #'longname_plural' => 'Ports', #optional
    'sorts' => [ 'svcnum', 'serviceid' ], # optional sort field (or arrayref of sort fields, main first)
    'display_weight' => 75,
    'cancel_weight'  => 10,
    'fields' => {
      'serviceid'         => 'Torrus serviceid',
    },
  };
}

=item search_sql STRING

Class method which returns an SQL fragment to search for the given string.

=cut

#or something more complicated if necessary
sub search_sql {
  my($class, $string) = @_;
  $class->search_sql_field('serviceid', $string);
}

=item label

Returns a meaningful identifier for this port

=cut

sub label {
  my $self = shift;
  $self->serviceid; #or something more complicated if necessary
}

=item insert

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

The additional fields pkgnum and svcpart (see L<FS::cust_svc>) should be 
defined.  An FS::cust_svc record will be created and inserted.

=cut

sub insert {
  my $self = shift;
  my $error;

  $error = $self->SUPER::insert;
  return $error if $error;

  '';
}

=item delete

Delete this record from the database.

=cut

sub delete {
  my $self = shift;
  my $error;

  $error = $self->SUPER::delete;
  return $error if $error;

  '';
}


=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

sub replace {
  my ( $new, $old ) = ( shift, shift );
  my $error;

  $error = $new->SUPER::replace($old);
  return $error if $error;

  '';
}

=item suspend

Called by the suspend method of FS::cust_pkg (see L<FS::cust_pkg>).

=item unsuspend

Called by the unsuspend method of FS::cust_pkg (see L<FS::cust_pkg>).

=item cancel

Called by the cancel method of FS::cust_pkg (see L<FS::cust_pkg>).

=item check

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

=cut

sub check {
  my $self = shift;

  my $x = $self->setfixed;
  return $x unless ref($x);
  my $part_svc = $x;

  my $error = $self->ut_textn('serviceid'); #too lenient?
  return $error if $error;

  $self->SUPER::check;
}

=item

Returns a PNG graph for this port.

XXX Options

=cut

sub graph_png {
  my $self = shift;
  my $serviceid = $self->serviceid;


}

=back

=head1 BUGS

=head1 SEE ALSO

L<FS::svc_Common>, L<FS::Record>, L<FS::cust_svc>, L<FS::part_svc>,
L<FS::cust_pkg>, 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.260
retrieving revision 1.261
diff -u -w -d -r1.260 -r1.261
--- Schema.pm	7 Jan 2011 23:13:58 -0000	1.260
+++ Schema.pm	8 Jan 2011 00:54:56 -0000	1.261
@@ -3207,36 +3207,10 @@
       'index'  => [], #recnum
     },
 
-    'nms_device' => {
-      'columns' => [
-        'nms_devicenum', 'serial',     '',      '', '', '',
-        #'agentnum',         'int', 'NULL',      '', '', '',
-        'devicename',   'varchar',     '', $char_d, '', '',
-        'ip',           'varchar',     '',      15, '', '', 
-        'protocol',     'varchar',     '', $char_d, '', '',
-#        'last',     'int',     '',    '', '', '', 
-      ],
-      'primary_key' => 'nms_devicenum',
-      'unique' => [],
-      'index'  => [],
-    },
-   
-    'nms_deviceport' => {
-      'columns' => [
-        'portnum',       'serial',     '', '', '', '', 
-        'nms_devicenum',    'int',     '', '', '', '', 
-        'deviceport',       'int',     '', '', '', '', 
-        #'ip',       'varchar', 'NULL', 15, '', '', 
-        'svcnum',           'int', 'NULL', '', '', '',
-      ],
-      'primary_key' => 'portnum',
-      'unique'      => [ [ 'nms_devicenum', 'deviceport' ] ],
-      'index'       => [ [ 'svcnum' ] ],
-    },
-
     'svc_port' => {
       'columns' => [
         'svcnum',                'int',     '',      '', '', '', 
+        'serviceid', 'varchar', '', 64, '', '', #srvexport / reportfields
       ],
       'primary_key' => 'svcnum',
       'unique' => [],

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

use strict;
use vars qw( @ISA );
use FS::h_Common;
use FS::svc_port;

@ISA = qw( FS::h_Common FS::svc_port );

sub table { 'h_svc_port' };

=head1 NAME

FS::h_svc_port - Historical port objects

=head1 SYNOPSIS

=head1 DESCRIPTION

An FS::h_svc_port object represents a historical customer port.  FS::h_svc_port
inherits from FS::h_Common and FS::svc_port.

=head1 BUGS

=head1 SEE ALSO

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

=cut

1;




More information about the freeside-commits mailing list