From: Mark Wells Date: Mon, 27 Feb 2012 23:59:59 +0000 (-0800) Subject: bug fixes for #14698 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=d64984bbfe839fbe71830862a6841380425f3dbe bug fixes for #14698 --- 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 { diff --git a/httemplate/elements/tr-select-router_block_ip.html b/httemplate/elements/tr-select-router_block_ip.html index a4ce6644b..45d1dacd8 100644 --- a/httemplate/elements/tr-select-router_block_ip.html +++ b/httemplate/elements/tr-select-router_block_ip.html @@ -60,6 +60,9 @@ my $svc_x = $opt{'object'}; if ( $svc_x ) { $opt{$_} = $svc_x->$_ foreach qw(routernum blocknum ip_addr svcpart); + if ( $svc_x->svcnum ) { + $opt{'svcpart'} = $svc_x->cust_svc->svcpart; + } } my $svcpart = $opt{'svcpart'} || '';