[LON-CAPA-cvs] cvs: loncom(version_1_1_X) /homework inputtags.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Fri, 06 Feb 2004 22:39:56 -0000
albertel Fri Feb 6 17:39:56 2004 EDT
Modified files: (Branch: version_1_1_X)
/loncom/homework inputtags.pm
Log:
- backport 1.129
Index: loncom/homework/inputtags.pm
diff -u loncom/homework/inputtags.pm:1.124 loncom/homework/inputtags.pm:1.124.2.1
--- loncom/homework/inputtags.pm:1.124 Tue Nov 25 18:04:58 2003
+++ loncom/homework/inputtags.pm Fri Feb 6 17:39:56 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.124 2003/11/25 23:04:58 www Exp $
+# $Id: inputtags.pm,v 1.124.2.1 2004/02/06 22:39:56 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -500,7 +500,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 '';
@@ -567,21 +568,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/ ) {