[LON-CAPA-cvs] cvs: loncom /homework radiobuttonresponse.pm

albertel lon-capa-cvs@mail.lon-capa.org
Mon, 23 Sep 2002 19:09:52 -0000


albertel		Mon Sep 23 15:09:52 2002 EDT

  Modified files:              
    /loncom/homework	radiobuttonresponse.pm 
  Log:
  - this allows one to turn randomiztion back on. :-)
  - start of being able to specify where a particular foil should show up in the order
  
  
Index: loncom/homework/radiobuttonresponse.pm
diff -u loncom/homework/radiobuttonresponse.pm:1.47 loncom/homework/radiobuttonresponse.pm:1.48
--- loncom/homework/radiobuttonresponse.pm:1.47	Mon Sep 23 13:20:41 2002
+++ loncom/homework/radiobuttonresponse.pm	Mon Sep 23 15:09:52 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # mutliple choice style responses
 #
-# $Id: radiobuttonresponse.pm,v 1.47 2002/09/23 17:20:41 albertel Exp $
+# $Id: radiobuttonresponse.pm,v 1.48 2002/09/23 19:09:52 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -228,15 +228,12 @@
   }
   if (&Apache::response::showallfoils()) {
     @whichfalse=@names;
-  } elsif ($randomize=='no') {
+  } elsif ($randomize eq 'no') {
       &Apache::lonxml::debug("No randomization");
       my $havetrue=0;
       foreach my $name (@names) {
 	  if ($Apache::response::foilgroup{$name.'.value'} eq 'true') {
-	      if (!$havetrue ) {
-		  push (@whichfalse,$name);
-		  $havetrue++;
-	      }
+	      if (!$havetrue ) { push(@whichfalse,$name); $havetrue++; }
 	  } elsif ($Apache::response::foilgroup{$name.'.value'} eq 'false') {
 	      push (@whichfalse,$name);
 	  } elsif ($Apache::response::foilgroup{$name.'.value'} eq 'unused') {
@@ -385,10 +382,12 @@
     $result.=&Apache::edit::text_arg('Name:','name',$token);
     $result.=&Apache::edit::select_or_text_arg('Correct Option:','value',
 				       ['unused','true','false'],$token);
+    $result.=&Apache::edit::select_or_text_arg('Location:','location',
+				       ['random','bottom','top'],$token);
     $result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
   } elsif ($target eq 'modified') {
      my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,
-						  'value','name');
+						  'value','name','location');
     if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); }
   } 
   return $result;
@@ -402,16 +401,19 @@
     my $value = &Apache::lonxml::get_param('value',$parstack,$safeeval);
     if ($value ne 'unused') {
       my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval);
+      my $location =&Apache::lonxml::get_param('location',$parstack,$safeeval);
       if (!$name) { $name=$Apache::lonxml::curdepth; }
       if ( $Apache::radiobuttonresponse::conceptgroup
 	   && !&Apache::response::showallfoils() ) {
 	push @{ $Apache::response::conceptgroup{'names'} }, $name;
 	$Apache::response::conceptgroup{"$name.value"} = $value;
 	$Apache::response::conceptgroup{"$name.text"} = $text;	
+	$Apache::response::conceptgroup{"$name.location"} = $location;	
       } else {
 	push @{ $Apache::response::foilgroup{'names'} }, $name;
 	$Apache::response::foilgroup{"$name.value"} = $value;
 	$Apache::response::foilgroup{"$name.text"} = $text;
+	$Apache::response::foilgroup{"$name.location"} = $location;
       }
     }
   }