[system] / trunk / webwork2 / lib / WeBWorK / ContentGenerator / Instructor / UserList.pm Repository:
ViewVC logotype

View of /trunk/webwork2/lib/WeBWorK/ContentGenerator/Instructor/UserList.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1212 - (download) (as text) (annotate)
Wed Jun 18 23:16:02 2003 UTC (9 years, 11 months ago) by malsyned
File size: 2815 byte(s)
Warn less, work more.

    1 package WeBWorK::ContentGenerator::Instructor::UserList;
    2 use base qw(WeBWorK::ContentGenerator::Instructor);
    3 
    4 =head1 NAME
    5 
    6 WeBWorK::ContentGenerator::Instructor::UserList - Entry point for User-specific data editing
    7 
    8 =cut
    9 
   10 use strict;
   11 use warnings;
   12 use CGI qw();
   13 
   14 sub initialize {
   15   my ($self) = @_;
   16   my $r = $self->{r};
   17   my $db = $self->{db};
   18   my $ce = $self->{ce};
   19   my $authz = $self->{authz};
   20   my $user = $r->param('user');
   21 
   22   unless ($authz->hasPermissions($user, "modify_student_data")) {
   23     $self->{submitError} = "You are not authorized to modify student data";
   24     return;
   25   }
   26 
   27   if (defined($r->param('save_classlist'))) {
   28     my @userList = $db->listUsers;
   29     foreach my $user (@userList) {
   30       my $userRecord = $db->getUser($user);
   31       my $permissionLevelRecord = $db->getPermissionLevel($user);
   32       foreach my $field ($userRecord->NONKEYFIELDS()) {
   33         my $paramName = "user.${user}.${field}";
   34         if (defined($r->param($paramName))) {
   35           $userRecord->$field($r->param($paramName));
   36         }
   37       }
   38       foreach my $field ($permissionLevelRecord->NONKEYFIELDS()) {
   39         my $paramName = "permission.${user}.${field}";
   40         if (defined($r->param($paramName))) {
   41           $permissionLevelRecord->$field($r->param($paramName));
   42         }
   43       }
   44       $db->putUser($userRecord);
   45       $db->putPermissionLevel($permissionLevelRecord);
   46     }
   47   }
   48 }
   49 
   50 sub body {
   51   my ($self, $setID) = @_;
   52   my $r = $self->{r};
   53   my $authz = $self->{authz};
   54   my $user = $r->param('user');
   55   my $db = $self->{db};
   56 
   57         return CGI::em("You are not authorized to access the Instructor tools.") unless $authz->hasPermissions($user, "access_instructor_tools");
   58 
   59   my @users = $db->listUsers;
   60   print CGI::start_form({method=>"post", action=>$r->uri()});
   61   print CGI::start_table({});
   62   print CGI::Tr({},
   63     CGI::td({}, [
   64       $db->{user}->{record}->FIELDS(),
   65       grep {! m/^user_id$/} $db->{permission}->{record}->FIELDS(),
   66     ])
   67   );
   68 
   69   foreach my $currentUser (@users) {
   70     my $userRecord = $db->getUser($currentUser);
   71     my $permissionLevel = $db->getPermissionLevel($currentUser);
   72 
   73     print CGI::Tr({},
   74       CGI::td({}, [
   75         (map {CGI::input({type=>"text", size=>"8", name=> "user.".$userRecord->user_id().".".$_, value=>$userRecord->$_})} $userRecord->FIELDS()),
   76         (map {CGI::input({type=>"text", size=>"8", name => "permission.".$permissionLevel->user_id().".".$_, value=>$permissionLevel->$_})} grep {! m/^user_id$/} $permissionLevel->FIELDS()),
   77       ])
   78     );
   79 
   80 #   foreach my $key ($userRecord->FIELDS) {
   81 #     print "$key: ", $userRecord->$key, CGI::br();
   82 #   }
   83 #   foreach my $key ($permissionLevel->FIELDS) {
   84 #     print "$key: ", $permissionLevel->$key, CGI::br();
   85 #   }
   86 #   print CGI::p();
   87   }
   88   print CGI::end_table();
   89   print $self->hidden_authen_fields();
   90   print CGI::submit({name=>"save_classlist", value=>"Save Changes to Users"});
   91   print CGI::end_form();
   92 
   93   return "";
   94 }
   95 
   96 1;

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9