--- loncom/interface/lonprintout.pm 2012/11/30 20:48:27 1.624 +++ loncom/interface/lonprintout.pm 2012/12/08 20:10:26 1.625 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.624 2012/11/30 20:48:27 raeburn Exp $ +# $Id: lonprintout.pm,v 1.625 2012/12/08 20:10:26 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -718,7 +718,7 @@ sub incomplete { # print_resources. # sub master_seq_to_person_seq { - my ($helper, $seq, $who) = @_; + my ($helper, $seq, $who, $code) = @_; my ($username, $userdomain, $usersection) = split(/:/, $who); @@ -732,7 +732,8 @@ sub master_seq_to_person_seq { my @output_seq; my ($map, $id, $url) = &Apache::lonnet::decode_symb($helper->{VARS}->{'symb'}); - my $navmap = Apache::lonnavmaps::navmap->new($username, $userdomain); + my $navmap = Apache::lonnavmaps::navmap->new($username, $userdomain, + $code); my $iterator = $navmap->getIterator($navmap->firstResource(), $navmap->finishResource(), {}, 1); @@ -3204,7 +3205,6 @@ ENDPART my $old_name=$helper->{'VARS'}->{'REUSE_OLD_CODES'}; my $single_code = $helper->{'VARS'}->{'SINGLE_CODE'}; my $selected_code = $helper->{'VARS'}->{'CODE_SELECTED_FROM_LIST'}; - my $code_option=$helper->{'VARS'}->{'CODE_OPTION'}; my @lines = &Apache::grades::get_scantronformat_file(); my ($code_type,$code_length,$bubbles_per_row)=('letter',6,10); @@ -3221,6 +3221,19 @@ ENDPART } } } + my ($randomorder,$randompick); + if ($helper->{VARS}{'symb'}) { + my $navmap = Apache::lonnavmaps::navmap->new(); + if (defined($navmap)) { + my ($map,$id,$resource) = + &Apache::lonnet::decode_symb($helper->{VARS}{'symb'}); + if ($map) { + my $res = $navmap->getResourceByUrl($map); + $randomorder = $res->randomorder(); + $randompick = $res->randompick(); + } + } + } my %moreenv = ('textwidth' => &get_textwidth($helper,$LaTeXwidth)); $moreenv{'problem_split'} = $parmhash{'problem_stream_switch'}; $moreenv{'instructor_comments'}='hide'; @@ -3282,9 +3295,16 @@ ENDPART } else { $moreenv{'CODE'}=&num_to_letters($code); } + my $actual_seq = \@master_seq; + if ($randomorder) { + $env{'form.CODE'} = $moreenv{'CODE'}; + $actual_seq = master_seq_to_person_seq($helper,\@master_seq,undef, + $moreenv{'CODE'}); + delete($env{'form.CODE'}); + } my ($output,$fullname, $printed)= &print_resources($r,$helper,'anonymous',$type,\%moreenv, - \@master_seq,$flag_latex_header_remove, + $actual_seq,$flag_latex_header_remove, $LaTeXwidth); $resources_printed .= ":"; $print_array[$file_num].=$output;