[Yapcom-commit] rev 78 - lib/YAPC t templates

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

From: svn
Subject: [Yapcom-commit] rev 78 - lib/YAPC t templates
Date: 15:31 on 27 Nov 2003
Author: gabor
Date: 2003-11-27 15:31:22 +0200 (Thu, 27 Nov 2003)
New Revision: 78

Added:
   templates/person.tmpl
Modified:
   lib/YAPC/Organizer.pm
   t/03-web-adduser.t
   templates/list_people.tmpl
   templates/message.tmpl
Log:
show more details about the registered people

Modified: lib/YAPC/Organizer.pm
===================================================================
--- lib/YAPC/Organizer.pm	2003-11-27 12:05:47 UTC (rev 77)
+++ lib/YAPC/Organizer.pm	2003-11-27 13:31:22 UTC (rev 78)
@@ -27,7 +27,8 @@
 my @admin_pages = qw(admin admin_list_people admin_list_proposals); 
 
 # other pages that can be directly access but which don't need any authentication
-my @other_pages = qw(list_people login registration validation lost_validation lost_password);
+my @other_pages = qw(list_people login registration validation lost_validation lost_password
+                     person);
 
 my @run_modes = map {$_, $_} @user_pages, @admin_pages, @other_pages;
 
@@ -328,6 +329,7 @@
                     url     => $url,
                     pauseid => $p->pauseid,
                     mongers => $p->mongers,
+                    id      => $p->id,
                   };
     }
     my $t = $self->_server_page('list_people');
@@ -674,8 +676,37 @@
    return $t->output;
 }
 
+=head2 person
 
+Public view of details of a person
 
+=cut
+sub person {
+   my $self = shift;
+   my $q = $self->query;
+
+   my $id = $self->is_logged_in;
+   return $self->send_message('no_such_person') if not $q->param('id'); 
+   my $p;
+   eval {
+      ($p) = YAPC::Person->search(id => $q->param('id'), acked => 1);
+   };
+   return $self->send_message('no_such_person') if not $p;
+
+   my $url  =  $p->url;
+   $url = "http://$url"; if ($url and substr($url, 0, 7) ne 'http://');
+ 
+   my $bio = $p->bio;
+   $bio =~ s@(http://\S+)@<a href="$1">$1</a>@g; # turn urls to links
+ 
+   my $t = $self->_server_page('person');
+   $t->param($_ => $p->get($_)) foreach (qw(fname lname pauseid mongers));
+   $t->param(url => $url);
+   $t->param(bio => $bio);
+   $t->param(owner => $id eq $q->param('id'));
+   return $t->output;
+}
+
 1;
 
 

Modified: t/03-web-adduser.t
===================================================================
--- t/03-web-adduser.t	2003-11-27 12:05:47 UTC (rev 77)
+++ t/03-web-adduser.t	2003-11-27 13:31:22 UTC (rev 78)
@@ -168,7 +168,17 @@
    #like($result, qr/There was an error in the provided data/, 'User registered');
 }
 
+##### show information about one person before validation should fail
+{
+   local $ENV{REQUEST_URI}   = '/person.html';
+   my $q = CGI->new({id => 1});
+   my $webapp = YAPC::Organizer->new;
+   $webapp->query($q);
+   my $result = $webapp->run();
+   like($result, qr/No such person/, 'Received error page');
+}
 
+
 ###### validation
 {
    local $ENV{REQUEST_URI}   = '/validation.html';
@@ -194,6 +204,39 @@
 };
 
 
