[Yapcom checkin] rev 33 - lib/YAPC templates

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

From: svn
Subject: [Yapcom checkin] rev 33 - lib/YAPC templates
Date: 00:33 on 25 Nov 2003
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 />&nbsp;<br /><br />&nbsp;<br /><br />&nbsp;<br /><br />&nbsp;<br /><br />&nbsp;<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 />&nbsp;<br /><br />&nbsp;<br /><br />&nbsp;<br /><br />&nbsp;<br /><br />&nbsp;<br />
          <hr />
 

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