--- loncom/homework/externalresponse.pm	2013/08/22 11:13:43	1.22
+++ loncom/homework/externalresponse.pm	2013/09/11 10:25:50	1.24
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # external style responses
 #
-# $Id: externalresponse.pm,v 1.22 2013/08/22 11:13:43 www Exp $
+# $Id: externalresponse.pm,v 1.24 2013/09/11 10:25:50 kruse Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -177,12 +177,6 @@ sub end_externalresponse {
     my $id = $Apache::inputtags::response['-1'];
     my $increment     = 1;
     if ($target eq 'grade') {
-        my $collaborators = $env{'form.HWCOL'.$part.'_'.$id};
-        my $previous_list= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.collaborators"},'<>&"');
-        if ($collaborators ne $previous_list) {
-#          &Apache::lonnet::logthis("New collaborators [$collaborators] [$previous_list]");
-           $Apache::lonhomework::results{"resource.$part.$id.collaborators"}=$collaborators;
-        }
 	if (  &Apache::response::submitted('scantron') ) {
 	    my $increment=&Apache::response::scored_response($part,$id);
 	} elsif ( &Apache::response::submitted() ) {
@@ -193,7 +187,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);
+            my ($is_submit,$was_draft,$externalgrade);
             if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') {
                  $is_submit = 1;
             }
@@ -243,7 +237,9 @@ sub end_externalresponse {
                                          { $akey => $response },$adom,$aname);
                     }
                 }
+            ($award eq 'DRAFT') ? ($externalgrade = 0) : ($externalgrade =1);
             }
+          if($externalgrade){
 	    my $response = &Apache::response::getresponse();
 
             my $filesresults=0;
@@ -257,19 +253,19 @@ sub end_externalresponse {
             }
 # Currently turned in files
             my %currently_turned_in=();
-            foreach my $file (split(/\,/,$Apache::lonhomework::results{"resource.$part.$id.portfiles"}.','.
+           foreach my $file (split(/\,/,$Apache::lonhomework::results{"resource.$part.$id.portfiles"}.','.
                                          $Apache::lonhomework::results{"resource.$part.$id.uploadedurl"})) {
-               if ($file=~/\S/) {
+              if ($file=~/\S/) {
                   $filesresults=1;
                   $currently_turned_in{'/uploaded/'.$env{'user.domain'}.'/'.$env{'user.name'}.'/portfolio'.$file}=1;
                }
             }
-            my $filelinks=join(',',map{&escape($_)}(keys(%currently_turned_in)));
+            my $filelinks=join(',',map{$_}(keys(%currently_turned_in)));
             &Apache::lonnet::logthis("Previously: ".join("\n",sort(keys(%previously_turned_in))));
             &Apache::lonnet::logthis("Currently: ".join("\n",sort(keys(%currently_turned_in))));
             &Apache::lonnet::logthis("File flag: ".$filesresults);
             &Apache::lonnet::logthis("Links String: ".$filelinks);
-	    if (( $response =~ /[^\s]/) ||  $filesresults ) {
+	    if ($filesresults || ( $response =~ /[^\s]/)  ) {
 		my $url = &Apache::lonxml::get_param('url',$parstack,$safeeval);
 		my $answer = &Apache::lonxml::get_param('answer',$parstack,$safeeval);
 		my %form = &Apache::lonxml::get_param_var('form',$parstack,$safeeval);
@@ -286,8 +282,6 @@ sub end_externalresponse {
                 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 %previous = &Apache::response::check_for_previous($response,
-								     $part,$id);
 		%Apache::loncapagrade::results=();
 		$Apache::lonhomework::results{"resource.$part.$id.submission"}=$response;
 		if ($res->is_error()) {
@@ -304,12 +298,12 @@ sub end_externalresponse {
 			$Apache::loncapagrade::results{$key};
 		}
                 $Apache::externalresponse::message=$Apache::loncapagrade::results{'message'};
-		&Apache::response::handle_previous(\%previous,
-						   $Apache::loncapagrade::results{'awarddetail'});
                 if ($Apache::loncapagrade::results{'awarddetail'} eq 'ASSIGNED_SCORE') {
                    $Apache::lonhomework::results{"resource.$part.$id.awarded"}=
                         1.*$Apache::loncapagrade::results{"awarded"};
                 }
+                my $handbackurl = $Apache::loncapagrade::results{'handbackurl'}
+                &Apache::lonnet::logthis("handbackurl: ". $Apache::loncapagrade::results{'handbackurl'});
 		&Apache::lonxml::debug("response of");
 		&Apache::lonhomework::showhash(%$res);
 		&Apache::lonxml::debug("capagrade of");
@@ -318,6 +312,7 @@ sub end_externalresponse {
 		&Apache::lonhomework::showhash(%Apache::lonhomework::results);
 	    }
         }
+      }
     }
     if ($target eq 'web')  {
         &Apache::response::setup_prior_tries_hash(\&Apache::essayresponse::format_prior_response,