diff options
Diffstat (limited to 'httemplate/elements/select-part_pkg.html')
-rw-r--r-- | httemplate/elements/select-part_pkg.html | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/httemplate/elements/select-part_pkg.html b/httemplate/elements/select-part_pkg.html new file mode 100644 index 0000000..885bb80 --- /dev/null +++ b/httemplate/elements/select-part_pkg.html @@ -0,0 +1,51 @@ +<%doc> + +Example: + + include( '/elements/select-part_pkg.html', + + #strongly recommended (you want your forms to be "sticky" on errors, right?) + 'curr_value' => 'current_value', + + #opt + 'part_pkg' => \@records, + + #select-table.html options + ) + +</%doc> + +<% include( '/elements/select-table.html', + 'table' => 'part_pkg', + 'agent_virt' => 1, + 'agent_null' => 1, + 'name_col' => 'pkg', + 'empty_label' => 'Select package', #should this be the default? + 'label_callback' => sub { shift->pkg_comment }, + 'hashref' => \%hash, + 'extra_option_attributes' => [ 'can_discount' ], + %opt, + ) +%> +<%init> + +my( %opt ) = @_; + +$opt{'records'} = delete $opt{'part_pkg'} + if $opt{'part_pkg'}; + +my %hash = (); +$hash{'disabled'} = '' unless $opt{'showdisabled'}; + +if ( exists($opt{'classnum'}) && defined($opt{'classnum'}) ) { + if ( $opt{'classnum'} > 0 ) { + $hash{'classnum'} = $opt{'classnum'}; + } elsif ( $opt{'classnum'} eq '' || $opt{'classnum'} == 0 ) { + $hash{'classnum'} = ''; + } #else -1 or not specified, all classes, so don't set classnum +} + +$opt{'extra_sql'} .= ( keys(%hash) ? ' AND ' : ' WHERE ' ). + FS::part_pkg->curuser_pkgs_sql; + +</%init> |