From 58dca90a87df3a8de108c3f92f6f3017da734d96 Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Thu, 28 Apr 2016 20:19:49 -0700 Subject: more convenient selection of domain in svc_acct definition, #40962 --- httemplate/elements/select-svc.html | 73 +++++++++++++++++++++++++++++++++++++ httemplate/elements/select.html | 1 + 2 files changed, 74 insertions(+) create mode 100644 httemplate/elements/select-svc.html (limited to 'httemplate/elements') diff --git a/httemplate/elements/select-svc.html b/httemplate/elements/select-svc.html new file mode 100644 index 000000000..b439a2852 --- /dev/null +++ b/httemplate/elements/select-svc.html @@ -0,0 +1,73 @@ +<%init> +my %opt = @_; +my $svcdb = $opt{table}; +my $field = $opt{field} || 'svcnum'; +my $id = $opt{id} || $opt{field}; +my $curr_value = [ split(',', $opt{curr_value} || '') ]; +my $label = $opt{name_col} || 'label'; + +# cut-down, jquerified version of select-tiered +# XXX do we need to agent-virt this? edit/part_svc is Configuration-access. +my @part_svc = qsearch('part_svc', { + disabled => '', + svcdb => $svcdb +}); +my %labels; # service labels, of some kind +my %values; # svcnums +my (@all_l, @all_v); +foreach my $part_svc (@part_svc) { + my (@l, @v); + foreach my $svc_x (qsearch({ + 'table' => 'cust_svc', + 'addl_from' => " JOIN $svcdb USING (svcnum)", + 'select' => "$svcdb.*, cust_svc.svcpart", + 'hashref' => { 'svcpart' => $part_svc->svcpart }, + })) + { + push @l, $svc_x->$label; + push @all_l, $svc_x->$label; + push @v, $svc_x->svcnum; + push @all_v, $svc_x->svcnum; + } + $labels{ $part_svc->svcpart } = \@l; + $values{ $part_svc->svcpart } = \@v; +} +$labels{ '' } = \@all_l; +$values{ '' } = \@all_v; + + +<& /elements/select-table.html, + 'table' => 'part_svc', + 'records' => \@part_svc, + 'id' => $id.'_svcpart', + 'name_col' => 'svc', + 'empty_label' => 'any', + 'curr_value' => '', + 'field' => $id.'_svcpart', # avoid confusion with any other field +&> +
+<& /elements/select.html, + %opt, + 'field' => $field, + 'id' => $id, +&> + diff --git a/httemplate/elements/select.html b/httemplate/elements/select.html index 4492681de..59010c140 100644 --- a/httemplate/elements/select.html +++ b/httemplate/elements/select.html @@ -9,6 +9,7 @@ <% $style %> <% $opt{disabled} %> <% $onchange %> + <% $opt{'element_etc'} %> > % if ( $opt{options} ) { -- cgit v1.2.1