[system] / trunk / webwork-modperl / lib / WeBWorK / ContentGenerator / Problem.pm Repository:
ViewVC logotype

Diff of /trunk/webwork-modperl/lib/WeBWorK/ContentGenerator/Problem.pm

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

Revision 718 Revision 719
64 64
65 # set options from form fields (see comment at top of file for names) 65 # set options from form fields (see comment at top of file for names)
66 my $displayMode = $r->param("displayMode") || $courseEnv->{pg}->{options}->{displayMode}; 66 my $displayMode = $r->param("displayMode") || $courseEnv->{pg}->{options}->{displayMode};
67 my $redisplay = $r->param("redisplay"); 67 my $redisplay = $r->param("redisplay");
68 my $submitAnswers = $r->param("submitAnswers"); 68 my $submitAnswers = $r->param("submitAnswers");
69 my $checkAnswers = $r->param("checkAnswers");
69 my $previewAnswers = $r->param("previewAnswers"); 70 my $previewAnswers = $r->param("previewAnswers");
70 71
71 # coerce form fields into CGI::Vars format 72 # coerce form fields into CGI::Vars format
72 my $formFields = { WeBWorK::Form->new_from_paramable($r)->Vars }; 73 my $formFields = { WeBWorK::Form->new_from_paramable($r)->Vars };
73 74
77 my %want = ( 78 my %want = (
78 showOldAnswers => $r->param("showOldAnswers") || $courseEnv->{pg}->{options}->{showOldAnswers}, 79 showOldAnswers => $r->param("showOldAnswers") || $courseEnv->{pg}->{options}->{showOldAnswers},
79 showCorrectAnswers => $r->param("showCorrectAnswers") || $courseEnv->{pg}->{options}->{showCorrectAnswers}, 80 showCorrectAnswers => $r->param("showCorrectAnswers") || $courseEnv->{pg}->{options}->{showCorrectAnswers},
80 showHints => $r->param("showHints") || $courseEnv->{pg}->{options}->{showHints}, 81 showHints => $r->param("showHints") || $courseEnv->{pg}->{options}->{showHints},
81 showSolutions => $r->param("showSolutions") || $courseEnv->{pg}->{options}->{showSolutions}, 82 showSolutions => $r->param("showSolutions") || $courseEnv->{pg}->{options}->{showSolutions},
82 recordAnswers => $r->param("recordAnswers") || 1, 83 #recordAnswers => $r->param("recordAnswers") || 1,
84 recordAnswers => $submitAnswers,
83 ); 85 );
84 86
85 # are certain options enforced? 87 # are certain options enforced?
86 my %must = ( 88 my %must = (
87 showOldAnswers => 0, 89 showOldAnswers => 0,
154 $self->{permissionLevel} = $permissionLevel; 156 $self->{permissionLevel} = $permissionLevel;
155 157
156 $self->{displayMode} = $displayMode; 158 $self->{displayMode} = $displayMode;
157 $self->{redisplay} = $redisplay; 159 $self->{redisplay} = $redisplay;
158 $self->{submitAnswers} = $submitAnswers; 160 $self->{submitAnswers} = $submitAnswers;
161 $self->{checkAnswers} = $checkAnswers;
159 $self->{previewAnswers} = $previewAnswers; 162 $self->{previewAnswers} = $previewAnswers;
160 $self->{formFields} = $formFields; 163 $self->{formFields} = $formFields;
161 164
162 $self->{want} = \%want; 165 $self->{want} = \%want;
163 $self->{must} = \%must; 166 $self->{must} = \%must;
267 my $wwdb = $self->{wwdb}; 270 my $wwdb = $self->{wwdb};
268 my $set = $self->{set}; 271 my $set = $self->{set};
269 my $problem = $self->{problem}; 272 my $problem = $self->{problem};
270 my $permissionLevel = $self->{permissionLevel}; 273 my $permissionLevel = $self->{permissionLevel};
271 my $submitAnswers = $self->{submitAnswers}; 274 my $submitAnswers = $self->{submitAnswers};
275 my $checkAnswers = $self->{checkAnswers};
272 my $previewAnswers = $self->{previewAnswers}; 276 my $previewAnswers = $self->{previewAnswers};
277 my %want = %{ $self->{want} };
278 my %can = %{ $self->{can} };
279 my %must = %{ $self->{must} };
273 my %will = %{ $self->{will} }; 280 my %will = %{ $self->{will} };
274 my $pg = $self->{pg}; 281 my $pg = $self->{pg};
275 282
276 ##### translation errors? ##### 283 ##### translation errors? #####
277 284
321 ##### output ##### 328 ##### output #####
322 329
323 # attempt summary 330 # attempt summary
324 if ($submitAnswers or $will{showCorrectAnswers}) { 331 if ($submitAnswers or $will{showCorrectAnswers}) {
325 # print this if user submitted answers OR requested correct answers 332 # print this if user submitted answers OR requested correct answers
326 print $self->attemptResults($pg, $submitAnswers, $will{showCorrectAnswers}, 333 print $self->attemptResults($pg, $submitAnswers,
334 $will{showCorrectAnswers},
327 $pg->{flags}->{showPartialCorrectAnswers}, 0); 335 $pg->{flags}->{showPartialCorrectAnswers}, 0);
336 } elsif ($checkAnswers) {
337 # print this if user previewed answers
338 print $self->attemptResults($pg, 1, 0, 1, 0);
339 # show attempt answers
340 # don't show correct answers
341 # show attempt results (correctness)
342 # don't show attempt previews
328 } elsif ($previewAnswers) { 343 } elsif ($previewAnswers) {
329 # print this if user previewed answers 344 # print this if user previewed answers
330 print $self->attemptResults($pg, 1, 0, 0, 1); 345 print $self->attemptResults($pg, 1, 0, 0, 1);
331 # don't show correctness 346 # show attempt answers
332 # don't show correct answers 347 # don't show correct answers
348 # don't show attempt results (correctness)
349 # show attempt previews
333 } 350 }
334 351
335 # score summary 352 # score summary
336 my $attempts = $problem->num_correct + $problem->num_incorrect; 353 my $attempts = $problem->num_correct + $problem->num_incorrect;
337 my $attemptsNoun = $attempts != 1 ? "times" : "time"; 354 my $attemptsNoun = $attempts != 1 ? "times" : "time";
370 CGI::startform("POST", $r->uri), 387 CGI::startform("POST", $r->uri),
371 $self->hidden_authen_fields, 388 $self->hidden_authen_fields,
372 CGI::p(CGI::i($pg->{result}->{msg})), 389 CGI::p(CGI::i($pg->{result}->{msg})),
373 CGI::p($pg->{body_text}), 390 CGI::p($pg->{body_text}),
374 CGI::p( 391 CGI::p(
375 CGI::submit(-name=>"submitAnswers", -label=>"Submit Answers"), 392 ($can{recordAnswers}
376 CGI::submit(-name=>"previewAnswers", -label=>"Preview Answers"), 393 ? CGI::submit(-name=>"submitAnswers",
394 -label=>"Submit Answers")
395 : ""),
396 ($can{recordAnswers}
397 ? CGI::submit(-name=>"checkAnswers",
398 -label=>"Check Answers")
399 : ""),
400 CGI::submit(-name=>"previewAnswers",
401 -label=>"Preview Answers"),
377 ), 402 ),
378 $self->viewOptions(), 403 $self->viewOptions(),
379 CGI::endform(); 404 CGI::endform();
380 405
381 # feedback form 406 # feedback form

Legend:
Removed from v.718  
changed lines
  Added in v.719

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9