popSELECTOR
authorivan <ivan>
Thu, 27 Sep 2001 21:12:15 +0000 (21:12 +0000)
committerivan <ivan>
Thu, 27 Sep 2001 21:12:15 +0000 (21:12 +0000)
httemplate/edit/cust_main.cgi
httemplate/edit/svc_acct.cgi

index d5b0d0f..4711cf5 100755 (executable)
@@ -1,5 +1,5 @@
 <%
 <%
-#<!-- $Id: cust_main.cgi,v 1.5 2001-09-27 20:41:36 ivan Exp $ -->
+#<!-- $Id: cust_main.cgi,v 1.6 2001-09-27 21:12:15 ivan Exp $ -->
 
 use vars qw( $cgi $custnum $action $cust_main $p1 @agents $agentnum 
              $last $first $ss $company $address1 $address2 $city $zip 
 
 use vars qw( $cgi $custnum $action $cust_main $p1 @agents $agentnum 
              $last $first $ss $company $address1 $address2 $city $zip 
@@ -434,7 +434,7 @@ unless ( $custnum ) {
 (blank to generate)</TD></TR>
 END
 
 (blank to generate)</TD></TR>
 END
 
-    print '<TR><TD ALIGN="right">POP</TD><TD WIDTH="100%">'
+    print '<TR><TD ALIGN="right">Access number</TD><TD WIDTH="100%">'
           .
           &FS::svc_acct_pop::popselector($popnum).
           '</TD></TR></TABLE>'
           .
           &FS::svc_acct_pop::popselector($popnum).
           '</TD></TR></TABLE>'
index 16b2957..8646bb7 100755 (executable)
@@ -1,11 +1,11 @@
 <%
 <%
-#<!-- $Id: svc_acct.cgi,v 1.8 2001-09-27 20:41:36 ivan Exp $ -->
+#<!-- $Id: svc_acct.cgi,v 1.9 2001-09-27 21:12:15 ivan Exp $ -->
 
 use strict;
 use vars qw( $conf $cgi @shells $action $svcnum $svc_acct $pkgnum $svcpart
              $part_svc $svc $otaker $username $password $ulen $ulen2 $p1
              $popnum $domsvc $uid $gid $finger $dir $shell $quota $slipip
 
 use strict;
 use vars qw( $conf $cgi @shells $action $svcnum $svc_acct $pkgnum $svcpart
              $part_svc $svc $otaker $username $password $ulen $ulen2 $p1
              $popnum $domsvc $uid $gid $finger $dir $shell $quota $slipip
-             @svc_domain );
+             %svc_domain );
 use CGI;
 use CGI::Carp qw(fatalsToBrowser);
 use FS::UID qw(cgisuidsetup getotaker);
 use CGI;
 use CGI::Carp qw(fatalsToBrowser);
 use FS::UID qw(cgisuidsetup getotaker);
@@ -131,18 +131,29 @@ $domsvc = $svc_acct->domsvc || 0;
 if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'F' ) {
   print qq!<INPUT TYPE="hidden" NAME="domsvc" VALUE="$domsvc">!;
 } else { 
 if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'F' ) {
   print qq!<INPUT TYPE="hidden" NAME="domsvc" VALUE="$domsvc">!;
 } else { 
-  my @svc_domain = ();
+  my %svc_domain = ();
+
+  if ( $domsvc ) {
+    my $svc_domain = qsearchs('svc_domain', { 'svcnum' => $domsvc, } );
+    if ( $svc_domain ) {
+      $svc_domain{$svc_domain->svcnum} = $svc_domain;
+    } else {
+      warn "unknown svc_domain.svcnum for svc_acct.domsvc: $domsvc";
+    }
+  }
+
   if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'D' ) {
     my $svc_domain = qsearchs('svc_domain', {
       'svcnum' => $part_svc->part_svc_column('domsvc')->columnvalue,
     } );
     if ( $svc_domain ) {
   if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'D' ) {
     my $svc_domain = qsearchs('svc_domain', {
       'svcnum' => $part_svc->part_svc_column('domsvc')->columnvalue,
     } );
     if ( $svc_domain ) {
-      push @svc_domain, $svc_domain;
+      $svc_domain{$svc_domain->svcnum} = $svc_domain;
     } else {
       warn "unknown svc_domain.svcnum for part_svc_column domsvc: ".
            $part_svc->part_svc_column('domsvc')->columnvalue;
     }
   }
     } else {
       warn "unknown svc_domain.svcnum for part_svc_column domsvc: ".
            $part_svc->part_svc_column('domsvc')->columnvalue;
     }
   }
+
   my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $pkgnum } );
   if ($cust_pkg) {
     my @cust_svc =
   my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $pkgnum } );
   if ($cust_pkg) {
     my @cust_svc =
@@ -151,20 +162,23 @@ if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'F' ) {
     foreach my $cust_svc ( @cust_svc ) {
       my $svc_domain =
         qsearchs('svc_domain', { 'svcnum' => $cust_svc->svcnum } );
     foreach my $cust_svc ( @cust_svc ) {
       my $svc_domain =
         qsearchs('svc_domain', { 'svcnum' => $cust_svc->svcnum } );
-      push @svc_domain, $svc_domain if $svc_domain;
+     $svc_domain{$svc_domain->svcnum} = $svc_domain if $svc_domain;
     }
   } else {
     }
   } else {
-    @svc_domain = qsearch('svc_domain', {} );
+    %svc_domain = map { $_->svcnum => $_ } qsearch('svc_domain', {} );
   }
   print qq!<TR><TD ALIGN="right">Domain</TD>!.
         qq!<TD><SELECT NAME="domsvc" SIZE=1>\n!;
   }
   print qq!<TR><TD ALIGN="right">Domain</TD>!.
         qq!<TD><SELECT NAME="domsvc" SIZE=1>\n!;
-  foreach my $svc_domain ( sort { $a->domain cmp $b->domain } @svc_domain ) {
-    print qq!<OPTION VALUE="!, $svc_domain->svcnum, qq!"!,
-          $svc_domain->svcnum == $domsvc ? ' SELECTED' : '',
-          ">", $svc_domain->domain, "\n"
-      ;
+  foreach my $svcnum (
+    sort { $svc_domain{$a}->domain cmp $svc_domain{$b}->domain }
+      keys %svc_domain
+  ) {
+    my $svc_domain = $svc_domain{$svcnum};
+    print qq!<OPTION VALUE="!. $svc_domain->svcnum. qq!"!.
+          ( $svc_domain->svcnum == $domsvc ? ' SELECTED' : '' ).
+          '>'. $svc_domain->domain. "\n" ;
   }
   }
-  print "</SELECT></TD><TR>";
+  print "</SELECT></TD></TR>";
 }
 
 #pop
 }
 
 #pop