| 1 | ################################################################################ |
1 | ################################################################################ |
| 2 | # WeBWorK Online Homework Delivery System |
2 | # WeBWorK Online Homework Delivery System |
| 3 | # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ |
3 | # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ |
| 4 | # $CVSHeader: webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor/UserList.pm,v 1.46 2004/04/27 02:10:56 sh002i Exp $ |
4 | # $CVSHeader: webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor/UserList.pm,v 1.48 2004/05/11 20:13:22 toenail Exp $ |
| 5 | # |
5 | # |
| 6 | # This program is free software; you can redistribute it and/or modify it under |
6 | # This program is free software; you can redistribute it and/or modify it under |
| 7 | # the terms of either: (a) the GNU General Public License as published by the |
7 | # the terms of either: (a) the GNU General Public License as published by the |
| 8 | # Free Software Foundation; either version 2, or (at your option) any later |
8 | # Free Software Foundation; either version 2, or (at your option) any later |
| 9 | # version, or (b) the "Artistic License" which comes with this package. |
9 | # version, or (b) the "Artistic License" which comes with this package. |
| … | |
… | |
| 201 | my $ce = $r->ce; |
201 | my $ce = $r->ce; |
| 202 | my $authz = $r->authz; |
202 | my $authz = $r->authz; |
| 203 | my $user = $r->param('user'); |
203 | my $user = $r->param('user'); |
| 204 | |
204 | |
| 205 | unless ($authz->hasPermissions($user, "modify_student_data")) { |
205 | unless ($authz->hasPermissions($user, "modify_student_data")) { |
| 206 | $self->{submitError} = "You are not authorized to modify student data"; |
206 | $self->addmessage(CGI::div({class=>"ResultsWithError"}, CGI::p("You are not authorized to modify student data"))); |
| 207 | return; |
207 | return; |
| 208 | } |
208 | } |
| 209 | |
209 | |
| 210 | #if (defined($r->param('addStudent'))) { |
210 | #if (defined($r->param('addStudent'))) { |
| 211 | # my $newUser = $db->newUser; |
211 | # my $newUser = $db->newUser; |
| … | |
… | |
| 1083 | my $root = $ce->{webworkURLs}->{root}; |
1083 | my $root = $ce->{webworkURLs}->{root}; |
| 1084 | my $courseName = $urlpath->arg("courseID"); |
1084 | my $courseName = $urlpath->arg("courseID"); |
| 1085 | |
1085 | |
| 1086 | my $editMode = $options{editMode}; |
1086 | my $editMode = $options{editMode}; |
| 1087 | my $userSelected = $options{userSelected}; |
1087 | my $userSelected = $options{userSelected}; |
|
|
1088 | |
|
|
1089 | my $statusClass = $ce->{siteDefaults}->{status}->{$User->{status}}; |
| 1088 | |
1090 | |
| 1089 | my $changeEUserURL = $self->systemLink($urlpath->new(type=>'set_list',args=>{courseID=>$courseName}), |
1091 | my $changeEUserURL = $self->systemLink($urlpath->new(type=>'set_list',args=>{courseID=>$courseName}), |
| 1090 | params => {effectiveUser => $User->user_id} |
1092 | params => {effectiveUser => $User->user_id} |
| 1091 | ); |
1093 | ); |
| 1092 | |
1094 | |
| … | |
… | |
| 1121 | } |
1123 | } |
| 1122 | |
1124 | |
| 1123 | # User ID |
1125 | # User ID |
| 1124 | if ($editMode) { |
1126 | if ($editMode) { |
| 1125 | # straight user ID |
1127 | # straight user ID |
| 1126 | push @tableCells, $User->user_id; |
1128 | push @tableCells, CGI::div({class=>$statusClass}, $User->user_id); |
| 1127 | } else { |
1129 | } else { |
| 1128 | # "edit sets assigned to user" link |
1130 | # "edit sets assigned to user" link |
| 1129 | push @tableCells, CGI::a({href=>$setsAssignedToUserURL}, "Edit sets"); |
1131 | push @tableCells, CGI::a({href=>$setsAssignedToUserURL}, "Edit sets"); |
| 1130 | } |
1132 | } |
| 1131 | |
1133 | |
| 1132 | # User Fields |
1134 | # User Fields |
| 1133 | foreach my $field ($User->NONKEYFIELDS) { |
1135 | foreach my $field ($User->NONKEYFIELDS) { |
| 1134 | my $fieldName = "user." . $User->user_id . "." . $field, |
1136 | my $fieldName = "user." . $User->user_id . "." . $field, |
| 1135 | my $fieldValue = $User->$field; |
1137 | my $fieldValue = $User->$field; |
| 1136 | my %properties = %{ FIELD_PROPERTIES()->{$field} }; |
1138 | my %properties = %{ FIELD_PROPERTIES()->{$field} }; |
| 1137 | $properties{access} = "readonly" unless $editMode; |
1139 | $properties{access} = "readonly" unless $editMode; |
| 1138 | $fieldValue = $self->nbsp($fieldValue) unless $editMode; |
1140 | $fieldValue = $self->nbsp($fieldValue) unless $editMode; |
| 1139 | push @tableCells, $self->fieldEditHTML($fieldName, $fieldValue, \%properties); |
1141 | push @tableCells, CGI::div({class=>$statusClass}, $self->fieldEditHTML($fieldName, $fieldValue, \%properties)); |
| 1140 | } |
1142 | } |
| 1141 | |
1143 | |
| 1142 | # PermissionLevel Fields |
1144 | # PermissionLevel Fields |
| 1143 | foreach my $field ($PermissionLevel->NONKEYFIELDS) { |
1145 | foreach my $field ($PermissionLevel->NONKEYFIELDS) { |
| 1144 | my $fieldName = "permission." . $PermissionLevel->user_id . "." . $field, |
1146 | my $fieldName = "permission." . $PermissionLevel->user_id . "." . $field, |
| 1145 | my $fieldValue = $PermissionLevel->$field; |
1147 | my $fieldValue = $PermissionLevel->$field; |
| 1146 | my %properties = %{ FIELD_PROPERTIES()->{$field} }; |
1148 | my %properties = %{ FIELD_PROPERTIES()->{$field} }; |
| 1147 | $properties{access} = "readonly" unless $editMode; |
1149 | $properties{access} = "readonly" unless $editMode; |
| 1148 | $fieldValue = $self->nbsp($fieldValue) unless $editMode; |
1150 | $fieldValue = $self->nbsp($fieldValue) unless $editMode; |
| 1149 | push @tableCells, $self->fieldEditHTML($fieldName, $fieldValue, \%properties); |
1151 | push @tableCells, CGI::div({class=>$statusClass}, $self->fieldEditHTML($fieldName, $fieldValue, \%properties)); |
| 1150 | } |
1152 | } |
| 1151 | |
1153 | |
| 1152 | return CGI::Tr({}, CGI::td({}, \@tableCells)); |
1154 | return CGI::Tr({}, CGI::td({}, \@tableCells)); |
| 1153 | } |
1155 | } |
| 1154 | |
1156 | |