%#unmunge usergroup
%$cgi->param('usergroup', [ $cgi->param('radius_usergroup') ] );
%
-%my $new = new FS::svc_acct ( {
-% map {
-% $_, scalar($cgi->param($_));
+%my %hash = $svcnum ? $old->hash : ();
+%map {
+% $hash{$_} = scalar($cgi->param($_));
% #} qw(svcnum pkgnum svcpart username _password popnum uid gid finger dir
% # shell quota slipip)
-% } ( fields('svc_acct'), qw( pkgnum svcpart usergroup ) )
-%} );
+% } (fields('svc_acct'), qw ( pkgnum svcpart usergroup ));
+%my $new = new FS::svc_acct ( \%hash );
%
%my $error;
%if ( $svcnum ) {
%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') ) {
%
</TR>
% }
%
+% 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 '' ) {
+
+ <TR>
+ <TD ALIGN="right"><% $label{$uf} %> remaining</TD>
+ <TD><INPUT TYPE="text" NAME="<% $uf %>" VALUE="<% $svc_acct->$uf %>"></TD>
+ </TR>
+% }
+% }
+% }
+%
%foreach my $r ( grep { /^r(adius|[cr])_/ } fields('svc_acct') ) {
% $r =~ /^^r(adius|[cr])_(.+)$/ or next; #?
% my $a = $2;
</TD>
</TR>
% }
+% my %ulabel = ( seconds => 'Seconds',
+% upbytes => 'Upload bytes',
+% downbytes => 'Download bytes',
+% totalbytes => 'Total bytes',
+% );
+% foreach my $uf ( keys %ulabel ) {
+% my $tf = $uf . "_threshold";
+% if ( $svc_acct->$tf ne '' ) {
+ <TR>
+ <TD ALIGN="right"><% $ulabel{$uf} %> remaining</TD>
+ <TD BGCOLOR="#ffffff"><% $svc_acct->$uf %></TD>
+ </TR>
+
+% }
+% }
% foreach my $attribute ( grep /^radius_/, $svc_acct->fields ) {
% $attribute =~ /^radius_(.*)$/;
% my $pattribute = $FS::raddb::attrib{$1};