[prev] [thread] [next] [lurker] [Date index for 2003/11/24]
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