[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