[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