'disabled' => 0,
'onchange' => 'javascript_function',
- #m2 stuff only tested w/selectlayers so far
- #might work w/select too, dunno others
+ 'include_opt_callback' => sub { #my $ = @_;
+ ( 'option' => 'value', );
+ },
+
'm2name_table' => 'table_name',
'm2name_namecol' => 'name_column',
#OR#
'm2m_method' =>
#'m2m_srccol' => #opt, if not the same as this table
'm2m_dstcol' => #required for now, eventuaully opt, if not the same as target table
+ #OR#
+ 'o2m_table' =>
'm2_label' => 'Label', #
'm2_new_default' => \@table_name_objects, #default
% $layer_values = &{ $f->{'layer_values_callback'} }( $cgi, $object )
% if $f->{'layer_values_callback'}
% && ! $f->{'m2name_table'}
+% && ! $f->{'o2m_table'}
% && ! $f->{'m2m_method'};
%
% warn "layer values: ". Dumper($layer_values)
% $include_common{'colspan'} = $f->{colspan} if $f->{colspan};
% }
%
+% if ( $f->{include_opt_callback} ) {
+% %include_common = ( %include_common, &{ $f->{include_opt_callback} } );
+% }
+%
% my $layer_prefix_on = '';
%
% my $include_sub = sub {
%
% my $fieldnum = '';
% my $curr_value = '';
-% if ( $f->{'m2name_table'} || $f->{'m2m_method'} ) { #XXX test this for all
-% #types of fields
+% if ( $f->{'m2name_table'} || $f->{'o2m_table'} || $f->{'m2m_method'} ) {
+%
% my($table, $col);
% if ( $f->{'m2name_table'} ) {
% $table = $f->{'m2name_table'};
% $col = $f->{'m2name_namecol'};
+% } elsif ( $f->{'o2m_table'} ) {
+% $table = $f->{'o2m_table'};
+% $col = dbdef->table($f->{'o2m_table'})->primary_key;
% } elsif ( $f->{'m2m_method'} ) {
% $table = $f->{'m2m_method'};
% $col = $f->{'m2m_dstcol'};
% @existing = &{ $f->{'m2_error_callback'} }( $cgi, $object );
% } elsif ( $object->$pkey() ) { # $mode eq 'edit'||'clone'
% @existing = $object->$table();
-% warn scalar(@existing). " from $object->$table: ". join('/', @existing)
-% if $opt{'debug'};
+% warn scalar(@existing). " from $object->$table: ". join('/', @existing)
+% if $opt{'debug'};
% } elsif ( $f->{'m2_new_default'} ) { # && $mode eq 'new'
% @existing = @{ $f->{'m2_new_default'} };
% }
% ( $fieldnum ? ('cell_style' => 'border-top:1px solid black') : () ),
% );
%
-% if ( $f->{'m2name_table'} || $f->{'m2m_method'} ) {
+% if ( $f->{'m2name_table'} || $f->{'o2m_table'} || $f->{'m2m_method'} ) {
% $include[0] =~ s(^/elements/tr-)(/elements/);
% my @label = @include;
% $label[0] = '/elements/tr-td-label.html';
<% include( @include ) %>
% }
-% if ( $f->{'m2name_table'} || $f->{'m2m_method'} ) {
+% if ( $f->{'m2name_table'} || $f->{'o2m_table'} || $f->{'m2m_method'} ) {
<SCRIPT TYPE="text/javascript">