[system] / trunk / webwork2 / lib / WeBWorK / ContentGenerator / Hardcopy.pm Repository:
ViewVC logotype

Diff of /trunk/webwork2/lib/WeBWorK/ContentGenerator/Hardcopy.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 737 Revision 738
51 $self->{sets} = \@sets; 51 $self->{sets} = \@sets;
52 $self->{users} = \@users; 52 $self->{users} = \@users;
53 $self->{errors} = []; 53 $self->{errors} = [];
54 $self->{warnings} = []; 54 $self->{warnings} = [];
55 55
56 # security checks - these have to be put somewhere 56 # security checks
57 my $multiSet = $self->{permissionLevel} > 0; 57 my $multiSet = $self->{permissionLevel} > 0;
58 my $multiUser = $self->{permissionLevel} > 0; 58 my $multiUser = $self->{permissionLevel} > 0;
59 if (@sets > 1 and not $multiSet) { 59 if (@sets > 1 and not $multiSet) {
60 $self->{generationError} = ["SIMPLE", "You are not permitted to generate hardcopy for multiple sets. Please select a single set and try again."]; 60 $self->{generationError} = ["SIMPLE", "You are not permitted to generate hardcopy for multiple sets. Please select a single set and try again."];
61 } 61 }
171 } 171 }
172 print CGI::end_p(); 172 print CGI::end_p();
173 173
174 print CGI::start_form(-method=>"POST", -action=>$r->uri); 174 print CGI::start_form(-method=>"POST", -action=>$r->uri);
175 print $self->hidden_authen_fields(); 175 print $self->hidden_authen_fields();
176 warn "showHints=", $r->param("showHints"), "\n";
177 print CGI::p(
178 CGI::checkbox(
179 -name => "showCorrectAnswers",
180 -checked => $r->param("showCorrectAnswers") || 0,
181 -label => "Correct answers",
182 ), CGI::br(),
183 CGI::checkbox(
184 -name => "showHints",
185 -checked => $r->param("showHints") || 0,
186 -label => "Hints",
187 ), CGI::br(),
188 CGI::checkbox(
189 -name => "showSolutions",
190 -checked => $r->param("showSolutions") || 0,
191 -label => "Solutions",
192 ),
193 );
176 print CGI::start_table({-width=>"100%"}), CGI::start_Tr({-valign=>"top"}); 194 print CGI::start_table({-width=>"100%"}), CGI::start_Tr({-valign=>"top"});
177 195
178 my $multiSet = $self->{permissionLevel} > 0; 196 my $multiSet = $self->{permissionLevel} > 0;
179 my $multiUser = $self->{permissionLevel} > 0; 197 my $multiUser = $self->{permissionLevel} > 0;
180 198
408sub getProblemTeX { 426sub getProblemTeX {
409 my ($self, $setName, $problemNumber, $pgFile) = @_; 427 my ($self, $setName, $problemNumber, $pgFile) = @_;
410 my $r = $self->{r}; 428 my $r = $self->{r};
411 my $ce = $self->{courseEnvironment}; 429 my $ce = $self->{courseEnvironment};
412 430
413 my $wwdb = $self->{wwdb}; 431 my $wwdb = $self->{wwdb};
414 my $cldb = $self->{cldb}; 432 my $cldb = $self->{cldb};
433 my $authdb = $self->{authdb};
415 my $effectiveUser = $self->{effectiveUser}; 434 my $effectiveUser = $self->{effectiveUser};
435 my $permissionLevel = $self->{permissionLevel};
416 my $set = $wwdb->getSet($effectiveUser->id, $setName); 436 my $set = $wwdb->getSet($effectiveUser->id, $setName);
417 my $psvn = $wwdb->getPSVN($effectiveUser->id, $setName); 437 my $psvn = $wwdb->getPSVN($effectiveUser->id, $setName);
418 438
419 # decide what to do about problem number 439 # decide what to do about problem number
420 my $problem; 440 my $problem;
426 set_id => $set->id, 446 set_id => $set->id,
427 login_id => $effectiveUser->id, 447 login_id => $effectiveUser->id,
428 source_file => $pgFile, 448 source_file => $pgFile,
429 # the rest of Problem's fields are not needed, i think 449 # the rest of Problem's fields are not needed, i think
430 ); 450 );
451 }
452
453 # *** right here, figure out if we're allowed to get solutions and call PG->new accordingly.
454 my $showCorrectAnswers = $r->param("showCorrectAnswers") || 0;
455 my $showHints = $r->param("showHints") || 0;
456 my $showSolutions = $r->param("showSolutions") || 0;
457 unless ($permissionLevel > 0 or time > $set->due_date) {
458 $showCorrectAnswers = 0;
459 $showSolutions = 0;
431 } 460 }
432 461
433 my $pg = WeBWorK::PG->new( 462 my $pg = WeBWorK::PG->new(
434 $ce, 463 $ce,
435 $effectiveUser, 464 $effectiveUser,
464 # if there was an error, body_text contains 493 # if there was an error, body_text contains
465 # the error context, not TeX code 494 # the error context, not TeX code
466 $pg->{body_text} = undef; 495 $pg->{body_text} = undef;
467 } 496 }
468 497
498 # *** right here, append list of correct answers to body text
499
469 return $pg->{body_text}; 500 return $pg->{body_text};
470} 501}
471 502
472sub texInclude { 503sub texInclude {
473 my ($self, $texFile) = @_; 504 my ($self, $texFile) = @_;

Legend:
Removed from v.737  
changed lines
  Added in v.738

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9