[Yapcom checkin] rev 31 - lib/YAPC

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

From: svn
Subject: [Yapcom checkin] rev 31 - lib/YAPC
Date: 23:51 on 24 Nov 2003
Author: gabor
Date: 2003-11-24 23:51:44 +0200 (Mon, 24 Nov 2003)
New Revision: 31

Modified:
   lib/YAPC/Organizer.pm
Log:
further streamlining the CGI::Application

Modified: lib/YAPC/Organizer.pm
===================================================================
--- lib/YAPC/Organizer.pm	2003-11-24 20:56:38 UTC (rev 30)
+++ lib/YAPC/Organizer.pm	2003-11-24 21:51:44 UTC (rev 31)
@@ -19,11 +19,11 @@
 use base 'CGI::Application';
 use Data::Dumper;  # for playing with debugging
 
-my @user_pages = qw(proposal user_account personal_info change_password);  # list pages that require valid login to access
+my @user_pages = qw(proposal personal_info change_password user_account logout);  # list pages that require valid login to access
 my @admin_pages = qw(admin admin_list_people admin_list_proposals); # list of pages accessible to administrators only
+my @other_pages = qw(list_people login);
 
 
-
 sub setup {
     my $self = shift;
     $self->start_mode('default');
@@ -35,12 +35,12 @@
               'list_people'   => 'do_list_people',
               'login'         => 'do_login',
               'logout'        => 'do_logout',
-              'send_proposal' => 'do_send_proposal',
+              'proposal'      => 'do_proposal',
               'change_password' => 'do_change_password',
               'get_validation_code' => 'get_validation_code',
               'get_lost_password' => 'get_lost_password',
               'no_such_page'      => 'do_no_such_page',
-              'user_account'      => 'do_user_account',
+              'user_account'      => 'user_account',
                );
 }
 
@@ -54,38 +54,22 @@
    $page =~ s/\.html(\?.*)?$//;
    $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} @other_pages) { return $self->prerun_mode($page) }
+   
 
-   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");
+       if (my $id = $self->is_logged_in) {
+           if (grep {$_ eq $page} @user_pages) {
+              $self->prerun_mode($page);
+           } else { # admin pages
+           }
+       } else {
+          $self->param('yapcom_next_page' => "$page.html") if $page ne 'logout';
           $self->prerun_mode('login');
           return;
        }
    }       
 
-   if ($page eq 'proposal') { $self->prerun_mode('send_proposal') }
-
-=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) {
@@ -364,6 +348,11 @@
     my $self = shift;
     my $q = $self->query;
 
+   if ($self->is_logged_in) {
+        return $self->do_user_account;
+   }
+
+
     my $t = $self->_server_page('login', "$templates_dir/login.tmpl");
     my $login;
 
@@ -394,6 +383,7 @@
                         );
     $self->header_props(-cookie => $cookie);
 
+     #my $page = $q->param("next") || 'user_account';
      my $page = $q->param("next") || 'user_account';
      my $tm = $self->_server_page($page, "$templates_dir/$page.tmpl");
      return $tm->output;
@@ -493,15 +483,15 @@
    my @language_selection = map {{ value => $_, text => $_, selected => ($language eq $_)} } @YAPC::Config::proposal_languages;
    $t->param(language => \@language_selection);
    return $t->output;
-   #$t->param(run => 'send_proposal');
+   #$t->param(run => 'proposal');
 }
-sub do_send_proposal {
+sub do_proposal {
     my $self = shift;
     my $q = $self->query;
     my $talk;
     my $id = $self->is_logged_in;
 
-    my $t = $self->_server_page('send_proposal', "$templates_dir/proposal.tmpl");
+    my $t = $self->_server_page('proposal', "$templates_dir/proposal.tmpl");
 
     if ($q->param('submit')) {
        eval {

Generated at 01:06 on 25 Nov 2003 by mariachi 0.51