[Yapcom checkin] rev 28 - lib/YAPC

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

From: svn
Subject: [Yapcom checkin] rev 28 - lib/YAPC
Date: 21:19 on 24 Nov 2003
Author: gabor
Date: 2003-11-24 21:19:59 +0200 (Mon, 24 Nov 2003)
New Revision: 28

Modified:
   lib/YAPC/Organizer.pm
Log:
further code moved from default to cgiapp_prerun

Modified: lib/YAPC/Organizer.pm
===================================================================
--- lib/YAPC/Organizer.pm	2003-11-24 17:53:53 UTC (rev 27)
+++ lib/YAPC/Organizer.pm	2003-11-24 19:19:59 UTC (rev 28)
@@ -40,6 +40,7 @@
               'get_validation_code' => 'get_validation_code',
               'get_lost_password' => 'get_lost_password',
               'no_such_page'      => 'do_no_such_page',
+              'user_account'      => 'do_user_account',
                );
 }
 
@@ -54,17 +55,34 @@
    $page ||= 'index';
 
    if ($page eq 'list_people') { $self->prerun_mode('list_people') }
+   if ($page eq 'login' and $self->is_logged_in) { 
+        $self->prerun_mode('user_account') ;
+        return;
+   }
 
-   if (grep {$_ eq $page} @user_pages) {
+   if ($page eq 'logout') {
+       if ($self->is_logged_in) { 
+          return $self->prerun_mode('logout'); 
+       } else {
+          return $self->prerun_mode('login'); 
+       }
+    }
+
+
+   if (grep {$_ eq $page} (@user_pages, @admin_pages)) {
        if (not $self->is_logged_in) {
           $self->param('yapcom_next_page' => "$page.html");
           $self->prerun_mode('login');
           return;
        }
    }       
-
-   #if (grep {$_ eq $page} (@user_pages, @admin_pages)) {
-
+=poc
+   if (grep {$_ eq $page} @admin_pages) {
+       if (my $id = $self->is_logged_in) {
+       } else {
+       }
+   }
+=cut
    my $filename = "$templates_dir/$page.tmpl";
 
    if (not -e $filename) {
@@ -89,27 +107,6 @@
 
     my $id = $self->is_logged_in;
 
-    if ($page eq 'logout') {
-       if ($id) { 
-          return $self->do_logout; 
-       } else {
-          my $t = $self->_server_page('login', "$templates_dir/login.tmpl");
-          return $t->output;
-       }
-    }
-    if ($id and $page eq 'login') {
-        my $t = $self->_server_page('user_account', "$templates_dir/user_account.tmpl");
-        return $t->output;
-    }
-
-    if (not $id and 
-        not $self->header_props() and   # set within this run in do_login
-        grep {$_ eq $page} (@user_pages, @admin_pages)) {
-        my $t = $self->_server_page('login', "$templates_dir/login.tmpl");
-        $t->param(next => "$page.html");
-        return $t->output;
-    }
-
     if ($id and $page eq 'proposal') {
        my $t = $self->_server_page($page, $filename);
        $t->param(run => 'send_proposal');
@@ -141,6 +138,13 @@
     return $t->output;
 }
 
+# maybe this should be replaced with a generic show page call
+sub do_user_account {
+   my $self = shift;
+   my $t = $self->_server_page('user_account', "$templates_dir/user_account.tmpl");
+   return $t->output;
+}
+
 sub is_logged_in {
     my $self = shift; 
     my $q = $self->query;

Generated at 22:06 on 24 Nov 2003 by mariachi 0.51