--- loncom/homework/essayresponse.pm 2010/08/28 22:25:07 1.111 +++ loncom/homework/essayresponse.pm 2010/12/31 02:40:14 1.113 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # essay (ungraded) style responses # -# $Id: essayresponse.pm,v 1.111 2010/08/28 22:25:07 raeburn Exp $ +# $Id: essayresponse.pm,v 1.113 2010/12/31 02:40:14 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -68,7 +68,7 @@ sub start_essayresponse { if ($Apache::lonhomework::history{"resource.$part.award"} eq 'DRAFT') { $status_text .= '
'.&mt('(Currently -- draft)'); } - $result.= '

'.&Apache::lonhtmlcommon::start_pick_box(). + $result.= '

'.&Apache::lonhtmlcommon::start_pick_box(). &Apache::lonhtmlcommon::row_title($status_text); if (($Apache::lonhomework::type ne 'survey') && ($Apache::lonhomework::type ne 'surveycred') && @@ -111,7 +111,7 @@ sub start_essayresponse { } $result.=&Apache::inputtags::file_selector($part,$id,$uploadedfiletypes, $filesfrom,undef,$maxfilesize); - $result.=&Apache::lonhtmlcommon::end_pick_box().'

'; + $result.=&Apache::lonhtmlcommon::end_pick_box().'
'; } elsif ($target eq 'web' && $Apache::inputtags::status[-1] ne 'CAN_ANSWER') { my $part= $Apache::inputtags::part; @@ -308,6 +308,8 @@ sub file_submission { $port_delete{$file} = 1; } elsif ($file =~ m{^/uploaded/\Q$udom\E/\Q$uname\E/essayresponse/\Q$cdom\E/\Q$cnum\E/}) { $uploaded_delete = $file; + } elsif ($file =~ m{^/uploaded/\Q$udom\E/\Q$uname\E/essayresponse/[^/]+$}) { + $uploaded_delete = $file; } } } @@ -318,8 +320,12 @@ sub file_submission { } } if ($uploaded_delete) { - $Apache::lonhomework::results{"resource.$part.$id.uploadedfile"} = ""; - $Apache::lonhomework::results{"resource.$part.$id.uploadedurl"} = ""; + if ($uploaded_delete eq $uploadedurl) { + $Apache::lonhomework::results{"resource.$part.$id.uploadedfile"} = ""; + $Apache::lonhomework::results{"resource.$part.$id.uploadedurl"} = ""; + } else { + undef($uploaded_delete); + } } } if ($env{'form.HWPORT'.$jspart.'_'.$id} ne '') { @@ -516,7 +522,9 @@ sub file_submission { $Apache::lonhomework::results{"resource.$part.$id.portfiles"} = ""; } } - if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"} ne $Apache::lonhomework::results{"resource.$part.$id.portfiles"}) { + if (($Apache::lonhomework::history{"resource.$part.$id.portfiles"} ne + $Apache::lonhomework::results{"resource.$part.$id.portfiles"}) || + ($uploaded_delete)) { if (ref($uploadedflag)) { $$uploadedflag=1; }