From b01ab761f39fff06efb57cb7e1bb0d0c2638d43f Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Thu, 4 Sep 2014 07:08:43 +0100 Subject: [PATCH 1/7] Add report on unverified users. --- Kinza/lib/Kinza.pm | 8 ++++++++ Kinza/views/dummies.tt | 13 +++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 Kinza/views/dummies.tt diff --git a/Kinza/lib/Kinza.pm b/Kinza/lib/Kinza.pm index ce1b631..a0acf38 100644 --- a/Kinza/lib/Kinza.pm +++ b/Kinza/lib/Kinza.pm @@ -138,6 +138,14 @@ EO_EMAIL template 'saved', { student => $student }; }; +get '/dummies' => sub { + my @students = $student_rs->search({ + verify => { '!=' => undef }, + }); + + template 'dummies', { students => \@students }; +}; + get '/register' => sub { my $error = session('error'); session 'error' => undef; diff --git a/Kinza/views/dummies.tt b/Kinza/views/dummies.tt new file mode 100644 index 0000000..0f353c2 --- /dev/null +++ b/Kinza/views/dummies.tt @@ -0,0 +1,13 @@ +

Unverified Users

+

The following users are currently unverified:

+ + + + + +[% FOREACH s IN students -%] + + + +[% END -%] +
NameEmail
[% s.name %][% s.email %]
From da8682dbc492a6e4a250bad7503e74ceb10c73dc Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Thu, 4 Sep 2014 08:10:40 +0100 Subject: [PATCH 2/7] 'Come back later' message. --- Kinza/lib/Kinza.pm | 41 ++++++++++++++++++++++++++++++++++++++- Kinza/views/comingsoon.tt | 2 ++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 Kinza/views/comingsoon.tt diff --git a/Kinza/lib/Kinza.pm b/Kinza/lib/Kinza.pm index a0acf38..4c73a81 100644 --- a/Kinza/lib/Kinza.pm +++ b/Kinza/lib/Kinza.pm @@ -3,6 +3,7 @@ use Dancer ':syntax'; use Dancer::Plugin::DBIC; use Dancer::Plugin::Email; use Dancer::Plugin::Passphrase; +use DateTime; our $VERSION = '0.1'; @@ -33,8 +34,10 @@ hook before_template => sub { $params->{email} = session('email'); }; - get '/' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my $error = session('error'); session 'error' => undef; my $choices = session('choices'); @@ -61,6 +64,9 @@ get '/' => sub { }; post '/save' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my %params = params; session 'choices' => { reverse %params }; @@ -147,6 +153,9 @@ get '/dummies' => sub { }; get '/register' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my $error = session('error'); session 'error' => undef; template 'register', { @@ -155,6 +164,9 @@ get '/register' => sub { }; post '/register' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } unless (param('email') and param('password') and param('password2')) { session 'error' => 'You must fill in all values'; @@ -192,6 +204,9 @@ post '/register' => sub { }; get '/verify/:code' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my $code = param('code'); my $student = $student_rs->find({ @@ -210,6 +225,9 @@ get '/verify/:code' => sub { }; get '/resend' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my $student = $student_rs->find({ email => session('email'), }); @@ -222,6 +240,9 @@ get '/resend' => sub { }; post '/resend' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my $student = $student_rs->find({ email => session('email'), }); @@ -243,12 +264,18 @@ post '/resend' => sub { }; get '/login' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my $error = session('error'); session 'error' => undef; template 'login', { error => $error }; }; post '/login' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } session 'email' => undef; session 'name' => undef; @@ -288,12 +315,18 @@ get '/logout' => sub { }; get '/password' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my $error = session('error'); session 'error' => undef; template 'password', { error => $error }; }; post '/password' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } unless (params->{email}) { session 'error' => 'You must give an email address'; return redirect '/password'; @@ -339,6 +372,9 @@ EO_EMAIL }; get '/passreset/:code' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my $code = param('code'); my $ps = schema->resultset('PasswordReset')->find({ code => $code, @@ -354,6 +390,9 @@ get '/passreset/:code' => sub { }; post '/passreset' => sub { + if (DateTime->now le '2014-09-04T13:$5') { + return template 'comingsoon'; + } my $code = session('code'); unless ($code) { diff --git a/Kinza/views/comingsoon.tt b/Kinza/views/comingsoon.tt new file mode 100644 index 0000000..5015b36 --- /dev/null +++ b/Kinza/views/comingsoon.tt @@ -0,0 +1,2 @@ +

SCHS Kinza 2014/15

+

Please come back later to register.

From 159f822d0a76d8a81c6cb2d947739215f3fb6581 Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Thu, 4 Sep 2014 08:12:50 +0100 Subject: [PATCH 3/7] Fixed opening time --- Kinza/lib/Kinza.pm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Kinza/lib/Kinza.pm b/Kinza/lib/Kinza.pm index 4c73a81..8f516e8 100644 --- a/Kinza/lib/Kinza.pm +++ b/Kinza/lib/Kinza.pm @@ -35,7 +35,7 @@ hook before_template => sub { }; get '/' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my $error = session('error'); @@ -64,7 +64,7 @@ get '/' => sub { }; post '/save' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my %params = params; @@ -153,7 +153,7 @@ get '/dummies' => sub { }; get '/register' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my $error = session('error'); @@ -164,7 +164,7 @@ get '/register' => sub { }; post '/register' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } unless (param('email') @@ -204,7 +204,7 @@ post '/register' => sub { }; get '/verify/:code' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my $code = param('code'); @@ -225,7 +225,7 @@ get '/verify/:code' => sub { }; get '/resend' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my $student = $student_rs->find({ @@ -240,7 +240,7 @@ get '/resend' => sub { }; post '/resend' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my $student = $student_rs->find({ @@ -264,7 +264,7 @@ post '/resend' => sub { }; get '/login' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my $error = session('error'); @@ -273,7 +273,7 @@ get '/login' => sub { }; post '/login' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } session 'email' => undef; @@ -315,7 +315,7 @@ get '/logout' => sub { }; get '/password' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my $error = session('error'); @@ -324,7 +324,7 @@ get '/password' => sub { }; post '/password' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } unless (params->{email}) { @@ -372,7 +372,7 @@ EO_EMAIL }; get '/passreset/:code' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my $code = param('code'); @@ -390,7 +390,7 @@ get '/passreset/:code' => sub { }; post '/passreset' => sub { - if (DateTime->now le '2014-09-04T13:$5') { + if (DateTime->now le '2014-09-04T12:45') { return template 'comingsoon'; } my $code = session('code'); From f4b332a948762c1043c75ceabd12d8b018186c5d Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Thu, 4 Sep 2014 10:26:03 +0100 Subject: [PATCH 4/7] Fix timezone. Make live checks simpler. --- Kinza/lib/Kinza.pm | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/Kinza/lib/Kinza.pm b/Kinza/lib/Kinza.pm index 8f516e8..6d04246 100644 --- a/Kinza/lib/Kinza.pm +++ b/Kinza/lib/Kinza.pm @@ -20,6 +20,9 @@ my $course_rs = schema()->resultset('Course'); my $pres_rs = schema()->resultset('Presentation'); my $pass_rs = schema()->resultset('PasswordReset'); +my $now = DateTime->now(time_zone => 'Europe/London'); +my $live = '2014-09-04T12:45'; + my %private = map { $_ => 1 } qw[/submit]; hook before => sub { @@ -35,7 +38,7 @@ hook before_template => sub { }; get '/' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my $error = session('error'); @@ -64,7 +67,7 @@ get '/' => sub { }; post '/save' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my %params = params; @@ -153,7 +156,7 @@ get '/dummies' => sub { }; get '/register' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my $error = session('error'); @@ -164,7 +167,7 @@ get '/register' => sub { }; post '/register' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } unless (param('email') @@ -204,7 +207,7 @@ post '/register' => sub { }; get '/verify/:code' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my $code = param('code'); @@ -225,7 +228,7 @@ get '/verify/:code' => sub { }; get '/resend' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my $student = $student_rs->find({ @@ -240,7 +243,7 @@ get '/resend' => sub { }; post '/resend' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my $student = $student_rs->find({ @@ -264,7 +267,7 @@ post '/resend' => sub { }; get '/login' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my $error = session('error'); @@ -273,7 +276,7 @@ get '/login' => sub { }; post '/login' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } session 'email' => undef; @@ -315,7 +318,7 @@ get '/logout' => sub { }; get '/password' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my $error = session('error'); @@ -324,7 +327,7 @@ get '/password' => sub { }; post '/password' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } unless (params->{email}) { @@ -372,7 +375,7 @@ EO_EMAIL }; get '/passreset/:code' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my $code = param('code'); @@ -390,7 +393,7 @@ get '/passreset/:code' => sub { }; post '/passreset' => sub { - if (DateTime->now le '2014-09-04T12:45') { + if ($now le $live) { return template 'comingsoon'; } my $code = session('code'); From ff2b1db7bfb8890c125027249103f415897807c4 Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Thu, 4 Sep 2014 17:36:29 +0100 Subject: [PATCH 5/7] Add counter to dummies loop. --- Kinza/views/dummies.tt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Kinza/views/dummies.tt b/Kinza/views/dummies.tt index 0f353c2..7143ee6 100644 --- a/Kinza/views/dummies.tt +++ b/Kinza/views/dummies.tt @@ -2,12 +2,13 @@

The following users are currently unverified:

+ [% FOREACH s IN students -%] - + [% END -%]
# Name Email
[% s.name %][% s.email %][% loop.count ][% s.name %][% s.email %]
From 2b90227c67784864b5ef8681169372445aca66d1 Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Thu, 4 Sep 2014 17:38:52 +0100 Subject: [PATCH 6/7] Fix typo --- Kinza/views/dummies.tt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kinza/views/dummies.tt b/Kinza/views/dummies.tt index 7143ee6..d34d3c4 100644 --- a/Kinza/views/dummies.tt +++ b/Kinza/views/dummies.tt @@ -8,7 +8,7 @@ [% FOREACH s IN students -%] -[% loop.count ][% s.name %][% s.email %] +[% loop.count %][% s.name %][% s.email %] [% END -%] From f3d4605395c32a147edad43faf45da67356aab6f Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Fri, 5 Sep 2014 17:02:34 +0100 Subject: [PATCH 7/7] Force students to give a name --- Kinza/lib/Kinza.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kinza/lib/Kinza.pm b/Kinza/lib/Kinza.pm index 6d04246..e0fa1f8 100644 --- a/Kinza/lib/Kinza.pm +++ b/Kinza/lib/Kinza.pm @@ -170,7 +170,7 @@ post '/register' => sub { if ($now le $live) { return template 'comingsoon'; } - unless (param('email') + unless (param('name') and param('email') and param('password') and param('password2')) { session 'error' => 'You must fill in all values'; return redirect '/register';