+
+##### show information about one person (without id it fails)
+{
+   local $ENV{REQUEST_URI}   = '/person.html';
+   my $webapp = YAPC::Organizer->new;
+   $webapp->query(CGI->new());
+   my $result = $webapp->run();
+   like($result, qr/No such person/, 'Received error page');
+}
+##### show information about one person (with not exiting id it fails)
+{
+   local $ENV{REQUEST_URI}   = '/person.html';
+   my $q = CGI->new({id => 30});
+   my $webapp = YAPC::Organizer->new;
+   $webapp->query($q);
+   my $result = $webapp->run();
+   like($result, qr/No such person/, 'Received error page');
+}
+##### show information about one person after validation
+{
+   local $ENV{REQUEST_URI}   = '/person.html';
+   my $q = CGI->new({id => 1});
+   my $webapp = YAPC::Organizer->new;
+   $webapp->query($q);
+   my $result = $webapp->run();
+   like($result, qr/$user1{fname}/, 'fname shown correctly');
+}
+
+
+
+
+
+
 ###### login page
 {
    local $ENV{REQUEST_URI}   = '/login.html';

Modified: templates/list_people.tmpl
===================================================================
--- templates/list_people.tmpl	2003-11-27 12:05:47 UTC (rev 77)
+++ templates/list_people.tmpl	2003-11-27 13:31:22 UTC (rev 78)
@@ -8,12 +8,8 @@
 <TMPL_LOOP NAME="users">
 <tr>
   <td>
-  <TMPL_IF NAME="url">
-     <a href="<TMPL_VAR NAME="url">"><TMPL_VAR NAME="fname"> <TMPL_VAR NAME="lname"></a>
-  <TMPL_ELSE>
-     <TMPL_VAR NAME="fname"> <TMPL_VAR NAME="lname">
-  </TMPL_IF>
-  </a></td>
+  <a href="person.html?id=<TMPL_VAR NAME="id">"><TMPL_VAR NAME="fname"> <TMPL_VAR NAME="lname"></a>
+  </td>
   <td><TMPL_VAR NAME="mongers"></td>
   <td><a href="http://search.cpan.org/author/<TMPL_VAR NAME="pauseid">"><TMPL_VAR NAME="pauseid"></a></td>
 </tr>

Modified: templates/message.tmpl
===================================================================
--- templates/message.tmpl	2003-11-27 12:05:47 UTC (rev 77)
+++ templates/message.tmpl	2003-11-27 13:31:22 UTC (rev 78)
@@ -13,4 +13,7 @@
 <TMPL_IF NAME="no_such_proposal">
 We could not find this proposal.
 </TMPL_IF>
+<TMPL_IF NAME="no_such_person">
+No such person.
+</TMPL_IF>
 <TMPL_INCLUDE NAME="footer.tmpl">

Added: templates/person.tmpl
===================================================================
--- templates/person.tmpl	2003-11-27 12:05:47 UTC (rev 77)
+++ templates/person.tmpl	2003-11-27 13:31:22 UTC (rev 78)
@@ -0,0 +1,30 @@
+<TMPL_VALUE NAME="title" VALUE="Personal Information">
+<TMPL_INCLUDE NAME="header.tmpl">
+<p />
+<form method="post">
+<input type="hidden" name="submit" value="Register" />
+<table>
+<tr><td>Name:</td><td><TMPL_VAR NAME="fname"> <TMPL_VAR NAME="lname"></td></tr>
+<tr><td>PAUSE ID:</td><td><a href="http://search.cpan.org/author/<TMPL_VAR NAME="pauseid">"><TMPL_VAR NAME="pauseid"></a></td>
+<tr><td>Home page:</td><td><a href="<TMPL_VAR NAME="url">"><TMPL_VAR NAME="url"></a></td></tr>
+<tr><td>Mongers Group:</td><td><TMPL_VAR NAME="mongers"></td></tr>
+</table>
+<p />
+<b>Bio:</b>
+<table border="1" width="100%">
+<tr><td>
+<pre>
+<TMPL_VAR NAME="bio">
+</pre>
+</td></tr>
+</table>
+<p />
+<b>Accepted Talks:</b>
+<table border="1" width="100%">
+<tr><td>n/a</td></tr>
+</table>
+<p />
+<TMPL_IF NAME="owner"><a href=personal_info.html>change this page</a></TMPL_IF>
+<p />
+<TMPL_INCLUDE NAME="footer.tmpl">
+

Generated at 17:06 on 27 Nov 2003 by mariachi 0.51