[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm lonpdfupload.pm lonprintout.pm
raeburn
raeburn at source.lon-capa.org
Fri Feb 6 14:05:00 EST 2026
raeburn Fri Feb 6 19:05:00 2026 EDT
Modified files:
/loncom/interface lonpdfupload.pm loncommon.pm lonprintout.pm
Log:
- Bug 6121
Move code used to check whether PDF forms are available in course context
to loncommon.pm to facilitate reuse. In Authoring Space, availability
depends on domain default (for now).
Index: loncom/interface/lonpdfupload.pm
diff -u loncom/interface/lonpdfupload.pm:1.25 loncom/interface/lonpdfupload.pm:1.26
--- loncom/interface/lonpdfupload.pm:1.25 Tue Jun 9 21:22:57 2015
+++ loncom/interface/lonpdfupload.pm Fri Feb 6 19:04:59 2026
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# PDF Form Upload Handler
#
-# $Id: lonpdfupload.pm,v 1.25 2015/06/09 21:22:57 damieng Exp $
+# $Id: lonpdfupload.pm,v 1.26 2026/02/06 19:04:59 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -67,12 +67,7 @@
);
if ($env{'request.course.id'}) {
- my $permission = $env{'course.'.$env{'request.course.id'}.'.canuse_pdfforms'};
- if ($permission eq '') {
- my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'});
- $permission = $domdefs{'canuse_pdfforms'};
- }
- unless ($permission) {
+ unless (&Apache::loncommon::pdfforms_allowed()) {
$r->print('<p class="LC_warning">'.
&mt('Upload of PDF forms is not permitted for this course.').
'</p>'.
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.1507 loncom/interface/loncommon.pm:1.1508
--- loncom/interface/loncommon.pm:1.1507 Wed Feb 4 18:21:24 2026
+++ loncom/interface/loncommon.pm Fri Feb 6 19:04:59 2026
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.1507 2026/02/04 18:21:24 raeburn Exp $
+# $Id: loncommon.pm,v 1.1508 2026/02/06 19:04:59 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -20944,6 +20944,18 @@
return $output;
}
+sub pdfforms_allowed {
+ my $canuse_forms;
+ if ($env{'request.course.id'}) {
+ $canuse_forms = $env{'course.'.$env{'request.course.id'}.'.canuse_pdfforms'};
+ if ($canuse_forms eq '') {
+ my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'});
+ $canuse_forms = $domdefs{'canuse_pdfforms'};
+ }
+ }
+ return $canuse_forms;
+}
+
1;
__END__;
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.710 loncom/interface/lonprintout.pm:1.711
--- loncom/interface/lonprintout.pm:1.710 Tue Jan 13 03:18:22 2026
+++ loncom/interface/lonprintout.pm Fri Feb 6 19:04:59 2026
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.710 2026/01/13 03:18:22 raeburn Exp $
+# $Id: lonprintout.pm,v 1.711 2026/02/06 19:04:59 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -5367,6 +5367,15 @@
sub render {
my $self = shift;
my $helper = Apache::lonhelper::getHelper();
+ my $canuseforms;
+ if ($helper->{VARS}->{'construction'}) {
+ if ($helper->{VARS}->{'filename'} =~ m{^/priv/($LONCAPA::match_domain)/}) {
+ my %domdefs = &Apache::lonnet::get_domain_defaults($1);
+ $canuseforms = $domdefs{'canuse_pdfforms'};
+ }
+ } elsif ($env{'request.course.id'}) {
+ $canuseforms = &Apache::loncommon::pdfforms_allowed();
+ }
my $result = '';
my $var = $self->{'variable'};
my $PageLayout=&mt('Page layout');
@@ -5378,16 +5387,17 @@
my $with=&mt('with Form Fields');
my $without=&mt('without Form Fields');
-
$result.='<h3>'.&mt('Layout Options').'</h3>'
.&Apache::loncommon::start_data_table()
.&Apache::loncommon::start_data_table_header_row()
.'<th>'.$PageLayout.'</th>'
.'<th>'.$NumberOfColumns.'</th>'
- .'<th>'.$PaperType.'</th>'
- .'<th>'.$pdfFormLabel.'</th>'
- .&Apache::loncommon::end_data_table_header_row()
- .&Apache::loncommon::start_data_table_row()
+ .'<th>'.$PaperType.'</th>';
+ if ($canuseforms) {
+ $result .= '<th>'.$pdfFormLabel.'</th>';
+ }
+ $result.= &Apache::loncommon::end_data_table_header_row()
+ .&Apache::loncommon::start_data_table_row()
.'<td>'
.'<label><input type="radio" name="'.${var}.'.layout" value="L" />'.$landscape.'</label><br />'
.'<label><input type="radio" name="'.${var}.'.layout" value="P" checked="checked" />'.$portrait.'</label>'
@@ -5423,9 +5433,11 @@
}
$i++;
}
- $result .= <<HTML;
+ $result .= '
</select>
- </td>
+ </td>'."\n";
+ if ($canuseforms) {
+ $result .= <<HTML;
<td align='center'>
<select name='${var}.pdfFormFields'>
<option selected="selected" value="no">$without</option>
@@ -5433,6 +5445,7 @@
</select>
</td>
HTML
+ }
$result.=&Apache::loncommon::end_data_table_row()
.&Apache::loncommon::end_data_table();
More information about the LON-CAPA-cvs
mailing list