| 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$ |
4 | # $CVSHeader: webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor/Index.pm,v 1.21 2003/12/09 01:12:31 sh002i 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. |
| … | |
… | |
| 34 | my $db = $self->{db}; |
34 | my $db = $self->{db}; |
| 35 | my $authz = $self->{authz}; |
35 | my $authz = $self->{authz}; |
| 36 | my $userName = $r->param('user'); |
36 | my $userName = $r->param('user'); |
| 37 | my $effectiveUserName = $r->param('effectiveUser'); |
37 | my $effectiveUserName = $r->param('effectiveUser'); |
| 38 | my $key = $r->param('key'); |
38 | my $key = $r->param('key'); |
| 39 | my $user = $db->getUser($userName); |
39 | my $user = $db->getUser($userName); #checked |
| 40 | my $effectiveUser = $db->getUser($effectiveUserName); |
40 | my $effectiveUser = $db->getUser($effectiveUserName); #checked |
| 41 | my $permissionLevel = $db->getPermissionLevel($userName)->permission(); |
41 | my $permissionLevel = $db->getPermissionLevel($userName)->permission(); #checked |
|
|
42 | die "user $user (real user) not found." unless $user; |
|
|
43 | die "effective user $effectiveUser not found. One 'acts as' the effective user." unless $effectiveUser; |
|
|
44 | die "permisson level for user $userName not found." unless $permissionLevel; |
|
|
45 | |
|
|
46 | |
|
|
47 | |
|
|
48 | |
| 42 | unless ($authz->hasPermissions($userName, "modify_student_data")) { |
49 | unless ($authz->hasPermissions($userName, "modify_student_data")) { |
| 43 | $self->{submitError} = "You are not authorized to modify student data"; |
50 | $self->{submitError} = "You are not authorized to modify student data"; |
| 44 | return; |
51 | return; |
| 45 | } |
52 | } |
| 46 | my @submit_actions = qw(student-dates act-as-student edit-set-dates reset-password assign-passwords |
53 | my @submit_actions = qw(student-dates act-as-student edit-set-dates reset-password assign-passwords |
| … | |
… | |
| 270 | ############################################################################################# |
277 | ############################################################################################# |
| 271 | # gather database data |
278 | # gather database data |
| 272 | ############################################################################################# |
279 | ############################################################################################# |
| 273 | # FIXME this might be better done in body? We don't always need all of this data. or do we? |
280 | # FIXME this might be better done in body? We don't always need all of this data. or do we? |
| 274 | # Obtaining the list of users |
281 | # Obtaining the list of users |
| 275 | $WeBWorK::timer2->continue("Begin listing users") if defined $WeBWorK::timer2; |
282 | $WeBWorK::timer->continue("Begin listing users") if defined $WeBWorK::timer; |
| 276 | my @userNames = $db->listUsers; |
283 | my @userNames = $db->listUsers; # checked |
| 277 | $WeBWorK::timer2->continue("End listing users") if defined $WeBWorK::timer2; |
284 | $WeBWorK::timer->continue("End listing users") if defined $WeBWorK::timer; |
| 278 | $WeBWorK::timer2->continue("Begin obtaining users") if defined $WeBWorK::timer2; |
285 | $WeBWorK::timer->continue("Begin obtaining users") if defined $WeBWorK::timer; |
| 279 | my @user_records = $db->getUsers(@userNames); |
286 | my @user_records = $db->getUsers(@userNames); # checked |
| 280 | $WeBWorK::timer2->continue("End obtaining users: ".@user_records) if defined $WeBWorK::timer2; |
287 | $WeBWorK::timer->continue("End obtaining users: ".@user_records) if defined $WeBWorK::timer; |
| 281 | |
288 | |
| 282 | # store data |
289 | # store data |
| 283 | $self->{ra_users} = \@userNames; |
290 | $self->{ra_users} = \@userNames; |
| 284 | $self->{ra_user_records} = \@user_records; |
291 | $self->{ra_user_records} = \@user_records; |
| 285 | |
292 | |
| 286 | # Obtaining list of sets: |
293 | # Obtaining list of sets: |
| 287 | $WeBWorK::timer2->continue("Begin listing sets") if defined $WeBWorK::timer2; |
294 | $WeBWorK::timer->continue("Begin listing sets") if defined $WeBWorK::timer; |
| 288 | my @setNames = $db->listGlobalSets(); |
295 | my @setNames = $db->listGlobalSets(); |
| 289 | $WeBWorK::timer2->continue("End listing sets") if defined $WeBWorK::timer2; |
296 | $WeBWorK::timer->continue("End listing sets") if defined $WeBWorK::timer; |
| 290 | my @set_records = (); |
297 | my @set_records = (); |
| 291 | $WeBWorK::timer2->continue("Begin obtaining sets") if defined $WeBWorK::timer2; |
298 | $WeBWorK::timer->continue("Begin obtaining sets") if defined $WeBWorK::timer; |
| 292 | @set_records = $db->getGlobalSets( @setNames); |
299 | @set_records = $db->getGlobalSets( @setNames); |
| 293 | $WeBWorK::timer2->continue("End obtaining sets: ".@set_records) if defined $WeBWorK::timer2; |
300 | $WeBWorK::timer->continue("End obtaining sets: ".@set_records) if defined $WeBWorK::timer; |
| 294 | # foreach my $name (@setNames) { |
301 | # foreach my $name (@setNames) { |
| 295 | # my $set_record; |
302 | # my $set_record; |
| 296 | # $set_record = $db->getMergedSet($user,$name,) ; |
303 | # $set_record = $db->getMergedSet($user,$name,) ; |
| 297 | # |
304 | # |
| 298 | # #warn "Adding set $name", ref($set_record); |
305 | # #warn "Adding set $name", ref($set_record); |