[LON-CAPA-cvs] cvs: loncom /homework essayresponse.pm inputtags.pm
www
lon-capa-cvs@mail.lon-capa.org
Fri, 24 Jan 2003 19:49:48 -0000
www Fri Jan 24 14:49:48 2003 EDT
Modified files:
/loncom/homework essayresponse.pm inputtags.pm
Log:
Correct response to wrong filetype.
Index: loncom/homework/essayresponse.pm
diff -u loncom/homework/essayresponse.pm:1.21 loncom/homework/essayresponse.pm:1.22
--- loncom/homework/essayresponse.pm:1.21 Fri Jan 24 13:45:23 2003
+++ loncom/homework/essayresponse.pm Fri Jan 24 14:49:48 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# essay (ungraded) style responses
#
-# $Id: essayresponse.pm,v 1.21 2003/01/24 18:45:23 www Exp $
+# $Id: essayresponse.pm,v 1.22 2003/01/24 19:49:48 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -52,6 +52,12 @@
$uploadedfiletypes=~s/[^\w\,]//g;
my $uploadedfile= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.uploadedfile"});
$result='<br /><table border="1">';
+ $result.='<tr><td>'.
+ '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="yes" checked>'.
+ ' Submit entries below as answer to receive credit <br />'.
+ '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="no">'.
+ ' Save entries below as a draft answer (not submitting them for credit yet) '.
+ '</td></tr>';
if ($ncol > 0) {
$result .='<tr><td>'.
'Collaborators: <input type="text" size="70" max="80" name="HWCOL'.
@@ -74,12 +80,7 @@
}
$result.='</td></tr>';
}
- $result.='<tr><td>'.
- '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="yes" checked>'.
- ' Submit text below as answer to receive credit <br />'.
- '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="no">'.
- ' Save text below as a draft answer (not submitting it for credit yet) '.
- '</td></tr></table>';
+ $result.='</table>';
}
return $result;
}
@@ -96,31 +97,35 @@
$Apache::lonhomework::results{"resource.$part.$id.collaborators"}=$collaborators
if ($collaborators ne $previous_list);
}
- my $filename= $ENV{'form.HWFILE'.$part.'_'.$id.'.filename'};
- if ($filename =~ /[^\s]/) {
- my $uploadedfiletypes= &Apache::lonnet::EXT("resource.$part".'_'."$id.uploadedfiletypes");
- $uploadedfiletypes=~s/[^\w\,]//g;
- $uploadedfiletypes=','.$uploadedfiletypes.',';
- my ($extension)=($filename=~/\.(\w+)$/);
- if ($uploadedfiletypes=~/\,$extension\,/i) {
- $Apache::lonhomework::results{"resource.$part.$id.uploadedfile"}=$filename;
- $Apache::lonhomework::results{"resource.$part.$id.uploadedurl"}=
- &Apache::lonnet::userfileupload('HWFILE'.$part.'_'.$id);
- }
- }
if ( defined $ENV{'form.submitted'}) {
my $response = $ENV{'form.HWVAL'.$id};
- if ( $response =~ /[^\s]/) {
- my $award;
+ my $filename= $ENV{'form.HWFILE'.$part.'_'.$id.'.filename'};
+ if (( $response =~ /[^\s]/) || ($filename =~ /[^\s]/)) {
+ my $award;
if ($ENV{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') {
$award='SUBMITTED';
} else {
$award='DRAFT';
}
+ my $uploadedflag=0;
+ if ($filename =~ /[^\s]/) {
+ my $uploadedfiletypes= &Apache::lonnet::EXT("resource.$part".'_'."$id.uploadedfiletypes");
+ $uploadedfiletypes=~s/[^\w\,]//g;
+ $uploadedfiletypes=','.$uploadedfiletypes.',';
+ my ($extension)=($filename=~/\.(\w+)$/);
+ if ($uploadedfiletypes=~/\,$extension\,/i) {
+ $Apache::lonhomework::results{"resource.$part.$id.uploadedfile"}=$filename;
+ $Apache::lonhomework::results{"resource.$part.$id.uploadedurl"}=
+ &Apache::lonnet::userfileupload('HWFILE'.$part.'_'.$id);
+ $uploadedflag=1;
+ } else {
+ $award='INVALID_FILETYPE';
+ }
+ }
$Apache::lonhomework::results{"resource.$part.$id.submission"}=$response;
$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$award;
my %previous=&Apache::response::check_for_previous($response,$part,$id);
- &Apache::response::handle_previous(\%previous,$award);
+ unless ($uploadedflag) { &Apache::response::handle_previous(\%previous,$award); }
}
}
} elsif ($target eq 'edit') {
Index: loncom/homework/inputtags.pm
diff -u loncom/homework/inputtags.pm:1.79 loncom/homework/inputtags.pm:1.80
--- loncom/homework/inputtags.pm:1.79 Sun Jan 19 03:16:43 2003
+++ loncom/homework/inputtags.pm Fri Jan 24 14:49:48 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.79 2003/01/19 08:16:43 albertel Exp $
+# $Id: inputtags.pm,v 1.80 2003/01/24 19:49:48 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -242,6 +242,9 @@
foreach $award (@_) { if ($award eq 'MISORDERED_RANK') {$result=$award; last;} }
}
if ($result eq '' ) {
+ foreach $award (@_) { if ($award eq 'INVALID_FILETYPE') {$result=$award; last;} }
+ }
+ if ($result eq '' ) {
foreach $award (@_) { if ($award eq 'DRAFT') {$result=$award; last;} }
}
if ($result eq '' ) {
@@ -298,6 +301,9 @@
} elsif ($award eq 'MISORDERED_RANK') {
$message = 'You have provided an invalid ranking, look '.
'<a href="/adm/pages/misordered_rank.html">here</a> for more information.';
+ $button=1;
+ } elsif ($award eq 'INVALID_FILETYPE') {
+ $message = 'The filetype extension of the file you uploaded is not allowed.';
$button=1;
} elsif ($award eq 'SIG_FAIL') {
$message = "Please adjust significant figures.";# you provided %s significant figures";