[prev] [thread] [next] [lurker] [Date index for 2003/11/25]
Author: gabor
Date: 2003-11-25 16:26:44 +0200 (Tue, 25 Nov 2003)
New Revision: 47
Modified:
lib/YAPC/Organizer.pm
t/03-web-adduser.t
templates/lost_validation.tmpl
Log:
fix crash when accessing lost_validation.html page
Modified: lib/YAPC/Organizer.pm
===================================================================
--- lib/YAPC/Organizer.pm 2003-11-25 14:12:40 UTC (rev 46)
+++ lib/YAPC/Organizer.pm 2003-11-25 14:26:44 UTC (rev 47)
@@ -171,14 +171,24 @@
my $self = shift;
my $q = $self->query;
- my ($person) = YAPC::Person->search(email => $q->param('email'));
- if (not $person) {
- my $t = $self->_server_page('lost_validation');
- $t->param(MESSAGE => 'No such e-mail');
- return $t->output;
- }
-
- my $t = $self->_server_page('email_sent');
+ my $t = $self->_server_page('lost_validation');
+ my $person;
+
+ if ($q->param('submit')) {
+ eval {
+ ($person) = YAPC::Person->search(email => $q->param('email'));
+ };
+ if ($@ or not $person) {
+ $t->param(MESSAGE => 'No such e-mail');
+ return $t->output;
+ } else {
+ }
+ } else {
+ return $t->output;
+ }
+
+ # OK
+ $t = $self->_server_page('email_sent');
if ($person->authcode ) {
$self->send_email_with_validation_code($person);
$t->param(SENT_AUTHCODE => 1);
Modified: t/03-web-adduser.t
===================================================================
--- t/03-web-adduser.t 2003-11-25 14:12:40 UTC (rev 46)
+++ t/03-web-adduser.t 2003-11-25 14:26:44 UTC (rev 47)
@@ -392,10 +392,20 @@
####### get back lost password (user provides e-mail address we send the password)
+###### show lost_validation page
+{
+ local $ENV{REQUEST_URI} = '/lost_validation.html';
+ my $q = CGI->new();
+ my $webapp = YAPC::Organizer->new;
+ $webapp->query($q);
+ my $result = $webapp->run();
+ like($result, qr@<h2>Send lost validation code</h2>@, 'Send lost validation code');
+}
+
####### get validation code if not validated yet
{
local $ENV{REQUEST_URI} = '/lost_validation.html';
- my $q = CGI->new({email => 'bad-email'});
+ my $q = CGI->new({email => 'bad-email', submit=>1});
my $webapp = YAPC::Organizer->new;
$webapp->query($q);
my $result = $webapp->run();
@@ -405,7 +415,7 @@
## already validated
{
local $ENV{REQUEST_URI} = '/lost_validation.html';
- my $q = CGI->new({email => $people[0]{email}});
+ my $q = CGI->new({email => $people[0]{email}, submit => 1});
my $webapp = YAPC::Organizer->new;
$webapp->query($q);
my $result = $webapp->run();
@@ -433,7 +443,7 @@
## validation sent (we should check the real e-mail somehow)
{
local $ENV{REQUEST_URI} = '/lost_validation.html';
- my $q = CGI->new({email => $people[1]{email}});
+ my $q = CGI->new({email => $people[1]{email}, submit =>1});
my $webapp = YAPC::Organizer->new;
$webapp->query($q);
my $result = $webapp->run();
Modified: templates/lost_validation.tmpl
===================================================================
--- templates/lost_validation.tmpl 2003-11-25 14:12:40 UTC (rev 46)
+++ templates/lost_validation.tmpl 2003-11-25 14:26:44 UTC (rev 47)
@@ -1,4 +1,4 @@
-<TMPL_VALUE NAME="title" VALUE="Lost validation code">
+<TMPL_VALUE NAME="title" VALUE="Send lost validation code">
<TMPL_INCLUDE NAME="header.tmpl">
<td valign="top">
<p>
@@ -10,7 +10,7 @@
<form method="post">
<table>
<tr><td>Email:</td><td><input size=40 name="email" value="<TMPL_VAR NAME=email>" /></td></tr>
-<tr><td></td><td><input type="submit" value="Get Validation code"></td></tr>
+<tr><td></td><td><input type="submit" name="submit" value="Get Validation code"></td></tr>
</table>
</form>
Generated at 17:06 on 25 Nov 2003 by mariachi 0.51