[Yapcom checkin] rev 47 - lib/YAPC t templates

[prev] [thread] [next] [lurker] [Date index for 2003/11/25]

From: svn
Subject: [Yapcom checkin] rev 47 - lib/YAPC t templates
Date: 16:26 on 25 Nov 2003
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