[LON-CAPA-cvs] cvs: loncom /homework essayresponse.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Thu, 01 Aug 2002 19:16:45 -0000
albertel Thu Aug 1 15:16:45 2002 EDT
Modified files:
/loncom/homework essayresponse.pm
Log:
- corrected some errors in changes
- end_*response routines should never call Apache::response::start_response
- start_*response needs tow write its packages out in meta mode
- ids are available in the @Apache::inputtags::response global
Index: loncom/homework/essayresponse.pm
diff -u loncom/homework/essayresponse.pm:1.13 loncom/homework/essayresponse.pm:1.14
--- loncom/homework/essayresponse.pm:1.13 Thu Aug 1 11:20:34 2002
+++ loncom/homework/essayresponse.pm Thu Aug 1 15:16:45 2002
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# essay (ungraded) style responses
#
-# $Id: essayresponse.pm,v 1.13 2002/08/01 15:20:34 ng Exp $
+# $Id: essayresponse.pm,v 1.14 2002/08/01 19:16:45 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -38,10 +38,11 @@
sub start_essayresponse {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
-
- if ($target eq 'web') {
+ my $id = &Apache::response::start_response($parstack,$safeeval);
+ if ($target eq 'meta') {
+ $result=&Apache::response::meta_package_write('essayresponse');
+ } elsif ($target eq 'web') {
my $part= $Apache::inputtags::part;
- my $id = &Apache::response::start_response($parstack,$safeeval);
my $ncol= &Apache::lonnet::EXT("resource.$part".'_'."$id.maxcollaborators");
my $coll= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.collaborators"});
@@ -68,23 +69,27 @@
sub end_essayresponse {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $part = $Apache::inputtags::part;
- my $id = &Apache::response::start_response($parstack,$safeeval);
- my $collaborators = $ENV{'form.HWCOL'.$part.'_'.$id};
- if ($collaborators =~ /[^\s]/) {
- my $previous_list= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.collaborators"});
-
- $Apache::lonhomework::results{"resource.$part.$id.collaborators"}=$collaborators
- if ($collaborators ne $previous_list);
- }
+ my $id = $Apache::inputtags::response[-1];
if ( $target eq 'grade' ) {
+ my $collaborators = $ENV{'form.HWCOL'.$part.'_'.$id};
+ if ($collaborators =~ /[^\s]/) {
+ my $previous_list= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.collaborators"});
+ $Apache::lonhomework::results{"resource.$part.$id.collaborators"}=$collaborators
+ if ($collaborators ne $previous_list);
+ }
if ( defined $ENV{'form.submitted'}) {
my $response = $ENV{'form.HWVAL'.$id};
if ( $response =~ /[^\s]/) {
+ my $award;
+ if ($ENV{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') {
+ $award='SUBMITTED';
+ } else {
+ $award='DRAFT';
+ }
$Apache::lonhomework::results{"resource.$part.$id.submission"}=$response;
- $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=
- $ENV{'form.HWDRAFT'.$part.'_'.$id} eq 'yes' ? 'SUBMITTED' : 'DRAFT';
+ $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$award;
my %previous=&Apache::response::check_for_previous($response,$part,$id);
- &Apache::response::handle_previous(\%previous,'SUBMITTED');
+ &Apache::response::handle_previous(\%previous,$award);
}
}
}