sub en_display { # Display 'full signup or enroll' form my $self = shift; my $errs = shift; my $form_output =''; my $sess = $self->param('up_session'); my %data = ''; my $page = $self->load_tmpl('gila/index.html'); my $form = $self->load_tmpl('ap_enroll.html', die_on_bad_params => 0); # If _IS_USER is present and _IS_REGISTERED is set then we have partial data in the DB. if ( $sess->param('_IS_USER') && $sess->param('_IS_REGISTERED') && !ref $errs ) { my $obj = AppSys::User->search( 'upusername' => $sess->param('_IS_USER')); while ( my $usr = $obj->next ) { foreach ( $usr->columns ) { $data{$_} = $usr->$_; } } # Get partial data into form, add to page and output my $fif = HTML::FillInForm->new(); $fif->fill(scalarref => \$form, fdat => \%data); $page->param('form_text' => $form->output()); return $page->output(); } elsif ( ref $errs ) { # If there are errors then D::FV has handled HTML stuff $form->param($errs); $page->param('form_text' => $form->output()); return $page->output(); } else { # No partial, no errors, just output blank form $page->param('form_text' => $form->output()); return $page->output(); } }