Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / httemplate / edit / cust_main / first_pkg / select-part_pkg.html
index d2d862b..4f89140 100644 (file)
@@ -1,14 +1,14 @@
-<% include('/elements/xmlhttp.html',
-              'url'  => $p.'misc/svc_acct-domains.cgi',
+<& /elements/xmlhttp.html,
+              'url'  => $url_prefix.'misc/svc_acct-domains.cgi',
               'subs' => [ $opt{'prefix'}. 'get_domains' ],
-           )
-%>
+&>
 
-<% include('/elements/xmlhttp.html',
-              'url'  => $p.'misc/part_svc-columns.cgi',
+<& /elements/xmlhttp.html,
+              'url'  => $url_prefix.'misc/part_svc-columns.cgi',
               'subs' => [ $opt{'prefix'}. 'get_part_svc' ],
-           )
-%>
+&>
+
+<INPUT TYPE="hidden" NAME="svcdb" VALUE="">
 
 <SCRIPT TYPE="text/javascript">
 
 
   function <% $opt{'prefix'} %>pkgpart_svcpart_changed_too(what,selected) {
 
+    <% $opt{'onchange'} %>;
+
     pkgpart_svcpart = what.options[what.selectedIndex].value;
 
     var svcdb = pkgpart_svcpart2svcdb[pkgpart_svcpart];
 
+    what.form.svcdb.value = svcdb;
+
     if ( svcdb == 'svc_acct' ) {
 
       // go get the new domains
 
 </SCRIPT>
 
-<% include( '/elements/selectlayers.html',
+<& /elements/selectlayers.html,
               'field'        => $opt{'prefix'}. 'pkgpart_svcpart',
               'curr_value'   => $opt{pkgpart_svcpart},
               'options'      => \@options,
               'labels'       => \%labels,
               'html_between' => '</TD></TR></TABLE>',
-              #'onchange'     => $opt{'prefix'}. 'pkgpart_svcpart_changed(this,0);',
               'onchange'     => $opt{'prefix'}. 'pkgpart_svcpart_changed_too(what,0)',
-
               'layer_callback' => $layer_callback,
               'layermap'       => \%layermap,
-          )
-%>
+&>
 
 <SCRIPT TYPE="text/javascript">
-  pkgpart_svcpart_changed_too( document.CustomerForm.pkgpart_svcpart,
+  pkgpart_svcpart_changed_too( document.<% $opt{form_name} || 'CustomerForm' %>.pkgpart_svcpart,
                                <% $opt{saved_domsvc} %>
                              );
 </SCRIPT>
@@ -124,9 +125,10 @@ foreach my $opt (qw( svc_part pkgparts saved_pkgpart saved_domsvc prefix)) {
 }
 $opt{saved_domsvc} = 0 unless $opt{saved_domsvc};
 
-my @part_pkg = @{$opt{'part_pkg'}};
+my $url_prefix = $opt{'relurls'} ? '' : $p;
 
-my @first_svc = ( 'svc_acct', 'svc_phone' );
+my @part_pkg  = @{ $opt{'part_pkg'}  };
+my @first_svc = @{ $opt{'first_svc'} || [] };
 
 my %pkgpart_svcpart = ();
 my %svcdb = ();
@@ -139,21 +141,19 @@ foreach my $part_pkg ( @part_pkg ) {
   $layermap{$pkgpart_svcpart} = $svcdb{$pkgpart};
 }
 
-my @options = ( '', map $pkgpart_svcpart{ $_->pkgpart }, @part_pkg );
-my %labels = ( '' => '(none)',
+my @options = ();
+push @options, '' unless $opt{'disable_empty'};
+push @options, map $pkgpart_svcpart{ $_->pkgpart }, @part_pkg;
+my %labels = ( '' => ( $opt{'empty_label'} || '(none)' ),
                map { $pkgpart_svcpart{ $_->pkgpart } => $_->pkg_comment }
                    @part_pkg
              );
 
 my $layer_callback = sub {
   my $layer = shift;
-  #$layer_fields, $layer_values, $layer_prefix
-
-#  my( $pkgpart, $svcpart ) = split('_', $layer);
-#  my $svcdb = $svcdb{$pkgpart};
   my $svcdb = $layer;
 
-  return '' unless $svcdb; #'<BR><BR><BR><BR><BR>'
+  return '' unless $svcdb; 
 
   #full path cause we're being slung around as a coderef (mason closures?)
   include("/edit/cust_main/first_pkg/$svcdb.html", %opt, );