--- loncom/interface/lonprintout.pm 2006/07/20 03:38:52 1.465 +++ loncom/interface/lonprintout.pm 2006/08/01 18:46:07 1.472 @@ -1,7 +1,8 @@ +# # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.465 2006/07/20 03:38:52 albertel Exp $ +# $Id: lonprintout.pm,v 1.472 2006/08/01 18:46:07 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2317,7 +2318,7 @@ ALL_PROBLEMS if ($helper->{VARS}->{'assignment'}) { push @{$printChoices}, [&mt("Selected Problems from folder [_1] for selected students",$sequenceTitle), 'problems_for_students', 'CHOOSE_STUDENTS']; - push @{$printChoices}, [&mt("Selected Problems from folder [_1] for anonymous students",$sequenceTitle), 'problems_for_anon', 'CHOOSE_ANON1']; + push @{$printChoices}, [&mt("Selected Problems from folder [_1] for CODEd assinments",$sequenceTitle), 'problems_for_anon', 'CHOOSE_ANON1']; } # resource_selector will hold a few states that: @@ -2404,7 +2405,7 @@ CHOOSE_STUDENTS } if (%codes_to_print) { $code_selection .=' - Choose single code from list + Choose single CODE from list: @@ -2412,7 +2413,7 @@ CHOOSE_STUDENTS push(@{$state->{CHOICES}},@{$helper->{DATA}{ALL_CODE_CHOICES}}); -
+ '.$/; } @@ -2432,9 +2433,12 @@ CHOOSE_STUDENTS $codechoice='Default'; } &Apache::lonxml::xmlparse($r, 'helper', < + SELECT_PROBLEMS -
Number of anonymous assignments to print: +

Fill out one of the forms below

+


+

Generate new CODEd Assignments

+
Number of CODEd assignments to print: if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) && @@ -2456,9 +2460,10 @@ CHOOSE_STUDENTS $codechoice -

-
- Enter a CODE to print: +
+
+

Print a Specific CODE


+
Enter a CODE to print: if(!\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'} && @@ -2471,17 +2476,16 @@ CHOOSE_STUDENTS } -

+
$code_selection - - - Reprint a set of saved CODEs: +
+

Reprint a Set of Saved CODEs

+ Select saved CODEs: $namechoice
-
$resource_selector CHOOSE_ANON1 @@ -2489,7 +2493,7 @@ CHOOSE_ANON1 if ($helper->{VARS}->{'assignment'}) { push @{$printChoices}, [&mt("Selected Resources from folder [_1] for selected students",$sequenceTitle), 'resources_for_students', 'CHOOSE_STUDENTS1']; - push @{$printChoices}, [&mt("Selected Resources from folder [_1] for anonymous students",$sequenceTitle), 'resources_for_anon', 'CHOOSE_ANON2']; + push @{$printChoices}, [&mt("Selected Resources from folder [_1] for CODEd assignments",$sequenceTitle), 'resources_for_anon', 'CHOOSE_ANON2']; } @@ -2540,9 +2544,12 @@ RESOURCE_SELECTOR CHOOSE_STUDENTS1 &Apache::lonxml::xmlparse($r, 'helper', < + SELECT_RESOURCES -
Number of anonymous assignments to print: +

Fill out one of the forms below

+


+

Generate new CODEd Assignments

+
Number of CODEd assignments to print: if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) && @@ -2564,9 +2571,9 @@ CHOOSE_STUDENTS1 $codechoice -

-
- Enter a CODE to print: +
+

Print a Specific CODE


+
Enter a CODE to print: if(!\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'} && @@ -2579,15 +2586,16 @@ CHOOSE_STUDENTS1 } -

+
$code_selection - Reprint a set of saved CODEs: +
+

Reprint a Set of Saved CODEs

+ Select saved CODEs: $namechoice
-
$resource_selector CHOOSE_ANON2 @@ -2643,7 +2651,7 @@ CHOOSE_FROM_SUBDIR PAGESIZE - return $isProblem + return $isNotMap return '$escapedSequenceName'; return $symbFilter; $start_new_option @@ -2975,6 +2983,7 @@ sub new { $self->{NEXTSTATE} = shift; bless($self); + return $self; } @@ -2984,6 +2993,8 @@ sub render { my $result = ''; my $var = $self->{'variable'}; + + if (defined $self->{ERROR_MSG}) { $result .= '
' . $self->{ERROR_MSG} . '
'; } @@ -3023,9 +3034,16 @@ sub render { } } - $result .= <How should each column be formatted?

@@ -3067,12 +3085,50 @@ ELEMENTHTML return $result; } -# If the user didn't select 1 column, skip this state. + sub preprocess { my $self = shift; my $helper = Apache::lonhelper::getHelper(); my $format = $helper->{VARS}->{$self->{'formatvar'}}; + + # If the user does not have 'pav' privilege, set default widths and + # on to the next state right away. + # + if (!$perm{'pav'}) { + my $var = $self->{'variable'}; + my $format = $helper->{VARS}->{$self->{'formatvar'}}; + + my ($laystyle, $cols, $papersize) = split(/\|/, $format); + ($papersize) = split(/ /, $papersize); + + + if ($laystyle eq 'L') { + $laystyle = 'album'; + } else { + $laystyle = 'book'; + } + # Figure out some good defaults for the print out and set them: + + my %size; + ($size{'width'}, + $size{'height'}, + $size{'lmargin'})= + &Apache::lonprintout::page_format($papersize, $laystyle, $cols); + + foreach my $dim ('width', 'height', 'lmargin') { + my ($value, $units) = split(/ /, $size{$dim}); + + $helper->{VARS}->{"$var.".$dim} = $value; + $helper->{VARS}->{"$var.".$dim.'unit'} = $units; + + } + + + # Transition to the next state + + $helper->changeState($self->{NEXTSTATE}); + } return 1; } @@ -3102,6 +3158,14 @@ sub postprocess { } if ($lmargin !~ /^-?[0-9]*(\.[0-9]*)?$/) { $error .= "Invalid left margin; please type only a number.
\n"; + } else { + # Adjust for LaTeX 1.0 inch margin: + + if ($env{"form.${var}.lmarginunit"} eq "in") { + $helper->{VARS}->{$var.'.lmargin'} = $lmargin - 1; + } else { + $helper->{VARS}->{$var.'.lmargin'} = $lmargin - 2.54; + } } if (!$error) {