--- loncom/homework/inputtags.pm 2002/01/17 12:23:31 1.50
+++ loncom/homework/inputtags.pm 2002/03/01 00:23:04 1.53
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.50 2002/01/17 12:23:31 harris41 Exp $
+# $Id: inputtags.pm,v 1.53 2002/03/01 00:23:04 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -89,7 +89,14 @@ sub start_textfield {
}
if ($oldresponse ne '') {
#get rid of any startup text if the user has already responded
- &Apache::lonxml::get_all_text("/textfield",$$parser[$#$parser]);
+ &Apache::lonxml::get_all_text("/textfield",$$parser[-1]);
+ }
+ }
+ if ($target eq 'grade') {
+ my $seedtext=&Apache::lonxml::get_all_text("/textfield",$$parser[-1]);
+ if ($seedtext eq $ENV{'form.HWVAL'.$Apache::inputtags::response[-1]}) {
+ # if the seed text is still there it wasn't a real submission
+ $ENV{'form.HWVAL'.$Apache::inputtags::response['-1']}='';
}
}
return $result;
@@ -285,9 +292,15 @@ sub decideoutput {
sub setgradedata {
my ($award,$id,$previously_used) = @_;
# if the student already has it correct, don't modify the status
- if ( $Apache::lonhomework::history{"resource.$id.solved"} !~
+ if ($Apache::inputtags::status['-1'] ne 'CAN_ANSWER') {
+ $Apache::lonhomework::results{"resource.$id.afterduedate"}=$award;
+ return '';
+ } elsif ( $Apache::lonhomework::history{"resource.$id.solved"} !~
/^correct/ ) {
#handle assignment of tries and solved status
+ if ($Apache::lonhomework::history{"resource.$id.afterduedate"}) {
+ $Apache::lonhomework::results{"resource.$id.afterduedate"}='';
+ }
if ( $award eq 'APPROX_ANS' || $award eq 'EXACT_ANS' ) {
$Apache::lonhomework::results{"resource.$id.tries"} =
$Apache::lonhomework::history{"resource.$id.tries"} + 1;
@@ -370,6 +383,7 @@ sub gradestatus {
my ($id) = @_;
my $showbutton = 1;
my $message = '';
+ my $latemessage = '';
my $trystr='';
my $button='';
my $previousmsg='';
@@ -401,14 +415,18 @@ sub gradestatus {
}
if ( $status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER') {$showbutton = 0;}
if ( $showbutton ) {
- $button = '
';
+ $button = '
';
+ }
+ if ($Apache::lonhomework::history{"resource.$id.afterduedate"}) {
+ #last submissions was after due date
+ $latemessage="