invoice_sections_with_taxes per-agent, RT#79636
[freeside.git] / httemplate / elements / tr-select-inventory_item.html
1 % if ( scalar(@classnums) == 0 ) {
2 <& tr-fixed.html, %opt &>
3 % } elsif ( scalar(@classnums) == 1 ) {
4 %   $opt{'extra_sql'} .= ' AND '.$classnum_sql;
5 <& tr-select-table.html,
6   'table'     => 'inventory_item',
7   'name_col'  => 'item',
8   'value_col' => 'item',
9   %opt
10 &>
11 % } else {
12 <& tr-td-label.html, %opt &>
13 <TD>
14 <& select-tiered.html,
15   'tiers' => [
16     {
17       field         => $opt{'field'}.'_classnum',
18       table         => 'inventory_class',
19       extra_sql     => "WHERE $classnum_sql",
20       name_col      => 'classname',
21       empty_label   => '(all)',
22     },
23     {
24       field         => $opt{'field'},
25       table         => 'inventory_item',
26       name_col      => 'item',
27       value_col     => 'item',
28       link_col      => 'classnum',
29       extra_sql     => delete($opt{'extra_sql'}),
30       disable_empty => 1,
31     },
32   ],
33   %opt,
34   'prefix' => $opt{'prefix'}. $opt{'field'}. '_', #after %opt so it overrides
35 &>
36 </TD>
37 </TR>
38 % }
39 <%init>
40
41 my %opt = @_;
42
43 my @classnums;
44 if (ref($opt{'classnum'})) {
45   @classnums = @{ $opt{'classnum'} };
46 } else {
47   @classnums = split(',', $opt{'classnum'});
48 }
49 my $classnum_sql = 'classnum IN('.join(',', @classnums).')';
50
51 </%init>