[LON-CAPA-cvs] cvs: loncom /homework/caparesponse caparesponse.pm /publisher packages.tab

albertel lon-capa-cvs@mail.lon-capa.org
Fri, 09 May 2003 22:00:16 -0000


albertel		Fri May  9 18:00:16 2003 EDT

  Modified files:              
    /loncom/publisher	packages.tab 
    /loncom/homework/caparesponse	caparesponse.pm 
  Log:
  - implemtns BUG#408, can turn unit entry off in numerical response problems
  
  
Index: loncom/publisher/packages.tab
diff -u loncom/publisher/packages.tab:1.16 loncom/publisher/packages.tab:1.17
--- loncom/publisher/packages.tab:1.16	Tue Apr  8 09:47:19 2003
+++ loncom/publisher/packages.tab	Fri May  9 18:00:16 2003
@@ -29,6 +29,9 @@
 numericalresponse&tol&default:5%
 numericalresponse&sig&type:int_range
 numericalresponse&sig&display:Significant Digits
+numericalresponse&turnoffunit&type:string
+numericalresponse&tol&default:no
+numericalresponse&turnoffunit&display:Show Units - Disable Entry
 formularesponse&tol&display:Numerical Tolerance
 formularesponse&tol&type:tolerance
 formularesponse&tol&default:0.00000000001
Index: loncom/homework/caparesponse/caparesponse.pm
diff -u loncom/homework/caparesponse/caparesponse.pm:1.95 loncom/homework/caparesponse/caparesponse.pm:1.96
--- loncom/homework/caparesponse/caparesponse.pm:1.95	Mon Apr 21 16:59:02 2003
+++ loncom/homework/caparesponse/caparesponse.pm	Fri May  9 18:00:16 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # caparesponse definition
 #
-# $Id: caparesponse.pm,v 1.95 2003/04/21 20:59:02 albertel Exp $
+# $Id: caparesponse.pm,v 1.96 2003/05/09 22:00:16 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -79,6 +79,16 @@
 	$result=&Apache::response::meta_package_write('numericalresponse');
     } elsif ($target eq 'answer' || $target eq 'grade') {
 	&Apache::response::reset_params();
+    } elsif ($target eq 'web') {
+	my $partid = $Apache::inputtags::part;
+	my $hideunit=&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffunit');
+	&Apache::lonxml::debug("Got unit $hideunit for $partid $id");
+	#no way to enter units, with radio buttons
+	if (lc($hideunit) eq "yes") {
+	    my $unit=&Apache::lonxml::get_param_var('unit',$parstack,
+						    $safeeval);
+	    if ($unit =~ /\S/) { $result.=" (in $unit) "; }
+	}
     }
     return $result;
 }
@@ -124,8 +134,10 @@
 		&Apache::lonxml::debug("current $response");
 		my $expression="&caparesponse_check_list('".$response."','".
 		    $$parstack[-1];
+		my $hideunit=&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffunit');
 		#no way to enter units, with radio buttons
-		if ($Apache::lonhomework::type eq 'exam') {
+		if ($Apache::lonhomework::type eq 'exam' ||
+		    lc($hideunit) eq "yes") {
 		    $expression.=';my $unit=undef;';
 		}
 		foreach my $key (keys(%Apache::inputtags::params)) {