X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Felements%2Fedit.html;h=b0c27e62afdd42b492f81d7952f45415aae44dc1;hb=e356f2ebb6564fe8d5333fc89bb4583ee3cd1fb1;hp=23d4db30d9bd5474497ba237d27f1ed5a681deba;hpb=87a986f35b347affed5f1e1ff5c5c7c59ccd4ad1;p=freeside.git diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html index 23d4db30d..b0c27e62a 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,7 @@ Example: % #text and derivitives % 'size' => $f->{'size'}, % 'maxlength' => $f->{'maxlength'}, +% 'postfix' => $f->{'postfix'}, % % #checkbox, title, fixed, hidden % #& deprecated weird value hashref used only by reason.html @@ -276,9 +290,17 @@ Example: % $include_common{$_} = $f->{$_} % foreach grep exists($f->{$_}), qw( empty_label ); % +% #select-table +% $include_common{$_} = $f->{$_} +% foreach grep exists($f->{$_}), qw( value_col ); +% $include_common{$_} = ref( $f->{$_} ) eq 'CODE' +% ? &{ $f->{$_} }( $cgi, $object ) #, $f ) +% : $f->{$_} +% foreach grep exists($f->{$_}), qw( extra_sql ); +% % #select-table, checkboxes-table % $include_common{$_} = $f->{$_} -% foreach grep exists($f->{$_}), qw( table name_col ); +% foreach grep exists($f->{$_}), qw( table name_col ); % % #checkboxes-table % $include_common{$_} = $f->{$_} @@ -286,13 +308,37 @@ Example: % % #*-table % $include_common{$_} = $f->{$_} -% foreach grep exists($f->{$_}), qw( hashref agent_virt agent_null_right ); +% foreach grep exists($f->{$_}), +% qw( hashref agent_virt agent_null agent_null_right ); +% +% # fixed +% $include_common{$_} = $f->{$_} +% foreach grep exists($f->{$_}), +% qw( formatted_value ); +% +% # select-country +% $include_common{$_} = $f->{$_} +% foreach grep exists($f->{$_}), +% qw( country ); +% +% #htmlarea +% $include_common{$_} = $f->{$_} +% foreach grep exists($f->{$_}), qw( width height ); +% % % 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 +361,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; % }; % @@ -356,12 +415,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 +436,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'} }; % } @@ -409,7 +471,7 @@ Example: % $label[0] = '/elements/tr-td-label.html'; <% include( @label ) %> - + <% include( @existing ) %> @@ -459,13 +521,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 +554,7 @@ Example: <% include( @include ) %> % } -% if ( $f->{'m2name_table'} || $f->{'m2m_method'} ) { +% if ( $f->{'m2name_table'} || $f->{'o2m_table'} || $f->{'m2m_method'} ) {