package Testcase;
use base 'CGI::Application';
use CGI::Application::Plugin::DBH qw(dbh_config dbh);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use strict;
use warnings 'all';
sub setup {
my $self = shift;
$self->run_modes(
'login_page' => 'show_login_page',
'validate_login' => 'validate_login',
'user_results' => 'show_user_results_page',
'logout' => 'show_logout_page',
);
$self->start_mode('login_page');
$self->mode_param('run_mode');
}
sub show_login_page {
my $self = shift;
my $q = $self->query();
my $title = 'Login Page';
my $output = '';
$output .= $q->start_html(-title => $title) . "
$title
\n";
$output .= $q->start_form();
$output .= "Email: " . $q->textfield(-name => 'entered_email', -size => 30, -maxlength => 50) . "
\n";
$output .= "Password: " . $q->password_field(-name => 'entered_password', -size => 20, -maxlength => 20) . "
\n";
$output .= $q->submit('Login');
$output .= $q->hidden(-name => 'run_mode', -value => 'validate_login');
$output .= $q->end_form;
$output .= $q->end_html;
return $output;
}
sub validate_login {
my $self = shift;
my $q = $self->query();
my $title = "Welcome";
my $output = '';
$output .= $q->start_html(-title => $title) . "$title
\n";
$output .= $q->p(qq(Welcome! To view your results, click the button below));
$output .= $q->start_form();
$output .= $q->submit('Results');
$output .= $q->hidden(-name => 'run_mode', -value => 'user_results');
$output .= $q->end_form;
$output .= $q->end_html;
return $output;
}
sub show_user_results_page {
}
sub show_logout_page {
}
1;