DBIx-Browse
view release on metacpan or search on metacpan
else {
$redo_query = 0;
}
if ( $redo_query ) {
$sth->execute() or $self->die();
$row = $sth->fetchrow_hashref('NAME_lc') or $self->die();
}
# debug info
if ($self->debug) {
my $parstr = 'Parameters: ';
my @P = $q->param;
foreach my $p ( @P ) {
$parstr .= "$p = ".$q->param($p).$q->br();
}
$self->debug($parstr);
}
$self->add_request(
$self->open_form($rec),
$q->hidden( -name => 'where_clause' ));
# include search info
foreach my $f ( @forder ) {
$self->add_request(
$q->hidden({
-name => 'search.'.$columns[$f]
})
);
}
$self->add_request($q->start_table);
my $style;
foreach my $f ( @forder ) {
$style = $self->style_class($f);
my $tf = {
-name => $columns[$f],
-default => $row->{$columns[$f]},
};
if ($flength[$f]) {$tf->{'-size'} = $flength[$f]};
$self->add_request(
$q->start_Tr,"\n",
$q->th(ucfirst($fnames[$f])),"\n",
$q->start_td( {-class => "$style"} ));
if ($f < @{$self->{non_linked}} ) {
# Set the param
$q->param(-name => $columns[$f],
-value => $row->{$columns[$f]});
$self->add_request( $q->textfield($tf));
}
else {
### value list ###
my $fvalues = $self->field_values($f);
# Set the param
$q->param(-name => $columns[$f],
-value => $row->{$columns[$f]});
# PopUp
$self->add_request( $q->popup_menu(
-name => $columns[$f],
-values => $fvalues,
-default => $row->{$columns[$f]},
));
}
$self->add_request(
$q->end_td,"\n",$q->end_Tr
);
}
# Editor
$self->add_request(
$q->start_Tr,
$q->start_td( {
-colspan => 2,
-align => 'center' }));
$self->editor();
$self->add_request(
$q->end_td,
$q->end_Tr);
#Navigator
$self->add_request(
$q->start_Tr,
$q->start_td( {
-colspan => 2,
-align => 'center'
}));
$self->navigator('Edit');
$self->add_request(
$q->end_td,
$q->end_Tr);
# End table
$self->add_request(
$q->end_table);
$self->close_form;
# print page
$self->flush;
}
#
# open_form
#
sub open_form {
my $self = shift;
my $rec = shift;
my $q = $self->{cgi};
my $text = '';
$text = $q->start_multipart_form( -name => 'Browser_'.$self->{table}, -method => 'POST' );
$text .= "\n".$q->hidden(-name => 'record_number', -value => "$rec");
if( my @fparams = keys %{$self->{form_params}} ) {
$self->debug('Form Params: '.join(', ', @fparams));
foreach my $p ( @fparams ) {
$text .= $q->hidden(
-name => $p,
-value => $self->{form_params}->{$p}
);
}
}
return $text;
}
( run in 3.573 seconds using v1.01-cache-2.11-cpan-364913b4093 )