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

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

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

Revision 920 Revision 926
72 my $redisplay = $r->param("redisplay"); 72 my $redisplay = $r->param("redisplay");
73 my $submitAnswers = $r->param("submitAnswers"); 73 my $submitAnswers = $r->param("submitAnswers");
74 my $checkAnswers = $r->param("checkAnswers"); 74 my $checkAnswers = $r->param("checkAnswers");
75 my $previewAnswers = $r->param("previewAnswers"); 75 my $previewAnswers = $r->param("previewAnswers");
76 76
77 # fields which may be defined when using Problem Editor
78 my $override_seed = ($permissionLevel>=10) ? $r->param('seed') : undef;
79 my $override_problem_source = ($permissionLevel>=10) ? $r->param('sourceFilePath') : undef;
80 my $editMode = undef;
81 my $submit_button = $r->param('submit_button');
82 if ( defined($submit_button ) ) {
83 $editMode = "temporaryFile" if $submit_button eq 'Refresh';
84 $editMode = 'savedFile' if $submit_button eq 'Save';
85 }
77 # coerce form fields into CGI::Vars format 86 # coerce form fields into CGI::Vars format
78 my $formFields = { WeBWorK::Form->new_from_paramable($r)->Vars }; 87 my $formFields = { WeBWorK::Form->new_from_paramable($r)->Vars };
79 88
80 $self->{displayMode} = $displayMode; 89 $self->{displayMode} = $displayMode;
81 $self->{redisplay} = $redisplay; 90 $self->{redisplay} = $redisplay;
82 $self->{submitAnswers} = $submitAnswers; 91 $self->{submitAnswers} = $submitAnswers;
83 $self->{checkAnswers} = $checkAnswers; 92 $self->{checkAnswers} = $checkAnswers;
84 $self->{previewAnswers} = $previewAnswers; 93 $self->{previewAnswers} = $previewAnswers;
85 $self->{formFields} = $formFields; 94 $self->{formFields} = $formFields;
86 95
96 $self->{current_problem_source} = (defined($override_problem_source) ) ?
97 $override_problem_source :
98 $problem->source_file;
99 $self->{edit_mode} = $editMode;
87 ##### permissions ##### 100 ##### permissions #####
88 101
89 # are we allowed to view this problem? 102 # are we allowed to view this problem?
90 $self->{isOpen} = time >= $set->open_date || $permissionLevel > 0; 103 $self->{isOpen} = time >= $set->open_date || $permissionLevel > 0;
91 return unless $self->{isOpen}; 104 return unless $self->{isOpen};
146 $problem, 159 $problem,
147 $psvn, 160 $psvn,
148 $formFields, 161 $formFields,
149 { # translation options 162 { # translation options
150 displayMode => $displayMode, 163 displayMode => $displayMode,
164 override_seed => $override_seed,
165 override_problem_source =>$override_problem_source,
151 showHints => $will{showHints}, 166 showHints => $will{showHints},
152 showSolutions => $will{showSolutions}, 167 showSolutions => $will{showSolutions},
153 refreshMath2img => $will{showHints} || $will{showSolutions}, 168 refreshMath2img => $will{showHints} || $will{showSolutions},
154 processAnswers => 1, 169 processAnswers => 1,
155 }, 170 },
258} 273}
259 274
260sub title { 275sub title {
261 my $self = shift; 276 my $self = shift;
262 my $setName = $self->{set}->set_id; 277 my $setName = $self->{set}->set_id;
278
279 my $file_action;
280 my $edit_mode = $self->{edit_mode};
281 if ( not defined($edit_mode) ) {
282 $file_action = '';
283 } elsif ( $edit_mode eq 'temporaryFile') {
284 $file_action .= 'Editing temporary file : '. CGI::br() . $self->{current_problem_source};
285 } elsif ( $edit_mode eq 'savedFile' ){
286 $file_action .= 'Problem saved to : '. CGI::br() . $self->{current_problem_source};
287 }
263 my $problemNumber = $self->{problem}->problem_id; 288 my $problemNumber = $self->{problem}->problem_id . " : " . $file_action;
264 289
265 return "$setName : Problem $problemNumber"; 290 return "$setName : Problem $problemNumber";
266} 291}
267 292
268sub body { 293sub body {
495 520
496 521
497 522
498 } 523 }
499 # FIXME print editor link 524 # FIXME print editor link
500 if ($self->{permissionLevel}>=10 ) { 525 # print editor link if the user is an instructor AND the file is not in temporary editing mode
526 if ($self->{permissionLevel}>=10 and ( (not defined($self->{edit_mode})) or $self->{edit_mode} eq 'savedFile') ) {
501 print CGI::a({-href=>"/webwork/$courseName/instructor/pgProblemEditor/".$set->set_id. 527 print CGI::a({-href=>"/webwork/$courseName/instructor/pgProblemEditor/".$set->set_id.
502 '/'.$problem->problem_id.'?'.$self->url_authen_args},'Edit this problem'); 528 '/'.$problem->problem_id.'?'.$self->url_authen_args},'Edit this problem');
503 } 529 }
504 print CGI::end_div(); 530 print CGI::end_div();
505 531

Legend:
Removed from v.920  
changed lines
  Added in v.926

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9