[prev] [thread] [next] [lurker] [Date index for 2003/11/25]
Author: gabor
Date: 2003-11-25 00:33:34 +0200 (Tue, 25 Nov 2003)
New Revision: 33
Modified:
lib/YAPC/Organizer.pm
templates/admin.tmpl
templates/message.tmpl
Log:
access to admin pages moved to prerun
Modified: lib/YAPC/Organizer.pm
===================================================================
--- lib/YAPC/Organizer.pm 2003-11-24 22:09:13 UTC (rev 32)
+++ lib/YAPC/Organizer.pm 2003-11-24 22:33:34 UTC (rev 33)
@@ -3,7 +3,6 @@
our $VERSION = '0.07_03';
use strict;
-#use warnings FATAL => 'all';
use warnings;
use CGI::Application;
@@ -40,9 +39,9 @@
'logout' => 'logout',
# admin_pages
- #admin
- #admin_list_people
- #admin_list_proposals
+ admin => 'admin',
+ admin_list_people => 'admin_list_people',
+ admin_list_proposals => 'admin_list_proposals',
# other pages
'list_people' => 'list_people',
@@ -54,7 +53,7 @@
'get_validation_code' => 'get_validation_code',
'get_lost_password' => 'get_lost_password',
'no_such_page' => 'no_such_page',
-
+ 'show_message' => 'show_message',
);
}
@@ -76,12 +75,18 @@
if (grep {$_ eq $page} @user_pages) {
$self->prerun_mode($page);
} else { # admin pages
+ if ($self->is_admin_user($id)) {
+ $self->prerun_mode($page);
+ } else {
+ $self->param('yapcom_message' => 'admins_only');
+ $self->prerun_mode('show_message');
+ }
}
} else {
$self->param('yapcom_next_page' => "$page.html") if $page ne 'logout';
$self->prerun_mode('login');
- return;
}
+ return;
}
my $filename = "$templates_dir/$page.tmpl";
@@ -106,25 +111,6 @@
my $filename = "$templates_dir/$page.tmpl";
- my $id = $self->is_logged_in;
-
- if ($id) {
- if (grep {$_ eq $page} @admin_pages) {
- my ($person) = YAPC::Person->search(id => $id);
- if (grep {$_ eq $person->email} @YAPC::Config::admins) {
- if ($page eq 'admin_list_people') { return $self->admin_list_people; }
- if ($page eq 'admin_list_proposals') { return $self->admin_list_proposals; }
- my $t = $self->_server_page('admin', "$templates_dir/admin.tmpl");
- $t->param(approved => 1);
- return $t->output;
- } else {
- my $t = $self->_server_page('admin', "$templates_dir/admin.tmpl");
- $t->param(approved => 0);
- return $t->output;
- }
- }
- }
-
my $t = $self->_server_page($page, $filename);
return $t->output;
}
@@ -146,6 +132,16 @@
}
+sub is_admin_user {
+ my $self = shift;
+ my $id = shift;
+
+ my ($person) = YAPC::Person->search(id => $id);
+ return grep {$_ eq $person->email} @YAPC::Config::admins;
+}
+
+
+
sub no_such_page {
my $self = shift;
my $t = $self->_server_page('error', "$templates_dir/error.tmpl");
@@ -153,6 +149,15 @@
}
+sub show_message {
+ my $self = shift;
+
+ my $t = $self->_server_page('message', "$templates_dir/message.tmpl");
+ $t->param($self->param('yapcom_message') => 1);
+ return $t->output;
+}
+
+
sub change_password {
my $self = shift;
my $q = $self->query;
@@ -319,6 +324,12 @@
return $t->output;
}
+sub admin {
+ my $self = shift;
+ my $t = $self->_server_page('admin', "$templates_dir/admin.tmpl");
+ return $t->output;
+}
+
sub admin_list_people {
my $self = shift;
Modified: templates/admin.tmpl
===================================================================
--- templates/admin.tmpl 2003-11-24 22:09:13 UTC (rev 32)
+++ templates/admin.tmpl 2003-11-24 22:33:34 UTC (rev 33)
@@ -2,14 +2,11 @@
<TMPL_INCLUDE NAME="header.tmpl">
<td valign="top">
-<TMPL_IF NAME="approved">
<h2>Administrators page</h2>
<a href=admin_list_people.html>List people</a><br>
<a href=admin_list_proposals.html>List proposals</a><br>
<a href=logout.html>Logout</a><br>
-<TMPL_ELSE>
Access to administrators only
-</TMPL_IF>
<br /> <br /><br /> <br /><br /> <br /><br /> <br /><br /> <br />
<hr />
Modified: templates/message.tmpl
===================================================================
--- templates/message.tmpl 2003-11-24 22:09:13 UTC (rev 32)
+++ templates/message.tmpl 2003-11-24 22:33:34 UTC (rev 33)
@@ -5,6 +5,11 @@
<TMPL_IF NAME="password_changed">
Your password has been successfully updated.
</TMPL_IF>
+
+<TMPL_IF NAME="admins_only">
+Access to administrators only
+</TMPL_IF>
+
<br /> <br /><br /> <br /><br /> <br /><br /> <br /><br /> <br />
<hr />
Generated at 01:06 on 25 Nov 2003 by mariachi 0.51