X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Felements%2Fedit.html;h=4159f0407efa2403b35c095d7eec8ac625ec4c6c;hb=89cea41d2bd7887a5b6b067ea5fb3f7bfa3b1a26;hp=4fe32c15debcc2682f9facd9305b88ebcd4e644c;hpb=9ad4f8407cc106ef5815e65bce2ee873cd0896c2;p=freeside.git diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html index 4fe32c15d..4159f0407 100644 --- a/httemplate/edit/elements/edit.html +++ b/httemplate/edit/elements/edit.html @@ -2,7 +2,7 @@ Example: - include( 'elements/edit.html', + <& elements/edit.html, 'name_singular' => #singular name for the record # (preferred, will be pluralized automatically) 'name' => #name for the record @@ -40,7 +40,7 @@ Example: 'disabled' => 0, 'onchange' => 'javascript_function', - 'include_opt_callback' => sub { #my $ = @_; + 'include_opt_callback' => sub { my $object = @_; ( 'option' => 'value', ); }, @@ -96,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 @@ -129,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' => '', @@ -178,7 +182,7 @@ Example: #run before display to manipulate element of the 'fields' arrayref 'field_callback' => sub { my( $cgi, $object, $field_hashref ) = @_; }, - ); + &> @@ -201,7 +205,11 @@ Example: % my $url = $opt{'post_url'} || popurl(1)."process/$table.html"; -
+ +> @@ -250,15 +258,24 @@ 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 % 'value' => $f->{'value'}, % +% #fixed +% 'noescape' => $f->{'noescape'}, +% % #select(-*) % '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'}, @@ -270,36 +287,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 ); +% 'fixed' => $f->{'fixed'}, % -% #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'}, +% 'required' => $f->{'required'}, +% ); % -% #*-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 compare_sub ), # 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} } ); +% %include_common = ( %include_common, +% &{ $f->{include_opt_callback} }( $object ) +% ); % } % % my $layer_prefix_on = ''; @@ -324,6 +348,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; % }; % @@ -352,6 +389,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; @@ -407,7 +445,7 @@ Example: % } % warn "layer values: ". Dumper($layer_values) % if $opt{'debug'}; -% +% % my @existing = &{ $include_sub }( % 'label' => $ex_label, % 'fieldnum' => $fieldnum, @@ -455,7 +493,7 @@ Example: % if ( $f->{curr_value_callback} ) { % $curr_value = &{ $f->{curr_value_callback} }( $cgi, $object, $field ), % } else { -% $curr_value = $object->$field(); +% $curr_value = $object->$field() if $field; % } % $curr_value = &{ $opt{'value_callback'} }( $f->{'field'}, $curr_value ) % if $opt{'value_callback'} && $mode ne 'error'; @@ -515,10 +553,10 @@ Example: // only spawn if we're the last element... return if not - var field_regex = /(\d+)(_[a-z]+)?$/; + var field_regex = /(\d+)(_[a-z_]+)?$/; var match = field_regex.exec(what.name); if ( !match ) { - alert(what.name + " didn't match?!"); + alert(what.name + " didn't match for " + what); return; } if ( match[1] != <%$field%>_fieldnum ) { @@ -543,8 +581,9 @@ Example: var newrow = <% include(@layer_opt, html_only=>1) |js_string %>; -% if ( $type eq 'selectlayers' ) { #until the rest have html/js_only - var newfunc = <% include(@layer_opt, js_only =>1) |js_string %>; +% #until the rest have html/js_only +% if ( $type eq 'selectlayers' || $type =~ /^select-cgp_rule_/ ) { + var newfunc = <% include(@layer_opt, js_only=>1) |js_string %>; % } else { var newfunc = ''; % } @@ -690,7 +729,15 @@ Example:
-"> +% unless ($opt{'no_submit'}) { + " + > +% }
@@ -715,6 +762,7 @@ my $fields = $opt{'fields'} || [ grep { $_ ne $pkey } fields($table) ]; #my @actualfields = map { ref($_) ? $_->{'field'} : $_ } @$fields; +#$m->comp('/elements/handle_uri_query'); if ( $cgi->param('redirect') ) { my $session = $cgi->param('redirect'); my $pref = $curuser->option("redirect$session");