my $router = $self->router;
return "Router ".$self->routernum." does not serve this customer"
- if $router->agentnum and $router->agentnum != $agentnum;
+ if $router->agentnum and $agentnum and $router->agentnum != $agentnum;
if ( $router->manual_addr ) {
$self->blocknum('');
my $self = shift;
my $svcpart = $self->svcnum ? $self->cust_svc->svcpart : $self->svcpart;
my @r = map { $_->router } qsearch('part_svc_router',
- { svcpart => $self->cust_svc->svcpart });
+ { svcpart => $svcpart });
if ( $self->cust_main ) {
my $agentnum = $self->cust_main->agentnum;
return grep { !$_->agentnum or $_->agentnum == $agentnum } @r;
routernum => ''
})) {
my $addr_block = $self->addr_block;
+ if ( !$addr_block ) {
+ # super paranoid mode
+ warn "WARNING: svcnum ".$self->svcnum." is assigned to addr_block ".$self->blocknum.", which does not exist; skipped.\n";
+ next;
+ }
my $ip_addr = $self->ip_addr;
my $routernum = $addr_block->routernum;
if ( $routernum ) {