diff options
Diffstat (limited to 'FS')
-rwxr-xr-x | FS/FS/svc_broadband.pm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm index ac463bc5c..a327f46e2 100755 --- a/FS/FS/svc_broadband.pm +++ b/FS/FS/svc_broadband.pm @@ -395,18 +395,21 @@ sub check { ? qsearchs('cust_svc', { 'svcnum' => $self->svcnum } ) : ''; my $cust_pkg; + my $svcpart; if ($cust_svc) { $cust_pkg = $cust_svc->cust_pkg; + $svcpart = $cust_svc->svcpart; }else{ $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $self->pkgnum } ); return "Invalid pkgnum" unless $cust_pkg; + $svcpart = $self->svcpart; } my $agentnum = $cust_pkg->cust_main->agentnum if $cust_pkg; if ($self->routernum) { return "Router ".$self->routernum." does not provide this service" unless qsearchs('part_svc_router', { - svcpart => $self->cust_svc->svcpart, + svcpart => $svcpart, routernum => $self->routernum }); @@ -543,8 +546,6 @@ sub router { qsearchs('router', { routernum => $self->routernum }); } -=back - =item allowed_routers Returns a list of allowed FS::router objects. @@ -553,10 +554,13 @@ Returns a list of allowed FS::router objects. sub allowed_routers { my $self = shift; + my $svcpart = $self->svcnum ? $self->cust_svc->svcpart : $self->svcpart; map { $_->router } qsearch('part_svc_router', { svcpart => $self->cust_svc->svcpart }); } +=back + #class method sub _upgrade_data { |