[LON-CAPA-cvs] cvs: loncom /homework inputtags.pm structuretags.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Fri, 06 Feb 2004 22:36:40 -0000
albertel Fri Feb 6 17:36:40 2004 EDT
Modified files:
/loncom/homework inputtags.pm structuretags.pm
Log:
- always accept scantron answers
- check if the grade also changed on the problem before dicarding previous submissions
Index: loncom/homework/inputtags.pm
diff -u loncom/homework/inputtags.pm:1.128 loncom/homework/inputtags.pm:1.129
--- loncom/homework/inputtags.pm:1.128 Thu Jan 29 16:31:07 2004
+++ loncom/homework/inputtags.pm Fri Feb 6 17:36:40 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.128 2004/01/29 21:31:07 albertel Exp $
+# $Id: inputtags.pm,v 1.129 2004/02/06 22:36:40 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -498,7 +498,8 @@
sub setgradedata {
my ($award,$id,$previously_used) = @_;
# if the student already has it correct, don't modify the status
- if ($Apache::inputtags::status['-1'] ne 'CAN_ANSWER' &&
+ if (!$Apache::lonhomework::scantronmode &&
+ $Apache::inputtags::status['-1'] ne 'CAN_ANSWER' &&
$Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER') {
$Apache::lonhomework::results{"resource.$id.afterduedate"}=$award;
return '';
@@ -565,21 +566,28 @@
}
}
- # check if this was a previous submission if it was delete the
- # unneeded data and update the previously_used attribute
- if ( $previously_used eq 'PREVIOUSLY_USED') {
- if (lc($Apache::lonhomework::problemstatus) ne 'no') {
- delete($Apache::lonhomework::results{"resource.$id.tries"});
- $Apache::lonhomework::results{"resource.$id.previous"} = '1';
+ # did either of the overall awards chage? If so ignore the
+ # previous check
+ if (($Apache::lonhomework::results{"resource.$id.awarded"} eq
+ $Apache::lonhomework::history{"resource.$id.awarded"}) &&
+ ($Apache::lonhomework::results{"resource.$id.solved"} eq
+ $Apache::lonhomework::history{"resource.$id.solved"})) {
+ # check if this was a previous submission if it was delete the
+ # unneeded data and update the previously_used attribute
+ if ( $previously_used eq 'PREVIOUSLY_USED') {
+ if (lc($Apache::lonhomework::problemstatus) ne 'no') {
+ delete($Apache::lonhomework::results{"resource.$id.tries"});
+ $Apache::lonhomework::results{"resource.$id.previous"} = '1';
+ }
+ } elsif ( $previously_used eq 'PREVIOUSLY_LAST') {
+ #delete all data as they student didn't do anything, but save
+ #the list of collaborators.
+ &removealldata($id);
+ #and since they didn't do anything we were never here
+ return '';
+ } else {
+ $Apache::lonhomework::results{"resource.$id.previous"} = '0';
}
- } elsif ( $previously_used eq 'PREVIOUSLY_LAST') {
- #delete all data as they student didn't do anything, but save
- #the list of collaborators.
- &removealldata($id);
- #and since they didn't do anything we were never here
- return '';
- } else {
- $Apache::lonhomework::results{"resource.$id.previous"} = '0';
}
} elsif ( $Apache::lonhomework::history{"resource.$id.solved"} =~
/^correct/ ) {
Index: loncom/homework/structuretags.pm
diff -u loncom/homework/structuretags.pm:1.231 loncom/homework/structuretags.pm:1.232
--- loncom/homework/structuretags.pm:1.231 Mon Feb 2 12:28:53 2004
+++ loncom/homework/structuretags.pm Fri Feb 6 17:36:40 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.231 2004/02/02 17:28:53 sakharuk Exp $
+# $Id: structuretags.pm,v 1.232 2004/02/06 22:36:40 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -523,7 +523,7 @@
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' ||
$target eq 'tex') {
if ( $target eq 'grade' && $Apache::inputtags::part eq '0' &&
- $status eq 'CAN_ANSWER' ) {
+ ($status eq 'CAN_ANSWER' || $Apache::lonhomework::scantronmode)) {
# if part is zero, no <part>s existed, so we need to the grading
&Apache::inputtags::grade;
} elsif ( ($target eq 'web' || $target eq 'tex') &&
@@ -1015,7 +1015,9 @@
my $result='';
if ( $target eq 'meta' ) {
$result='';
- } elsif ( $target eq 'grade' && $status eq 'CAN_ANSWER' && !$hidden) {
+ } elsif ($target eq 'grade' &&
+ ($status eq 'CAN_ANSWER' || $Apache::lonhomework::scantronmode) &&
+ !$hidden) {
$result=&Apache::inputtags::grade;
} elsif (($target eq 'web' || $target eq 'tex') && !$hidden ) {
my $gradestatus=&Apache::inputtags::gradestatus($Apache::inputtags::part,