[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 691 Revision 692
41 41
42sub pre_header_initialize { 42sub pre_header_initialize {
43 my ($self, $setName, $problemNumber) = @_; 43 my ($self, $setName, $problemNumber) = @_;
44 my $courseEnv = $self->{courseEnvironment}; 44 my $courseEnv = $self->{courseEnvironment};
45 my $r = $self->{r}; 45 my $r = $self->{r};
46 my $userName = $r->param('user'); 46 my $authUserName = $r->param("user");
47 my $userName = $r->param("effectiveUser");
47 48
48 ##### database setup ##### 49 ##### database setup #####
49 50
50 my $cldb = WeBWorK::DB::Classlist->new($courseEnv); 51 my $cldb = WeBWorK::DB::Classlist->new($courseEnv);
51 my $wwdb = WeBWorK::DB::WW->new($courseEnv); 52 my $wwdb = WeBWorK::DB::WW->new($courseEnv);
53 54
54 my $user = $cldb->getUser($userName); 55 my $user = $cldb->getUser($userName);
55 my $set = $wwdb->getSet($userName, $setName); 56 my $set = $wwdb->getSet($userName, $setName);
56 my $problem = $wwdb->getProblem($userName, $setName, $problemNumber); 57 my $problem = $wwdb->getProblem($userName, $setName, $problemNumber);
57 my $psvn = $wwdb->getPSVN($userName, $setName); 58 my $psvn = $wwdb->getPSVN($userName, $setName);
58 my $permissionLevel = $authdb->getPermissions($userName); 59 my $permissionLevel = $authdb->getPermissions($authUserName);
59 60
60 ##### form processing ##### 61 ##### form processing #####
61 62
62 # set options from form fields (see comment at top of file for names) 63 # set options from form fields (see comment at top of file for names)
63 my $displayMode = $r->param("displayMode") || $courseEnv->{pg}->{options}->{displayMode}; 64 my $displayMode = $r->param("displayMode") || $courseEnv->{pg}->{options}->{displayMode};
64 my $redisplay = $r->param("redisplay"); 65 my $redisplay = $r->param("redisplay");
65 my $submitAnswers = $r->param("submitAnswers"); 66 my $submitAnswers = $r->param("submitAnswers");
66 my $previewAnswers = $r->param("previewAnswers"); 67 my $previewAnswers = $r->param("previewAnswers");
67 68
68 # coerce form fields into CGI::Vars format 69 # coerce form fields into CGI::Vars format
141 142
142 $self->{cldb} = $cldb; 143 $self->{cldb} = $cldb;
143 $self->{wwdb} = $wwdb; 144 $self->{wwdb} = $wwdb;
144 $self->{authdb} = $authdb; 145 $self->{authdb} = $authdb;
145 146
147 $self->{userName} = $userName;
146 $self->{user} = $user; 148 $self->{user} = $user;
147 $self->{set} = $set; 149 $self->{set} = $set;
148 $self->{problem} = $problem; 150 $self->{problem} = $problem;
149 $self->{permissionLevel} = $permissionLevel; 151 $self->{permissionLevel} = $permissionLevel;
150 152
205 my $courseName = $ce->{courseName}; 207 my $courseName = $ce->{courseName};
206 208
207 print CGI::strong("Problems"), CGI::br(); 209 print CGI::strong("Problems"), CGI::br();
208 210
209 my $wwdb = $self->{wwdb}; 211 my $wwdb = $self->{wwdb};
210 my $user = $self->{r}->param("user"); 212 my $user = $self->{userName};
211 my @problems; 213 my @problems;
212 push @problems, $wwdb->getProblem($user, $setName, $_) 214 push @problems, $wwdb->getProblem($user, $setName, $_)
213 foreach ($wwdb->getProblems($user, $setName)); 215 foreach ($wwdb->getProblems($user, $setName));
214 foreach my $problem (sort { $a->id <=> $b->id } @problems) { 216 foreach my $problem (sort { $a->id <=> $b->id } @problems) {
215 print CGI::a({-href=>"$root/$courseName/$setName/".$problem->id."/?" 217 print CGI::a({-href=>"$root/$courseName/$setName/".$problem->id."/?"
216 . $self->url_authen_args}, "Problem ".$problem->id), CGI::br(); 218 . $self->url_authen_args . "&displayMode=" . $self->{displayMode}},
219 "Problem ".$problem->id), CGI::br();
217 } 220 }
218} 221}
219 222
220sub nav { 223sub nav {
221 my $self = shift; 224 my $self = shift;
226 my $ce = $self->{courseEnvironment}; 229 my $ce = $self->{courseEnvironment};
227 my $root = $ce->{webworkURLs}->{root}; 230 my $root = $ce->{webworkURLs}->{root};
228 my $courseName = $ce->{courseName}; 231 my $courseName = $ce->{courseName};
229 232
230 my $wwdb = $self->{wwdb}; 233 my $wwdb = $self->{wwdb};
231 my $user = $self->{r}->param("user"); 234 my $user = $self->{userName};
235 my $tail = "&displayMode=".$self->{displayMode};
232 236
233 my @links = ("Problem List" => "$root/$courseName/$setName"); 237 my @links = ("Problem List" => "$root/$courseName/$setName");
234 238
235 my $prevProblem = $wwdb->getProblem($user, $setName, $problemNumber-1); 239 my $prevProblem = $wwdb->getProblem($user, $setName, $problemNumber-1);
236 my $nextProblem = $wwdb->getProblem($user, $setName, $problemNumber+1); 240 my $nextProblem = $wwdb->getProblem($user, $setName, $problemNumber+1);
239 : ""; 243 : "";
240 push @links, "Next Problem" => $nextProblem 244 push @links, "Next Problem" => $nextProblem
241 ? "$root/$courseName/$setName/".$nextProblem->id 245 ? "$root/$courseName/$setName/".$nextProblem->id
242 : ""; 246 : "";
243 247
244 return $self->navMacro($args, @links); 248 return $self->navMacro($args, $tail, @links);
245} 249}
246 250
247sub title { 251sub title {
248 my $self = shift; 252 my $self = shift;
249 my $setName = $self->{set}->id; 253 my $setName = $self->{set}->id;
396 if ($pg->{warnings} ne "") { 400 if ($pg->{warnings} ne "") {
397 print CGI::hr(), warningOutput($pg->{warnings}); 401 print CGI::hr(), warningOutput($pg->{warnings});
398 } 402 }
399 403
400 # debugging stuff 404 # debugging stuff
401 print 405 #print
402 CGI::hr(), 406 # CGI::hr(),
403 CGI::h2("debugging information"), 407 # CGI::h2("debugging information"),
404 CGI::h3("form fields"), 408 # CGI::h3("form fields"),
405 ref2string($self->{formFields}), 409 # ref2string($self->{formFields}),
406 CGI::h3("user object"), 410 # CGI::h3("user object"),
407 ref2string($self->{user}), 411 # ref2string($self->{user}),
408 CGI::h3("set object"), 412 # CGI::h3("set object"),
409 ref2string($set), 413 # ref2string($set),
410 CGI::h3("problem object"), 414 # CGI::h3("problem object"),
411 ref2string($problem), 415 # ref2string($problem),
412 CGI::h3("PG object"), 416 # CGI::h3("PG object"),
413 ref2string($pg, {'WeBWorK::PG::Translator' => 1}); 417 # ref2string($pg, {'WeBWorK::PG::Translator' => 1});
414 418
415 return ""; 419 return "";
416} 420}
417 421
418##### output utilities ##### 422##### output utilities #####

Legend:
Removed from v.691  
changed lines
  Added in v.692

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9