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