--- loncom/homework/grades.pm 2013/04/11 14:59:39 1.686 +++ loncom/homework/grades.pm 2013/06/01 00:22:42 1.689 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Grading handler # -# $Id: grades.pm,v 1.686 2013/04/11 14:59:39 bisitz Exp $ +# $Id: grades.pm,v 1.689 2013/06/01 00:22:42 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -7923,9 +7923,10 @@ sub scantron_process_students { return ''; } my $map=$navmap->getResourceByUrl($sequence); - my $randomorder; + my ($randomorder,$randompick); if (ref($map)) { $randomorder = $map->randomorder(); + $randompick = $map->randompick(); } my @resources=$navmap->retrieveResources($map,\&scantron_filter,1,0); my (%grader_partids_by_symb,%grader_randomlists_by_symb,%ordered); @@ -8034,7 +8035,7 @@ SCANTRONFORM } my @mapresources = @resources; - if ($randomorder) { + if ($randomorder || $randompick) { @mapresources = &users_order($user,$scancode,$sequence,\@master_seq,\%ordered, \%symb_to_resource); @@ -8214,7 +8215,7 @@ sub users_order { my $actual_seq = &Apache::lonprintout::master_seq_to_person_seq($mapurl, $master_seq, - $user,$scancode); + $user,$scancode,1); if (ref($actual_seq) eq 'ARRAY') { @{$ordered->{$scancode}} = map { $symb_to_resource->{$_}; } @{$actual_seq}; @@ -8225,7 +8226,7 @@ sub users_order { my $actual_seq = &Apache::lonprintout::master_seq_to_person_seq($mapurl, $master_seq, - $user); + $user,undef,1); if (ref($actual_seq) eq 'ARRAY') { @mapresources = map { $symb_to_resource->{$_}; } @{$actual_seq}; @@ -8539,9 +8540,10 @@ sub checkscantron_results { return ''; } my $map=$navmap->getResourceByUrl($sequence); - my ($randomorder,@master_seq,%symb_to_resource); + my ($randomorder,$randompick,@master_seq,%symb_to_resource); if (ref($map)) { $randomorder=$map->randomorder(); + $randompick=$map->randompick(); } my @resources=$navmap->retrieveResources($map,\&scantron_filter,1,0); foreach my $resource (@resources) { @@ -8619,7 +8621,7 @@ sub checkscantron_results { } my @mapresources = @resources; - if ($randomorder) { + if ($randomorder || $randompick) { @mapresources = &users_order($user,$scancode,$sequence,\@master_seq,\%ordered, \%symb_to_resource); @@ -9757,6 +9759,7 @@ sub handler { } } elsif (!%perm) { $request->internal_redirect('/adm/quickgrades'); + return OK; } &Apache::loncommon::content_type($request,'text/html'); $request->send_http_header;