Merge branch 'master' of git.freeside.biz:/home/git/freeside
[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   'prefix' => $opt{'field'}.'_',
16   'tiers' => [
17     {
18       field         => $opt{'field'}.'_classnum',
19       table         => 'inventory_class',
20       extra_sql     => "WHERE $classnum_sql",
21       name_col      => 'classname',
22       empty_label   => '(all)',
23     },
24     {
25       field         => $opt{'field'},
26       table         => 'inventory_item',
27       name_col      => 'item',
28       value_col     => 'item',
29       link_col      => 'classnum',
30       extra_sql     => delete($opt{'extra_sql'}),
31       disable_empty => 1,
32     },
33   ],
34   %opt,
35 &>
36 </TD>
37 </TR>
38 % }
39 <%init>
40 my %opt = @_;
41 my @classnums;
42 if (ref($opt{'classnum'})) {
43   @classnums = @{ $opt{'classnum'} };
44 } else {
45   @classnums = split(',', $opt{'classnum'});
46 }
47 my $classnum_sql = 'classnum IN('.join(',', @classnums).')';
48 </%init>