'name_col' => 'name_column',
#or
- 'name_callback' => sub { },
+ #not yet 'name_callback' => sub { },
'names_list' => [ 'value',
'other value',
</%doc>
-<TABLE CELLSPACING=0 CELLPADDING=0>
-
-% foreach my $item ( @{ $opt{'names_list'} } ) {
-%
-% my $name = ref($item) ? $item->[0] : $item;
-% ( my $display = $name ) =~ s/ / /g;
-% $display .= $item->[1]{note} if ref($item) && $item->[1]{note};
-% my $desc = ref($item) && $item->[1]{desc} ? $item->[1]{desc} : '';
-%
-% my $checked;
-% if ( $cgi->param('error') ) {
-%
-% $checked = $cgi->param($opt{'link_table'}. ".$name" )
-% ? 'CHECKED'
-% : '';
-%
-% } else {
-%
-% $checked =
-% qsearchs( $opt{'link_table'}, {
-% $source_pkey => $sourcenum,
-% $opt{'name_col'} => $name,
-% %$link_static,
-% } )
-% ? 'CHECKED'
-% : ''
-%
-% }
-
- <TR>
- <TD VALIGN="top">
- <INPUT TYPE="checkbox" NAME="<% $opt{'link_table'}. ".$name" %>" <% $checked %> VALUE="ON">
- </TD>
- <TD><% $display %>
-% if ( $desc ) {
- <BR><FONT SIZE="-2"><% $desc %></FONT>
-% }
- </TD>
- </TR>
-
-% }
-
-</TABLE>
+<% include('checkboxes.html',
+ 'names_list' => $opt{'names_list'},
+ 'checked_callback' => $checked_callback,
+ 'element_name_prefix' => $opt{'link_table'}. '.',
+ 'disable_links' => $opt{'disable_links'},
+ )
+%>
<%init>
my( %opt ) = @_;
+my @pset = ( 'a'..'z', 'A'..'Z', '0'..'9' );
+
+my $prefix = $opt{prefix}
+ || join('', map $pset[ int(rand $#pset) ], (0..20) );
+
my( $source_pkey, $sourcenum, $source_obj );
if ( $opt{'source_obj'} ) {
my $link_static = $opt{'link_static'} || {};
+my $checked_callback = sub {
+ my( $cgi, $name ) = @_;
+ qsearchs( $opt{'link_table'}, {
+ $source_pkey => $sourcenum,
+ $opt{'name_col'} => $name,
+ %$link_static,
+ });
+};
+
</%init>