| 1 | ################################################################################ |
1 | ################################################################################ |
| 2 | # WeBWorK Online Homework Delivery System |
2 | # WeBWorK Online Homework Delivery System |
| 3 | # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ |
3 | # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ |
| 4 | # $CVSHeader: webwork2/lib/WeBWorK/ContentGenerator/Grades.pm,v 1.12 2005/02/05 01:32:56 gage Exp $ |
4 | # $CVSHeader: webwork-modperl/lib/WeBWorK/ContentGenerator/Grades.pm,v 1.13 2005/07/14 13:15:25 glarose Exp $ |
| 5 | # |
5 | # |
| 6 | # This program is free software; you can redistribute it and/or modify it under |
6 | # This program is free software; you can redistribute it and/or modify it under |
| 7 | # the terms of either: (a) the GNU General Public License as published by the |
7 | # the terms of either: (a) the GNU General Public License as published by the |
| 8 | # Free Software Foundation; either version 2, or (at your option) any later |
8 | # Free Software Foundation; either version 2, or (at your option) any later |
| 9 | # version, or (b) the "Artistic License" which comes with this package. |
9 | # version, or (b) the "Artistic License" which comes with this package. |
| … | |
… | |
| 125 | my $r = $self->r; |
125 | my $r = $self->r; |
| 126 | my $db = $r->db; |
126 | my $db = $r->db; |
| 127 | my $ce = $r->ce; |
127 | my $ce = $r->ce; |
| 128 | |
128 | |
| 129 | my $userName = $r->param('effectiveUser') || $r->param('user'); |
129 | my $userName = $r->param('effectiveUser') || $r->param('user'); |
|
|
130 | my $userID = $r->param('user'); |
| 130 | my $ur = $db->getUser($userName); |
131 | my $ur = $db->getUser($userName); |
| 131 | my $emailDirectory = $ce->{courseDirs}->{email}; |
132 | my $emailDirectory = $ce->{courseDirs}->{email}; |
| 132 | my $filePath = "$emailDirectory/report_grades.msg"; |
133 | my $filePath = "$emailDirectory/report_grades.msg"; |
| 133 | my $merge_file = "report_grades_data.csv"; |
134 | my $merge_file = "report_grades_data.csv"; |
| 134 | my $delimiter = ','; |
135 | my $delimiter = ','; |
| … | |
… | |
| 171 | $msg =~ s/\$SECTION/$SECTION/ge; |
172 | $msg =~ s/\$SECTION/$SECTION/ge; |
| 172 | $msg =~ s/\$RECITATION/$RECITATION/ge; |
173 | $msg =~ s/\$RECITATION/$RECITATION/ge; |
| 173 | $msg =~ s/\$EMAIL/$EMAIL/ge; |
174 | $msg =~ s/\$EMAIL/$EMAIL/ge; |
| 174 | $msg =~ s/\$LOGIN/$LOGIN/ge; |
175 | $msg =~ s/\$LOGIN/$LOGIN/ge; |
| 175 | if (defined($COL[1])) { # prevents extraneous error messages. |
176 | if (defined($COL[1])) { # prevents extraneous error messages. |
| 176 | $msg =~ s/\$COL\[(\-?\d+)\]/$COL[$1]/ge |
177 | $msg =~ s/\$COL\[(\-?\d+)\]/$COL[$1] if defined($COL[$1])/ge |
| 177 | } |
178 | } |
| 178 | else { # prevents extraneous $COL's in email message |
179 | else { # prevents extraneous $COL's in email message |
| 179 | $msg =~ s/\$COL\[(\-?\d+)\]//g |
180 | $msg =~ s/\$COL\[(\-?\d+)\]//g |
| 180 | } |
181 | } |
| 181 | |
182 | |
| … | |
… | |
| 190 | # $msg =~ s/(\$LOGIN)/eval($1)/ge; |
191 | # $msg =~ s/(\$LOGIN)/eval($1)/ge; |
| 191 | # $msg =~ s/\$COL\[ *-/\$COL\[$endCol-/g; |
192 | # $msg =~ s/\$COL\[ *-/\$COL\[$endCol-/g; |
| 192 | # $msg =~ s/(\$COL\[.*?\])/eval($1)/ge; |
193 | # $msg =~ s/(\$COL\[.*?\])/eval($1)/ge; |
| 193 | |
194 | |
| 194 | $msg =~ s/\r//g; |
195 | $msg =~ s/\r//g; |
|
|
196 | $msg = "<pre>$msg</pre>"; |
|
|
197 | $msg = qq!More scoring information goes here in [TMPL]/email/report_grades.msg. It |
|
|
198 | is merged with the file [Scoring]/report_grades_data.csv. <br>These files can be edited |
|
|
199 | using the "Email" link and the "Scoring Tools" link in the left margin.<p>!.$msg if ($r->authz->hasPermissions($userID, "access_instructor_tools")); |
| 195 | return CGI::div( |
200 | return CGI::div( |
| 196 | {style =>"background-color:#DDDDDD"}, "More scoring information goes here in \$emailDirectory/report_grades.msg. It |
201 | {style =>"background-color:#DDDDDD"}, $msg |
| 197 | is merged with the file \$scoringDirectory/report_grades_data.csv. <p> |
|
|
| 198 | <pre>$msg</pre>" |
|
|
| 199 | ); |
202 | ); |
| 200 | } |
203 | } |
| 201 | |
204 | |
| 202 | sub displayStudentStats { |
205 | sub displayStudentStats { |
| 203 | my ($self, $studentName) = @_; |
206 | my ($self, $studentName) = @_; |