package FS::router;
+use base qw( FS::m2m_Common FS::Record );
use strict;
-use vars qw( @ISA );
use FS::Record qw( qsearchs qsearch dbh );
use FS::addr_block;
-@ISA = qw( FS::Record FS::m2m_Common );
-
=head1 NAME
FS::router - Object methods for router records
my $error = $self->SUPER::replace($old, @_);
return $error if $error;
- if ( defined($self->blocknum) ) {
+ if ( length($self->blocknum) ) {
#warn "FS::router::replace: blocknum = ".$self->blocknum."\n";
# then release any blocks we're already holding
foreach my $block ($self->addr_block) {
Returns a list of FS::addr_block objects (address blocks) associated
with this object.
+=cut
+
+sub addr_block {
+ my $self = shift;
+ qsearch('addr_block', { routernum => $self->routernum });
+}
+
=item auto_addr_block
Returns a list of address blocks on which auto-assignment of IP addresses
=cut
-sub addr_block {
- my $self = shift;
- return qsearch('addr_block', { routernum => $self->routernum });
-}
-
sub auto_addr_block {
my $self = shift;
return () if $self->manual_addr;
object. This is unlikely to be useful for any purpose other than retrieving
the associated FS::part_svc objects. See below.
-=cut
-
-sub part_svc_router {
- my $self = shift;
- return qsearch('part_svc_router', { routernum => $self->routernum });
-}
-
=item part_svc
Returns a list of FS::part_svc objects associated with this object.
Returns the agent associated with this router, if any.
-=cut
-
-sub agent {
- qsearchs('agent', { 'agentnum' => shift->agentnum });
-}
-
=item cust_svc
Returns the cust_svc associated with this router, if any. This should be
the service that I<provides connectivity to the router>, not any service
connected I<through> the router.
-=cut
-
-sub cust_svc {
- my $svcnum = shift->svcnum or return undef;
- FS::cust_svc->by_key($svcnum);
-}
-
=back
=head1 SEE ALSO