--- loncom/homework/externalresponse.pm 2014/12/06 20:08:16 1.29 +++ loncom/homework/externalresponse.pm 2014/12/22 17:04:03 1.32 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # external style responses # -# $Id: externalresponse.pm,v 1.29 2014/12/06 20:08:16 raeburn Exp $ +# $Id: externalresponse.pm,v 1.32 2014/12/22 17:04:03 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -97,7 +97,8 @@ sub start_externalresponse { ($Apache::lonhomework::type eq 'anonsurveycred')) { $hiddendraft = ''; } else { - $result = &Apache::essayresponse::draft_row($part,$id,$ncol,$uploadedfiletypes); + $result = &Apache::essayresponse::draft_row($part,$id,$ncol,$uploadedfiletypes, + 'externalresponse'); } if ($ncol > 0) { $result .= &Apache::essayresponse::get_collab_row($part,$id,$coll,$ncol); @@ -150,7 +151,7 @@ sub end_externalresponse { $env{'form.HWFILETOOBIG'.$part.'_'.$id}; my $portfiles = $env{'form.HWPORT'.$jspart.'_'.$id}; my @deletions = &Apache::loncommon::get_env_multiple('form.HWFILE'.$jspart.'_'.$id.'_delete'); - my ($is_submit,$was_draft,$externalgrade); + my ($is_submit,$was_draft,$externalgrade,%info); if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') { $is_submit = 1; } @@ -173,9 +174,9 @@ sub end_externalresponse { } my $uploadedflag=0; my $totalsize=0; - my %info = ( - 'is_submit' => $is_submit, - ); + %info = ( + 'is_submit' => $is_submit, + ); my $url = &Apache::lonxml::get_param('url',$parstack,$safeeval); if ($url =~ m{^https?://([^/]+)/}) { use Socket; @@ -261,10 +262,18 @@ sub end_externalresponse { &Apache::lonhomework::showhash(%form); my $udom = &Apache::lonnet::EXT('user.domain'); my $uname = &Apache::lonnet::EXT('user.name'); - my $symb = $env{'resource.symb'}; + my $symb = &Apache::lonnet::symbread(); my %record = &Apache::lonnet::restore($symb,$env{'request.course.id'},$udom,$uname); my $ua = LWP::UserAgent->new; my $res = $ua->request(POST $url, \%form); + my @delaccess = keys(%currently_turned_in); + &Apache::lonnet::automated_portfile_access('ip',undef,\@delaccess,\%info); + my @submitted_portfiles = split(/,/,$Apache::lonhomework::results{"resource.$part.$id.portfiles"}); + my @versioned_portfiles; + &Apache::lonnet::portfiles_versioning($symb,$udom,$uname,\@submitted_portfiles, + \@versioned_portfiles); + $Apache::lonhomework::results{"resource.$part.$id.portfiles"} = + join(',',@versioned_portfiles); %Apache::loncapagrade::results=(); $Apache::lonhomework::results{"resource.$part.$id.submission"}=$response; if ($res->is_error()) {