[LON-CAPA-cvs] cvs: loncom /interface lonpdfupload.pm
raeburn
raeburn at source.lon-capa.org
Fri Aug 28 17:57:17 EDT 2026
raeburn Fri Aug 28 21:57:17 2026 EDT
Modified files:
/loncom/interface lonpdfupload.pm
Log:
- Bug 6121 PDF form fields
- Support grading of PDF form uploaded by student if encrypturl in effect.
- Display "You have entered that answer before" if answer submitted via
PDF was submitted previously (unless problemstatus parameter set to:
"No, show no feedback at all").
Index: loncom/interface/lonpdfupload.pm
diff -u loncom/interface/lonpdfupload.pm:1.42 loncom/interface/lonpdfupload.pm:1.43
--- loncom/interface/lonpdfupload.pm:1.42 Thu Aug 6 19:34:24 2026
+++ loncom/interface/lonpdfupload.pm Fri Aug 28 21:57:17 2026
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# PDF Form Upload Handler
#
-# $Id: lonpdfupload.pm,v 1.42 2026/08/06 19:34:24 raeburn Exp $
+# $Id: lonpdfupload.pm,v 1.43 2026/08/28 21:57:17 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -782,7 +782,7 @@
}
}
$message = &grade_problem($symb,$part,$problemstatus,$practice,
- $cathashref->{$symb}{$part});
+ $encrypted,$cathashref->{$symb}{$part});
} else {
$message = $cathashref->{$symb}{$part};
}
@@ -807,10 +807,18 @@
}
sub grade_problem {
- my ($symb,$part,$problemstatus,$practice,$to_grade) = @_;
+ my ($symb,$part,$problemstatus,$practice,$encrypted,$to_grade) = @_;
return unless (ref($to_grade) eq 'HASH');
my %problem = %{$to_grade};
- &Apache::loncommon::ssi_with_retries(&Apache::lonnet::clutter($problem{'resource'}), 5,%problem);
+ if ($encrypted) {
+ if (exists($problem{'resource'})) {
+ $problem{'resource'} = &Apache::lonenc::encrypted($problem{'resource'});
+ }
+ if (exists($problem{'symb'})) {
+ $problem{'symb'} = &Apache::lonenc::encrypted($problem{'symb'});
+ }
+ }
+ &Apache::loncommon::ssi_with_retries(&Apache::lonnet::clutter($problem{'resource'}),5,%problem);
my %record;
if ($practice) {
$env{'request.state'} = "published";
@@ -844,7 +852,12 @@
} else {
return &mt('No information to report.');
}
- return '<span class="'.$css_class.'" style="padding: 3px;">'.$message.'</span>';
+ if ($previousmsg) {
+ $previousmsg = '<span class="LC_answer_previous" style="padding: 3px;">'
+ .'  '.$previousmsg.'</span>';
+ }
+ return '<span class="'.$css_class.'" style="padding: 3px;">'.$message.'</span>'
+ .$previousmsg;
}
sub pdfforms_blocked {
More information about the LON-CAPA-cvs
mailing list