optimize CDR rating after timed rate perf regression, RT#15739
[freeside.git] / httemplate / edit / svc_acct.cgi
index 33e5d04..38567ef 100755 (executable)
@@ -45,9 +45,14 @@ function randomPass() {
 
 <TR>
   <TD ALIGN="right"><% mt('Username') |h %></TD>
-  <TD>
-    <INPUT TYPE="text" NAME="username" VALUE="<% $username %>" SIZE=<% $ulen2 %> MAXLENGTH=<% $ulen %>>
-  </TD>
+% if ( $svcnum && $conf->exists('svc_acct-no_edit_username') ) {
+    <TD BGCOLOR="#eeeeee"><% $svc_acct->username() %></TD>
+    <INPUT TYPE="hidden" NAME="username" VALUE="<% $username %>">
+% } else {
+    <TD>
+      <INPUT TYPE="text" NAME="username" VALUE="<% $username %>" SIZE=<% $ulen2 %> MAXLENGTH=<% $ulen %>>
+    </TD>
+% }
 </TR>
 
 %if ( $part_svc->part_svc_column('_password')->columnflag ne 'F' ) {
@@ -92,7 +97,7 @@ function randomPass() {
 %  if ( $domsvc ) {
 %    my $svc_domain = qsearchs('svc_domain', { 'svcnum' => $domsvc, } );
 %    if ( $svc_domain ) {
-%      $svc_domain{$svc_domain->svcnum} = $svc_domain;
+%      $svc_domain{$svc_domain->svcnum} = $svc_domain->domain;
 %    } else {
 %      warn "unknown svc_domain.svcnum for svc_acct.domsvc: $domsvc";
 %    }
@@ -155,6 +160,19 @@ function randomPass() {
     <TD><% FS::svc_acct_pop::popselector($popnum) %></TD>
   </TR>
 % } 
+
+%#tower (huh)
+%if ( $conf->exists('svc_acct-tower_sector')
+%     && $part_svc->part_svc_column('sectornum')->columnflag ne 'F' ) {
+    <& /elements/tr-select-tower_sector.html,
+         'curr_value' => $svc_acct->sectornum,
+         #'part_svc'   => $part_svc,
+         #'cust_pkg'   => $cust_pkg,
+    &>
+%} else {
+    <INPUT TYPE="hidden" NAME="sectornum" VALUE="<% $svc_acct->sectornum %>">
+%}
+
 % #uid/gid 
 % foreach my $xid (qw( uid gid )) { 
 %
@@ -303,11 +321,11 @@ function randomPass() {
 <TR>
   <TD ALIGN="right"><% mt('RADIUS groups') |h %></TD>
 % if ( $part_svc_usergroup->columnflag eq 'F' ) { 
-    <TD BGCOLOR="#eeeeee"><% join('<BR>', @groups) %></TD>
+    <TD BGCOLOR="#eeeeee"><% join('<BR>', @groupnames) %></TD>
 % } else { 
 %   my $radius_group_selected = '';
 %   if ( $svc_acct->svcnum ) {
-%      $radius_group_selected = join(',',$svc_acct->radius_groups('NUMBERS'));
+%      $radius_group_selected = join(',',$svc_acct->radius_groups('groupnum'));
 %   }
 %   elsif ( !$svc_acct->svcnum && $part_svc_usergroup->columnflag eq 'D' ) {
 %       $radius_group_selected = $part_svc_usergroup->columnvalue;
@@ -315,6 +333,7 @@ function randomPass() {
     <TD><& /elements/select-radius_group.html, 
                 curr_value => $radius_group_selected,
                 element_name => 'radius_usergroup',
+                multiple => 1,
         &>
     </TD>
 % } 
@@ -444,8 +463,13 @@ unless ( $svcnum || $cgi->param('error') ) { #adding
 
 my $part_svc_usergroup = $part_svc->part_svc_column('usergroup');
 #fixed radius groups always override & display
+my @groupnames; # only used for display of Fixed RADIUS groups
 if ( $part_svc_usergroup->columnflag eq 'F' ) {
-  @groups = split(',', $part_svc_usergroup->columnvalue);
+  @groups = split(',',$part_svc_usergroup->columnvalue);
+  @groupnames = map { $_->long_description } 
+                    qsearch({ 'table'         => 'radius_group',
+                           'extra_sql'     => "where groupnum in (".$part_svc_usergroup->columnvalue.")",
+                        }) if length($part_svc_usergroup->columnvalue);
 }
 
 my $action = $svcnum ? 'Edit' : 'Add';