--- loncom/homework/bridgetask.pm 2010/04/01 00:37:15 1.251 +++ loncom/homework/bridgetask.pm 2010/09/27 18:45:14 1.253 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.251 2010/04/01 00:37:15 raeburn Exp $ +# $Id: bridgetask.pm,v 1.253 2010/09/27 18:45:14 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1085,14 +1085,21 @@ sub end_Task { } if ($status eq 'CAN_ANSWER' && !$previous && !$env{'form.donescreen'}) { - $result.="\n".''. + my ($portheader,$porttext); + if ($Apache::lonhomework::history{"resource.$version.0.bridgetask.portfiles"}) { + $portheader = &mt('Submit Additional Portfolio Files for Grading'); + $porttext = &mt('Indicate which additional files from your portfolio are to be evaluated in grading this task.'); + } else { + $portheader = &mt('Submit Portfolio Files for Grading'); + $porttext = &mt('Indicate the files from your portfolio to be evaluated in grading this task.'); + } + $result.="\n".'

'.&Apache::lonhtmlcommon::start_pick_box(). &Apache::inputtags::file_selector("$version.0", "bridgetask","*", 'portfolioonly', - ' -

'.&mt('Submit Portfolio Files for Grading').'

-

'.&mt('Indicate the files from your portfolio to be evaluated in grading this task.').'

'). - "
"; + '

'.$portheader.'


'. + $porttext.'
'). + &Apache::lonhtmlcommon::end_pick_box().'

'; } if (!$previous && $status ne 'SHOW_ANSWER' && &show_task($status,$previous)) { @@ -1191,8 +1198,11 @@ DONEBUTTON if ($target eq 'grade' && !$env{'form.webgrade'} && !$previous && $status eq 'CAN_ANSWER') { my $award='SUBMITTED'; + my $uploadedflag=0; + my $totalsize=0; + my @deletions = &Apache::loncommon::get_env_multiple('form.HWFILE'.$version.'_0_bridgetask_delete'); &Apache::essayresponse::file_submission("$version.0",'bridgetask', - 'portfiles',\$award); + \$award,\$uploadedflag,\$totalsize,\@deletions); if ($award eq 'SUBMITTED' && $Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}) { $Apache::lonhomework::results{"resource.0.tries"}= @@ -1205,7 +1215,9 @@ DONEBUTTON $Apache::lonhomework::results{"resource.0.submission"}= $Apache::lonhomework::results{"resource.$version.0.submission"}=''; } else { - delete($Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}); + unless($uploadedflag) { + delete($Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}); + } $award = ''; } &Apache::lonhomework::showhash(%Apache::lonhomework::results); @@ -1322,39 +1334,39 @@ DONEBUTTON } if ($canstore) { &Apache::structuretags::finalize_storage(); + # data stored, now handle queue + if ($review) { + if ($env{'form.queue'} eq 'reviewqueue') { + &check_queue_unlock($env{'form.queue'}); + &Apache::lonxml::debug(" still needs review not changing status."); + } else { + if ($env{'form.queue'} ne 'none') { + &move_between_queues($env{'form.queue'},'reviewqueue'); + } else { + &add_to_queue('reviewqueue',\%queue_data); + } + } + } elsif ($ungraded) { + if ($env{'form.queue'} eq 'reviewqueue') { + &Apache::lonxml::debug("moving back."); + &move_between_queues($env{'form.queue'}, + 'gradingqueue'); + } elsif ($env{'form.queue'} eq 'none' ) { + &add_to_queue('gradingqueue',\%queue_data); + } else { + &check_queue_unlock($env{'form.queue'}); + } + } elsif ($mandatory_failed) { + &remove_from_queue($env{'form.queue'}); + } else { + &remove_from_queue($env{'form.queue'}); + } } else { + &check_queue_unlock($env{'form.queue'}); $result .= '
'. - &mt('Information extracted from the current gradingkey was for a different BT or user from those for which grading data are to be stored.').' '.&mt('No grading changes stored.').'

'; + &mt('Information extracted from the current gradingkey was for a different BT or user from those for which grading data are to be stored.').' '.&mt('No grading changes stored.').'
'; } - - # data stored, now handle queue - if ($review) { - if ($env{'form.queue'} eq 'reviewqueue') { - &check_queue_unlock($env{'form.queue'}); - &Apache::lonxml::debug(" still needs review not changing status."); - } else { - if ($env{'form.queue'} ne 'none') { - &move_between_queues($env{'form.queue'},'reviewqueue'); - } else { - &add_to_queue('reviewqueue',\%queue_data); - } - } - } elsif ($ungraded) { - if ($env{'form.queue'} eq 'reviewqueue') { - &Apache::lonxml::debug("moving back."); - &move_between_queues($env{'form.queue'}, - 'gradingqueue'); - } elsif ($env{'form.queue'} eq 'none' ) { - &add_to_queue('gradingqueue',\%queue_data); - } else { - &check_queue_unlock($env{'form.queue'}); - } - } elsif ($mandatory_failed) { - &remove_from_queue($env{'form.queue'}); - } else { - &remove_from_queue($env{'form.queue'}); - } - } + } if (exists($Apache::lonhomework::results{'INTERNAL_store'})) { # instance generation occurred and hasn't yet been stored &Apache::structuretags::finalize_storage();