[system] / branches / rel-2-1-a1 / webwork-modperl / lib / WeBWorK / ContentGenerator / ProblemSet.pm Repository:
ViewVC logotype

Diff of /branches/rel-2-1-a1/webwork-modperl/lib/WeBWorK/ContentGenerator/ProblemSet.pm

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

Revision 719 Revision 720
54 my $courseName = $ce->{courseName}; 54 my $courseName = $ce->{courseName};
55 55
56 print CGI::strong("Problem Sets"), CGI::br(); 56 print CGI::strong("Problem Sets"), CGI::br();
57 57
58 my $wwdb = $self->{wwdb}; 58 my $wwdb = $self->{wwdb};
59 my $user = $self->{r}->param("user"); 59 my $effectiveUser = $self->{r}->param("effectiveUser");
60 my @sets; 60 my @sets;
61 push @sets, $wwdb->getSet($user, $_) foreach ($wwdb->getSets($user)); 61 push @sets, $wwdb->getSet($effectiveUser, $_) foreach ($wwdb->getSets($effectiveUser));
62 foreach my $set (sort { $a->open_date <=> $b->open_date } @sets) { 62 foreach my $set (sort { $a->open_date <=> $b->open_date } @sets) {
63 if (time >= $set->open_date) { 63 if (time >= $set->open_date) {
64 print CGI::a({-href=>"$root/$courseName/".$set->id."/?" 64 print CGI::a({-href=>"$root/$courseName/".$set->id."/?"
65 . $self->url_authen_args}, $set->id), CGI::br(); 65 . $self->url_authen_args}, $set->id), CGI::br();
66 } else { 66 } else {
81 my $r = $self->{r}; 81 my $r = $self->{r};
82 my $ce = $self->{courseEnvironment}; 82 my $ce = $self->{courseEnvironment};
83 83
84 my $wwdb = $self->{wwdb}; 84 my $wwdb = $self->{wwdb};
85 my $cldb = $self->{cldb}; 85 my $cldb = $self->{cldb};
86 my $user = $cldb->getUser($r->param("user")); 86 my $effectiveUser = $cldb->geteffectiveUser($r->param("effectiveUser"));
87 my $set = $wwdb->getSet($user->id, $setName); 87 my $set = $wwdb->getSet($effectiveUser->id, $setName);
88 my $psvn = $wwdb->getPSVN($user->id, $setName); 88 my $psvn = $wwdb->getPSVN($effectiveUser->id, $setName);
89 89
90 my $screenSetHeader = $set->problem_header || $ce->{webworkFiles}->{screenSnippets}->{setHeader}; 90 my $screenSetHeader = $set->problem_header || $ce->{webworkFiles}->{screenSnippets}->{setHeader};
91 my $displayMode = $ce->{pg}->{options}->{displayMode}; 91 my $displayMode = $ce->{pg}->{options}->{displayMode};
92 92
93 return "" unless defined $screenSetHeader and $screenSetHeader; 93 return "" unless defined $screenSetHeader and $screenSetHeader;
94 94
95 # decide what to do about problem number 95 # decide what to do about problem number
96 my $problem = WeBWorK::Problem->new( 96 my $problem = WeBWorK::Problem->new(
97 id => 0, 97 id => 0,
98 set_id => $set->id, 98 set_id => $set->id,
99 login_id => $user->id, 99 login_id => $effectiveUser->id,
100 source_file => $screenSetHeader, 100 source_file => $screenSetHeader,
101 # the rest of Problem's fields are not needed, i think 101 # the rest of Problem's fields are not needed, i think
102 ); 102 );
103 103
104 my $pg = WeBWorK::PG->new( 104 my $pg = WeBWorK::PG->new(
105 $ce, 105 $ce,
106 $user, 106 $effectiveUser,
107 $r->param('key'), 107 $r->param('key'),
108 $set, 108 $set,
109 $problem, 109 $problem,
110 $psvn, 110 $psvn,
111 {}, # no form fields! 111 {}, # no form fields!
128 128
129sub body { 129sub body {
130 my ($self, $setName) = @_; 130 my ($self, $setName) = @_;
131 my $r = $self->{r}; 131 my $r = $self->{r};
132 my $courseEnvironment = $self->{courseEnvironment}; 132 my $courseEnvironment = $self->{courseEnvironment};
133 my $user = $r->param('user'); 133 my $effectiveUser = $r->param('effectiveUser');
134 my $wwdb = $self->{wwdb}; 134 my $wwdb = $self->{wwdb};
135 135
136 my $hardcopyURL = 136 my $hardcopyURL =
137 $courseEnvironment->{webworkURLs}->{root} . "/" 137 $courseEnvironment->{webworkURLs}->{root} . "/"
138 . $courseEnvironment->{courseName} . "/" 138 . $courseEnvironment->{courseName} . "/"
146 CGI::th("Attempts"), 146 CGI::th("Attempts"),
147 CGI::th("Remaining"), 147 CGI::th("Remaining"),
148 CGI::th("Status"), 148 CGI::th("Status"),
149 ); 149 );
150 150
151 my $set = $wwdb->getSet($user, $setName); 151 my $set = $wwdb->getSet($effectiveUser, $setName);
152 my @problemNumbers = $wwdb->getProblems($user, $setName); 152 my @problemNumbers = $wwdb->getProblems($effectiveUser, $setName);
153 foreach my $problemNumber (sort { $a <=> $b } @problemNumbers) { 153 foreach my $problemNumber (sort { $a <=> $b } @problemNumbers) {
154 my $problem = $wwdb->getProblem($user, $setName, $problemNumber); 154 my $problem = $wwdb->getProblem($effectiveUser, $setName, $problemNumber);
155 print $self->problemListRow($set, $problem); 155 print $self->problemListRow($set, $problem);
156 } 156 }
157 157
158 print CGI::end_table(); 158 print CGI::end_table();
159 159

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

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9