--- loncom/interface/lonprintout.pm 2003/10/09 19:15:25 1.253
+++ loncom/interface/lonprintout.pm 2003/10/10 13:38:26 1.254
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.253 2003/10/09 19:15:25 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.254 2003/10/10 13:38:26 sakharuk Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -861,6 +861,8 @@ ENDPART
$selectionmade = 3;
} elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') {
$selectionmade = 4;
+ } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences') {
+ $selectionmade = 7;
}
$form{'symb'}=$master_seq[$i];
my ($sequence)=&Apache::lonnet::decode_symb($master_seq[$i]);
@@ -914,9 +916,13 @@ ENDPART
&Apache::lonnet::delenv('form.counter');
if ($flag_page_in_sequence eq 'YES') {$result =~ s/\\usepackage{calc}/\\usepackage{calc}\\usepackage{longtable}/;}
$result .= '\end{document}';
- } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'problems_for_students') {
+ } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'problems_for_students') || ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'resources_for_students')) {
#-- prints assignments for whole class or for selected students
- $selectionmade=5;
+ if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'problems_for_students') {
+ $selectionmade=5;
+ } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'resources_for_students') {
+ $selectionmade=8;
+ }
my @students=split /\|\|\|/, $helper->{'VARS'}->{'STUDENTS'};
my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'};
#loop over students
@@ -936,7 +942,7 @@ ENDPART
&Apache::lonnet::delenv('form.counter');
&Apache::lonxml::init_counter();
foreach my $curresline (@master_seq) {
- if ($curresline=~ m/\.(problem|exam|quiz|assess|survey|form|library)$/) {
+ if ((($curresline=~ m/\.(problem|exam|quiz|assess|survey|form|library)$/) && ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'problems_for_students')) || ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'resources_for_students')) {
my ($map,$id,$res_url) = &Apache::lonnet::decode_symb($curresline);
if (&Apache::lonnet::allowed('bre',$res_url)) {
my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,
@@ -1263,7 +1269,7 @@ sub printHelper {
my $paramHash;
if ($resourceTitle) {
- push @{$printChoices}, ["$resourceTitle (what you just saw on the screen)", 'current_document', 'PAGESIZE'];
+ push @{$printChoices}, ["$resourceTitle (what you just saw on the screen)", 'current_document', 'PAGESIZE'];
}
# $r->print($helper->{VARS}->{'postdata'});
@@ -1289,9 +1295,9 @@ sub printHelper {
$helper->{VARS}->{'postdata'} &&
$helper->{VARS}->{'assignment'}) {
# Allow problems from sequence
- push @{$printChoices}, ["Problems in $sequenceTitle", 'map_problems', 'CHOOSE_PROBLEMS'];
+ push @{$printChoices}, ["Problems in $sequenceTitle", 'map_problems', 'CHOOSE_PROBLEMS'];
# Allow all resources from sequence
- push @{$printChoices}, ["Resources in $sequenceTitle", 'map_problems_pages', 'CHOOSE_PROBLEMS_HTML'];
+ push @{$printChoices}, ["Resources in $sequenceTitle", 'map_problems_pages', 'CHOOSE_PROBLEMS_HTML'];
my $helperFragment = <
@@ -1321,9 +1327,9 @@ HELPERFRAGMENT
# If the user is priviledged, allow them to print all
# problems in the course, optionally for selected students
if ($userPriviledged && ($helper->{VARS}->{'postdata'}=~/\/res\//)) {
- push @{$printChoices}, ['Problems from entire course', 'all_problems', 'ALL_PROBLEMS'];
+ push @{$printChoices}, ['Problems from entire course', 'all_problems', 'ALL_PROBLEMS'];
if ($helper->{VARS}->{'assignment'}) {
- push @{$printChoices}, ["Problems from $sequenceTitle for selected students", 'problems_for_students', 'CHOOSE_STUDENTS'];
+ push @{$printChoices}, ["Problems from $sequenceTitle for selected students", 'problems_for_students', 'CHOOSE_STUDENTS'];
}
&Apache::lonxml::xmlparse($r, 'helper', <
Select resources for the assignment
- return $isProblem
+ return $isProblem;
$map
- return $symbFilter
+ return $symbFilter;
How should the results be printed?
@@ -1355,11 +1361,34 @@ HELPERFRAGMENT
CHOOSE_STUDENTS
+
+ if ($helper->{VARS}->{'assignment'}) {
+ push @{$printChoices}, ["Resources from $sequenceTitle for selected students", 'resources_for_students', 'CHOOSE_STUDENTS1'];
+ }
+ &Apache::lonxml::xmlparse($r, 'helper', <
+
+
Select resources for the assignment
+
+ return $isNotMap;
+ $map
+ return $symbFilter;
+
+
How should the results be printed?
+
+ Start each student\'s assignment on a new page/column (add a pagefeed after each assignment)
+ Add one empty page/column after each student\'s assignment
+ Add two empty pages/column after each student\'s assignment
+ Add three empty pages/column after each student\'s assignment
+
+
+CHOOSE_STUDENTS1
+
}
# FIXME: That RE should come from a library somewhere.
if ((((&Apache::lonnet::allowed('bre',$subdir) eq 'F') and ($helper->{VARS}->{'postdata'}=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)/)) or defined $helper->{'VARS'}->{'construction'}) and $ENV{'request.role.adv'} and $subdir ne '/home/httpd/html/res/') {
- push @{$printChoices}, ["Problems from current subdirectory $subdir", 'problems_from_directory', 'CHOOSE_FROM_SUBDIR'];
+ push @{$printChoices}, ["Problems from current subdirectory $subdir", 'problems_from_directory', 'CHOOSE_FROM_SUBDIR'];
my $f = '$filename';
my $xmlfrag = <{VARS}->{'construction'}) {
- push @$printChoices, ["Resources from selected sequence in course",
+ push @$printChoices, ["Resources from selected sequence in course",
'select_sequences', 'CHOOSE_SEQUENCE'];
my $escapedSequenceName = $helper->{VARS}->{'SEQUENCE'};
#Escape apostrophes and backslashes for Perl