version 1.180, 2005/11/15 22:28:30
|
version 1.181, 2005/11/16 22:52:22
|
Line 403 sub valid_award {
|
Line 403 sub valid_award {
|
} |
} |
|
|
sub finalizeawards { |
sub finalizeawards { |
my ($awardref,$msgref)=@_; |
my ($awardref,$msgref,$nameref,$reverse)=@_; |
my $result=undef; |
my $result=undef; |
my $award; |
my $award; |
my $msg; |
my $msg; |
Line 419 sub finalizeawards {
|
Line 419 sub finalizeawards {
|
if ($blankcount == ($#$awardref + 1)) { $result = 'NO_RESPONSE'; } |
if ($blankcount == ($#$awardref + 1)) { $result = 'NO_RESPONSE'; } |
} |
} |
if (defined($result)) { return ($result,$msg); } |
if (defined($result)) { return ($result,$msg); } |
foreach my $possibleaward ('MISSING_ANSWER', 'ERROR', 'NO_RESPONSE', |
|
'TOO_LONG', 'UNIT_INVALID_INSTRUCTOR', |
# these awards are ordered from most important error through best correct |
'UNIT_INVALID_STUDENT', 'UNIT_IRRECONCIBLE', |
|
'UNIT_FAIL', 'NO_UNIT', |
my @awards = ('MISSING_ANSWER', 'ERROR', 'NO_RESPONSE', 'TOO_LONG', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', |
'UNIT_INVALID_INSTRUCTOR', 'UNIT_INVALID_STUDENT', |
'BAD_FORMULA', 'SIG_FAIL', 'INCORRECT', |
'UNIT_IRRECONCIBLE', 'UNIT_FAIL', 'NO_UNIT', |
'MISORDERED_RANK', 'INVALID_FILETYPE', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', 'BAD_FORMULA', |
'DRAFT', 'SUBMITTED', 'ASSIGNED_SCORE', |
'COMMA_FAIL', 'SIG_FAIL', 'INCORRECT', 'MISORDERED_RANK', |
'APPROX_ANS', 'EXACT_ANS','COMMA_FAIL') { |
'INVALID_FILETYPE', 'DRAFT', 'SUBMITTED', 'ASSIGNED_SCORE', |
|
'APPROX_ANS', 'EXACT_ANS'); |
|
if ($reverse) { @awards=reverse(@awards); } |
|
foreach my $possibleaward (@awards) { |
($result,$msg)=&checkstatus($possibleaward,$awardref,$msgref); |
($result,$msg)=&checkstatus($possibleaward,$awardref,$msgref); |
if (defined($result)) { return ($result,$msg); } |
if (defined($result)) { return ($result,$msg); } |
} |
} |