% include('/elements/xmlhttp.html',
'url' => $p.'misc/svc_acct-domains.cgi',
'subs' => [ $opt{'prefix'}. 'get_domains' ],
)
%>
<% include('/elements/xmlhttp.html',
'url' => $p.'misc/part_svc-columns.cgi',
'subs' => [ $opt{'prefix'}. 'get_part_svc' ],
)
%>
<% include( '/elements/selectlayers.html',
'field' => $opt{'prefix'}. 'pkgpart_svcpart',
'curr_value' => $opt{pkgpart_svcpart},
'options' => \@options,
'labels' => \%labels,
'html_between' => '',
#'onchange' => $opt{'prefix'}. 'pkgpart_svcpart_changed(this,0);',
'onchange' => $opt{'prefix'}. 'pkgpart_svcpart_changed_too(what,0)',
'layer_callback' => $layer_callback,
'layermap' => \%layermap,
)
%>
<%init>
my %opt = @_;
foreach my $opt (qw( svc_part pkgparts saved_pkgpart saved_domsvc prefix)) {
$opt{$_} = '' unless exists($opt{$_}) && defined($opt{$_});
}
$opt{saved_domsvc} = 0 unless $opt{saved_domsvc};
my @part_pkg = @{$opt{'part_pkg'}};
my @first_svc = ( 'svc_acct', 'svc_phone' );
my %pkgpart_svcpart = ();
my %svcdb = ();
my %layermap = ();
foreach my $part_pkg ( @part_pkg ) {
my $pkgpart = $part_pkg->pkgpart;
my $pkgpart_svcpart = $pkgpart. "_". $part_pkg->svcpart(\@first_svc);
$pkgpart_svcpart{$pkgpart} = $pkgpart_svcpart;
$svcdb{$pkgpart} = $part_pkg->part_svc(\@first_svc)->svcdb;
$layermap{$pkgpart_svcpart} = $svcdb{$pkgpart};
}
my @options = ( '', map $pkgpart_svcpart{ $_->pkgpart }, @part_pkg );
my %labels = ( '' => '(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; #'
'
#full path cause we're being slung around as a coderef (mason closures?)
include("/edit/cust_main/first_pkg/$svcdb.html", %opt, );
};
%init>