--- loncom/interface/lonprintout.pm 2023/03/10 16:05:01 1.627.2.32.2.6
+++ loncom/interface/lonprintout.pm 2023/04/18 18:48:14 1.627.2.32.2.7
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.627.2.32.2.6 2023/03/10 16:05:01 raeburn Exp $
+# $Id: lonprintout.pm,v 1.627.2.32.2.7 2023/04/18 18:48:14 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -453,7 +453,7 @@ sub generate_common_choosers {
&get_randomly_ordered_warning($helper, $map);
# code for a few states used for printout launched from both
- # /adm/navmpas and from a resource by a privileged user:
+ # /adm/navmaps and from a resource by a privileged user:
# - To allow resources to be selected for printing.
# - To determine pagination between assignments.
# - To determine how many assignments should be bundled into a single PDF.
@@ -756,7 +756,7 @@ sub get_print_dates {
# get_print_dates but namvaps::course_print_dates are gotten...and not converted
# to times either.
#
-# @param $res - Reference to a resource has from lonnvampas::resource.
+# @param $res - Reference to a resource hash from lonnavmaps::resource.
#
# @return (opendate, closedate)
#
@@ -770,7 +770,7 @@ sub course_print_dates {
my @close_dates;
my $navmap = $res->{NAV_MAP}; # Slightly OO dirty.
- # Don't bother looping over undefined or empty parts arraY;
+ # Don't bother looping over undefined or empty parts array;
if (@parts) {
foreach my $part (@parts) {
@@ -796,7 +796,7 @@ sub map_print_dates {
my $navmap = $res->{NAV_MAP}; # slightly OO dirty.
- # Don't bother looping over undefined or empty parts arraY;
+ # Don't bother looping over undefined or empty parts array;
if (@parts) {
foreach my $part (@parts) {
@@ -897,8 +897,8 @@ sub master_seq_to_person_seq {
my $iterator = $navmap->getIterator($start,$finish,{},1);
# Iterate on the resource..select the items that are randomly selected
- # and that are in the seq_has. Presumably the iterator will take care
- # of the random ordering part of the deal.
+ # and that are in the seq_hash. Presumably the iterator will take care
+ # of the random ordering part of the deal.
my $curres;
while ($curres = $iterator->next()) {
#
@@ -974,7 +974,7 @@ sub set_font_size {
my ($text) = @_;
# There appear to be cases where the font directive is empty.. in which
- # case the first substituion would insert a spurious \ oh happy day.
+ # case the first substitution would insert a spurious \ oh happy day.
# as this has been the cause of much mystery and hair pulling _sigh_
if ($font_size ne '') {
@@ -992,7 +992,7 @@ sub set_font_size {
# - The PDF, if necessary, is replicated.
# - The PDF is added to the list of files to convert to postscript (along with the images).
# - The LaTeX is added to include the final converted postscript in the file as an included
-# job. The assumption is that the includedpsheader.ps header will be included.
+# job. The assumption is that the includepsheader.ps header will be included.
#
# Parameters:
# pdf_uri - URI of the PDF file to include.
@@ -1016,9 +1016,9 @@ sub include_pdf {
$file = &Apache::lonnet::filelocation('',$pdf_uri);
}
- # The file isn ow replicated locally.. or it did not exist in the first place
+ # The file is now replicated locally ... or it did not exist in the first place
# (unlikely). If it did exist, add the pdf to the set of files/images that
- # need tob e converted for this print job:
+ # need to be converted for this print job:
my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'};
$file =~ s{(.*)/res/}{$londocroot/res/};
@@ -1155,8 +1155,8 @@ sub printf_style_subst {
if ($size ne "") {
$subst = substr($subst, 0, $size);
- # Here's a nice edge case.. supose the end of the
- # substring is a \. In that case may have just
+ # Here's a nice edge case ... suppose the end of the
+ # substring is a \. In that case may have just
# chopped off a TeX escape... in that case, we append
# " " for the trailing character, and let the field
# spill over a bit (sigh).
@@ -1444,7 +1444,7 @@ sub compare_names {
}
# Break the tie on the first name, but there are leading (possibly trailing
- # whitespaces to get rid of first
+ # whitespaces to get rid of first)
#
$f1 =~ s/^\s+//; # Remove leading...
$f1 =~ s/\s+$//; # Trailing spaces from first 1...
@@ -2535,7 +2535,7 @@ sub load_skips {
my ($helper) = @_;
- # If this is the first time, unrap the resources and extra spaces:
+ # If this is the first time, unwrap the resources and extra spaces:
if (!$skips_loaded) {
@extraspace = (split(/\|\|\|/, $helper->{'VARS'}->{'EXTRASPACE'}));
@@ -2842,8 +2842,8 @@ ENDPART
my @student_names=();
- # Common settings for the %form has:
- # In some cases these settings get overriddent by specific cases, but the
+ # Common settings for the %form hash:
+ # In some cases these settings get overridden by specific cases, but the
# settings are common enough to make it worthwhile factoring them out
# here.
#
@@ -3312,6 +3312,8 @@ ENDPART
($map, my $id, my $resource) =
&Apache::lonnet::decode_symb($helper->{VARS}->{'symb'});
}
+ } elsif (($helper->{'VARS'}->{'postdata'} eq '/adm/navmaps') && ($perm{'pfo'})) {
+ $map = $helper->{'VARS'}->{'SEQUENCE'};
}
#loop over students
@@ -3401,6 +3403,8 @@ ENDPART
if ($helper->{VARS}{'symb'}) {
($map, my $id, my $resource) =
&Apache::lonnet::decode_symb($helper->{VARS}{'symb'});
+ } elsif (($helper->{'VARS'}->{'postdata'} eq '/adm/navmaps') && ($perm{'pfo'})) {
+ $map = $helper->{'VARS'}->{'SEQUENCE'};
}
my %moreenv = ('textwidth' => &get_textwidth($helper,$LaTeXwidth));
$moreenv{'problem_split'} = $parmhash{'problem_stream_switch'};
@@ -3799,7 +3803,7 @@ sub print_resources {
# nice to put the special in as a postscript comment
# e.g. \special{ps:\ENDOFSTUDENTSTAMP} unfortunately,
# The special gets passed the \ and dvips puts it in the output file
- # so we will just rely on prntout.pl to strip ENDOFSTUDENTSTAMP from the
+ # so we will just rely on printout.pl to strip ENDOFSTUDENTSTAMP from the
# postscript. Each ENDOFSTUDENTSTAMP will go on a line by itself.
#
@@ -3910,7 +3914,7 @@ sub print_resources {
$rendered =~ s/\\end\{document}//;
}
$current_output .= $rendered.'\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}\strut \vskip 0 mm \strut ';
- } elsif($res_url = ~/\.pdf$/) {
+ } elsif($res_url =~ /\.pdf$/) {
my $url = &Apache::lonnet::clutter($res_url);
my $rendered = &include_pdf($url);
if ($remove_latex_header ne 'NO') {
@@ -4824,12 +4828,47 @@ CHOOSE_FROM_SUBDIR
'','','','','',''),
'select_sequences_resources_for_anon','CHOOSE_SEQUENCE_ANON2']);
if ($escapedSequenceName) {
- &generate_common_choosers($r,$helper,$escapedSequenceName,$escapedSequenceName,$isProblem,$symbFilter,$start_new_option);
+ my ($randomly_ordered_warning,$codechoice,$code_selection,$namechoice) =
+ &generate_common_choosers($r,$helper,$escapedSequenceName,$escapedSequenceName,
+ $isProblem,$symbFilter,$start_new_option);
+
+ my $resource_selector = <
+
+ Sort by section then student
+ Sort by students across sections.
+
+
+
+
+
+
+ $randomly_ordered_warning
+ PRINT_FORMATTING
+ (mark desired resources then click "next" button)
+
+ return $isNotMap;
+ $escapedSequenceName
+ return $symbFilter;
+ $start_new_option
+
+
+RESOURCE_SELECTOR
+
+ my $anon3 = &generate_code_selector($helper,
+ 'CHOOSE_ANON3',
+ 'SELECT_RESOURCES',
+ $codechoice,
+ $code_selection,
+ $namechoice) . $resource_selector;
+
+ &Apache::lonxml::xmlparse($r, 'helper',$anon3);
}
}
}
if (($subdir eq '') && ($url eq '/adm/navmaps') && ($perm{'pfo'})) {
- &Apache::lonxml::xmlparse($r, 'helper', <
Select the sequence to print resources from:
@@ -4863,7 +4902,7 @@ CHOOSE_FROM_SUBDIR
Select the sequence to print resources from:
- CHOOSE_STUDENTS
+ CHOOSE_STUDENTS2
return &Apache::lonprintout::printable_sequence(\$res);
return $urlValue;
return \$res->hasResource(\$res,sub { return !\$_[0]->is_sequence() },0,0);
@@ -4873,7 +4912,7 @@ CHOOSE_FROM_SUBDIR
Select the sequence to print resources from:
- CHOOSE_ANON1
+ CHOOSE_ANON3
return &Apache::lonprintout::printable_sequence(\$res);
return $urlValue;
return \$res->hasResource(\$res,sub { return !\$_[0]->is_sequence() },0,0);