X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fedit%2Felements%2Fedit.html;h=f5698d98ec0ce59c10b675eb41892f2ee61897b3;hb=31f2e890b5b3e1b0ad29a877ff67bc641ea1fc40;hp=e290bdb86056f936aaaaa11311ad7adddb4b694c;hpb=3d76fb8e984b75d67e5f96f51cfd7761a22736e1;p=freeside.git diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html index e290bdb86..f5698d98e 100644 --- a/httemplate/edit/elements/edit.html +++ b/httemplate/edit/elements/edit.html @@ -40,14 +40,18 @@ Example: '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 $object = @_; + ( '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 @@ -92,6 +96,7 @@ Example: #agent virtualization 'agent_virt' => 1, + 'agent_null' => 1, #if true, always allow no-agentnum globals 'agent_null_right' => 'Access Right Name', 'agent_clone_extra_sql' => '', #if provided, this overrides the extra_sql #implementing agent virt, for clone @@ -125,6 +130,9 @@ Example: "html_string"; }, + #javascript function name, will be called with form name as arg + 'onsubmit' => 'check_form_data', + #at the very bottom (well, as low as you can go from here) 'html_foot' => '', @@ -197,7 +205,11 @@ Example: % my $url = $opt{'post_url'} || popurl(1)."process/$table.html"; -
+ +> @@ -235,6 +247,7 @@ Example: % $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) @@ -245,6 +258,11 @@ Example: % #text and derivitives % 'size' => $f->{'size'}, % 'maxlength' => $f->{'maxlength'}, +% 'postfix' => $f->{'postfix'}, +% +% #textarea +% 'rows' => $f->{'rows'}, +% 'cols' => $f->{'cols'}, % % #checkbox, title, fixed, hidden % #& deprecated weird value hashref used only by reason.html @@ -254,6 +272,7 @@ Example: % 'options' => $f->{'options'}, % 'labels' => $f->{'labels'}, % 'multiple' => $f->{'multiple'}, +% 'label_showkey' => $f->{'label_showkey'}, % 'disable_empty' => $f->{'disable_empty'}, % #select-reason % 'reason_class' => $f->{'reason_class'}, @@ -265,34 +284,43 @@ Example: % % #umm. for select-agent_types at least % 'disabled' => $f->{'disabled'}, -% ); % -% #selectlayers, others? -% $include_common{$_} = $f->{$_} -% foreach grep exists($f->{$_}), -% qw( js_only html_only select_only layers_only cell_style); -% -% #select-* -% $include_common{$_} = $f->{$_} -% foreach grep exists($f->{$_}), qw( empty_label ); -% -% #select-table, checkboxes-table -% $include_common{$_} = $f->{$_} -% foreach grep exists($f->{$_}), qw( table name_col ); -% -% #checkboxes-table -% $include_common{$_} = $f->{$_} -% foreach grep exists($f->{$_}), qw( target_table link_table ); +% #any? +% 'colspan' => $f->{'colspan'}, +% ); % -% #*-table -% $include_common{$_} = $f->{$_} -% foreach grep exists($f->{$_}), qw( hashref agent_virt agent_null_right ); +% $include_common{$_} = $f->{$_} foreach grep exists($f->{$_}), +% qw( js_only html_only select_only layers_only cell_style ),#selectlayers,? +% qw( empty_label ), # select-* +% qw( value_col ), # select-table +% qw( table name_col ), #(select,checkboxes)-table +% qw( target_table link_table ), #checkboxes-table +% qw( hashref agent_virt agent_null agent_null_right ),#*-table +% qw( formatted_value ), #fixed +% qw( country ), #select-country +% qw( width height ), #htmlarea +% qw( alt_format ), #select-cust_location +% ; +% +% #select-table +% $include_common{$_} = ref( $f->{$_} ) eq 'CODE' +% ? &{ $f->{$_} }( $cgi, $object ) #, $f ) +% : $f->{$_} +% foreach grep exists($f->{$_}), qw( extra_sql ); % % if ( $type eq 'tablebreak-tr-title' ) { % $include_common{'table_id'} = 'TableNumber'. $tablenum++; +% } +% if ( $type eq 'tablebreak-tr-title' || $type eq 'title' ) { % $include_common{'colspan'} = $f->{colspan} if $f->{colspan}; % } % +% if ( $f->{include_opt_callback} ) { +% %include_common = ( %include_common, +% &{ $f->{include_opt_callback} }( $object ) +% ); +% } +% % my $layer_prefix_on = ''; % % my $include_sub = sub { @@ -315,6 +343,19 @@ Example: % %include_common, % %opt, % ); +% +% if ( $include eq 'tr-input-date-field' ) { +% # it's either hacking it here, or changing a lot more stuff +% @include = ( +% "/elements/$include.html", { +% 'name' => $field, +% 'value' => $opt{curr_value}, +% 'label' => $label, +% 'noinit' => $f->{noinit}, +% } +% ); +% } +% % @include; % }; % @@ -343,6 +384,7 @@ Example: % $g_row = 1 if $type eq 'tablebreak-tr-title'; % $g_row++; % $g_row++ if $type eq 'title'; +% $g_row += scalar( @{ $f->{options} } )-1 if $type eq 'radio'; % } else { % if ( $type eq 'columnstart' ) { % push @g_row_stack, $g_row; @@ -356,12 +398,15 @@ Example: % % 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'}; @@ -374,8 +419,8 @@ Example: % @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'} }; % } @@ -395,7 +440,7 @@ Example: % } % warn "layer values: ". Dumper($layer_values) % if $opt{'debug'}; -% +% % my @existing = &{ $include_sub }( % 'label' => $ex_label, % 'fieldnum' => $fieldnum, @@ -409,7 +454,7 @@ Example: % $label[0] = '/elements/tr-td-label.html'; <% include( @label ) %> - + <% include( @existing ) %> @@ -459,13 +504,13 @@ Example: % ( $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( @label ) %> - + <% include( @include ) %> @@ -492,7 +537,7 @@ Example: <% include( @include ) %> % } -% if ( $f->{'m2name_table'} || $f->{'m2m_method'} ) { +% if ( $f->{'m2name_table'} || $f->{'o2m_table'} || $f->{'m2m_method'} ) {