| … | |
… | |
| 54 | my $user = $r->param('user'); |
54 | my $user = $r->param('user'); |
| 55 | my $db = $self->{db}; |
55 | my $db = $self->{db}; |
| 56 | |
56 | |
| 57 | return CGI::em("You are not authorized to access the Instructor tools.") unless $authz->hasPermissions($user, "access_instructor_tools"); |
57 | return CGI::em("You are not authorized to access the Instructor tools.") unless $authz->hasPermissions($user, "access_instructor_tools"); |
| 58 | |
58 | |
|
|
59 | # This code will require changing if the permission and user tables ever have different keys. |
| 59 | my @users = $db->listUsers; |
60 | my @users = $db->listUsers; |
| 60 | print CGI::start_form({method=>"post", action=>$r->uri()}); |
61 | print CGI::start_form({method=>"post", action=>$r->uri()}); |
| 61 | print CGI::start_table({}); |
62 | print CGI::start_table({}); |
| 62 | print CGI::Tr({}, |
63 | print CGI::Tr({}, |
| 63 | CGI::td({}, [ |
64 | CGI::th({}, [ |
| 64 | $db->{user}->{record}->FIELDS(), |
65 | $db->{user}->{record}->KEYFIELDS(), |
| 65 | grep {! m/^user_id$/} $db->{permission}->{record}->FIELDS(), |
66 | $db->{user}->{record}->NONKEYFIELDS(), |
|
|
67 | $db->{permission}->{record}->NONKEYFIELDS(), |
| 66 | ]) |
68 | ]) |
| 67 | ); |
69 | ); |
| 68 | |
70 | |
| 69 | foreach my $currentUser (@users) { |
71 | foreach my $currentUser (@users) { |
| 70 | my $userRecord = $db->getUser($currentUser); |
72 | my $userRecord = $db->getUser($currentUser); |
| 71 | my $permissionLevel = $db->getPermissionLevel($currentUser); |
73 | my $permissionLevel = $db->getPermissionLevel($currentUser); |
| 72 | |
74 | |
| 73 | print CGI::Tr({}, |
75 | print CGI::Tr({}, |
| 74 | CGI::td({}, [ |
76 | CGI::td({}, [ |
|
|
77 | (map {$userRecord->$_} $userRecord->KEYFIELDS), |
| 75 | (map {CGI::input({type=>"text", size=>"8", name=> "user.".$userRecord->user_id().".".$_, value=>$userRecord->$_})} $userRecord->FIELDS()), |
78 | (map {CGI::input({type=>"text", size=>"8", name=> "user.".$userRecord->user_id().".".$_, value=>$userRecord->$_})} $userRecord->NONKEYFIELDS()), |
| 76 | (map {CGI::input({type=>"text", size=>"8", name => "permission.".$permissionLevel->user_id().".".$_, value=>$permissionLevel->$_})} grep {! m/^user_id$/} $permissionLevel->FIELDS()), |
79 | (map {CGI::input({type=>"text", size=>"8", name => "permission.".$permissionLevel->user_id().".".$_, value=>$permissionLevel->$_})} $permissionLevel->NONKEYFIELDS()), |
| 77 | ]) |
80 | ]) |
| 78 | ); |
81 | ); |
| 79 | |
82 | |
| 80 | # foreach my $key ($userRecord->FIELDS) { |
83 | # foreach my $key ($userRecord->FIELDS) { |
| 81 | # print "$key: ", $userRecord->$key, CGI::br(); |
84 | # print "$key: ", $userRecord->$key, CGI::br(); |