X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fsvc_acct.cgi;h=f42c14618229995697641706f48c5375efb817e8;hb=633c48448d9468690b7ad77eb6ff7c660a286658;hp=60ca24d3e6a37f85e1be479fe7a8d0b7078eddbd;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0;p=freeside.git diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi index 60ca24d3e..f42c14618 100755 --- a/httemplate/edit/svc_acct.cgi +++ b/httemplate/edit/svc_acct.cgi @@ -3,6 +3,8 @@ %my $conf = new FS::Conf; %my @shells = $conf->config('shells'); % +%my $curuser = $FS::CurrentUser::CurrentUser; +% %my($svcnum, $pkgnum, $svcpart, $part_svc, $svc_acct, @groups); %if ( $cgi->param('error') ) { % @@ -16,39 +18,39 @@ % die "No part_svc entry for svcpart $svcpart!" unless $part_svc; % @groups = $cgi->param('radius_usergroup'); % -%} else { +%} elsif ( $cgi->param('pkgnum') && $cgi->param('svcpart') ) { #adding % -% my($query) = $cgi->keywords; -% if ( $query =~ /^(\d+)$/ ) { #editing -% $svcnum=$1; -% $svc_acct=qsearchs('svc_acct',{'svcnum'=>$svcnum}) -% or die "Unknown (svc_acct) svcnum!"; +% $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'unparsable pkgnum'; +% $pkgnum = $1; +% $cgi->param('svcpart') =~ /^(\d+)$/ or die 'unparsable svcpart'; +% $svcpart = $1; % -% my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum}) -% or die "Unknown (cust_svc) svcnum!"; +% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); +% die "No part_svc entry!" unless $part_svc; % -% $pkgnum=$cust_svc->pkgnum; -% $svcpart=$cust_svc->svcpart; +% $svc_acct = new FS::svc_acct({svcpart => $svcpart}); % -% $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } ); -% die "No part_svc entry for svcpart $svcpart!" unless $part_svc; +% $svcnum=''; % -% @groups = $svc_acct->radius_groups; +%} else { #editing % -% } else { #adding +% my($query) = $cgi->keywords; +% $query =~ /^(\d+)$/ or die "unparsable svcnum"; +% $svcnum=$1; +% $svc_acct=qsearchs('svc_acct',{'svcnum'=>$svcnum}) +% or die "Unknown (svc_acct) svcnum!"; % -% foreach $_ (split(/-/,$query)) { -% $pkgnum=$1 if /^pkgnum(\d+)$/; -% $svcpart=$1 if /^svcpart(\d+)$/; -% } -% $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } ); -% die "No part_svc entry for svcpart $svcpart!" unless $part_svc; +% my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum}) +% or die "Unknown (cust_svc) svcnum!"; % -% $svc_acct = new FS::svc_acct({svcpart => $svcpart}); +% $pkgnum=$cust_svc->pkgnum; +% $svcpart=$cust_svc->svcpart; % -% $svcnum=''; +% $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } ); +% die "No part_svc entry for svcpart $svcpart!" unless $part_svc; +% +% @groups = $svc_acct->radius_groups; % -% } %} % %my( $cust_pkg, $cust_main ) = ( '', '' ); @@ -216,7 +218,14 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %>
% } % } % -% if ($cust_pkg && !$conf->exists('svc_acct-alldomains') ) { +% if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'S' ) { +% foreach my $domain +% (split(',',$part_svc->part_svc_column('domsvc')->columnvalue)) { +% my $svc_domain = +% qsearchs('svc_domain', { 'svcnum' => $domain } ); +% $svc_domain{$svc_domain->svcnum} = $svc_domain if $svc_domain; +% } +% }elsif ($cust_pkg && !$conf->exists('svc_acct-alldomains') ) { % my @cust_svc = % map { qsearch('cust_svc', { 'pkgnum' => $_->pkgnum } ) } % qsearch('cust_pkg', { 'custnum' => $cust_pkg->custnum } ); @@ -376,6 +385,24 @@ Service # <% $svcnum ? "$svcnum" : " (NEW)" %>
% } % +% if ( $curuser->access_right('Edit usage') ) { +% my %label = ( seconds => 'Seconds', +% upbytes => 'Upload bytes', +% downbytes => 'Download bytes', +% totalbytes => 'Total bytes', +% ); +% foreach my $uf (keys %label) { +% my $tf = $uf . "_threshold"; +% if ( $svc_acct->$tf ne '' ) { + + + <% $label{$uf} %> remaining + + +% } +% } +% } +% %foreach my $r ( grep { /^r(adius|[cr])_/ } fields('svc_acct') ) { % $r =~ /^^r(adius|[cr])_(.+)$/ or next; #? % my $a = $2;