[LON-CAPA-cvs] cvs: loncom /interface lonparmset.pm

www lon-capa-cvs@mail.lon-capa.org
Tue, 14 Jun 2005 15:43:56 -0000


www		Tue Jun 14 11:43:56 2005 EDT

  Modified files:              
    /loncom/interface	lonparmset.pm 
  Log:
  Saving my work
  
  
Index: loncom/interface/lonparmset.pm
diff -u loncom/interface/lonparmset.pm:1.221 loncom/interface/lonparmset.pm:1.222
--- loncom/interface/lonparmset.pm:1.221	Mon Jun 13 22:33:18 2005
+++ loncom/interface/lonparmset.pm	Tue Jun 14 11:43:54 2005
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Handler to set parameters for assessments
 #
-# $Id: lonparmset.pm,v 1.221 2005/06/14 02:33:18 www Exp $
+# $Id: lonparmset.pm,v 1.222 2005/06/14 15:43:54 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2572,6 +2572,7 @@
 <form method="post" action="/adm/parmset?action=setdefaults" name="defaultform">
 ENDDEFHEAD
     if ($env{'form.storerules'}) {
+# storage here
 	&resetrulescache();
     }
     my @ids=();
@@ -2595,26 +2596,72 @@
 				       'sec' => 'Seconds',
 				       'yes' => 'Yes',
 				       'no' => 'No');
+    my @standardoptions=('','default');
+    my @standarddisplay=('',&mt('Default value when manually setting'));
+    my @dateoptions=('','default');
+    my @datedisplay=('',&mt('Default value when manually setting'));
+    foreach my $tempkey (&keysindisplayorder(\%allparms,\%keyorder)) {
+	unless ($tempkey) { next; }
+	push @standardoptions,'when_setting_'.$tempkey;
+	push @standarddisplay,&mt('Automatically set when setting ').$tempkey;
+	if (&isdateparm($defkeytype{$tempkey})) {
+	    push @dateoptions,'later_than_'.$tempkey;
+	    push @datedisplay,&mt('Automatically set later than ').$tempkey;
+	    push @dateoptions,'earlier_than_'.$tempkey;
+	    push @datedisplay,&mt('Automatically set earlier than ').$tempkey;
+	} 
+    }
     $r->print("\n<table border='1'><tr><th>".&mt('Rule for parameter').'</th><th>'.
-	      &mt('Automatically set to ...').'</th><th>'.&mt('if ...').'</th></tr>');
+	      &mt('Action').'</th><th>'.&mt('Value').'</th></tr>');
     foreach my $tempkey (&keysindisplayorder(\%allparms,\%keyorder)) {
+	unless ($tempkey) { next; }
 	$r->print("\n<tr><td>".$allparms{$tempkey}."\n<br />(".$tempkey.')</td><td>');
+
+	my $action=&rulescache($tempkey.'_action');
+	$r->print('<select name="'.$tempkey.'_action">');
+	if (&isdateparm($defkeytype{$tempkey})) {
+	    for (my $i=0;$i<=$#dateoptions;$i++) {
+		if ($dateoptions[$i]=~/\_$tempkey$/) { next; }
+		$r->print("\n<option value='$dateoptions[$i]'".
+			  ($dateoptions[$i] eq $action?' selected="selected"':'').
+			  ">$datedisplay[$i]</option>");
+	    }
+	} else {
+	    for (my $i=0;$i<=$#standardoptions;$i++) {
+		if ($standardoptions[$i]=~/\_$tempkey$/) { next; }
+		$r->print("\n<option value='$standardoptions[$i]'".
+			  ($standardoptions[$i] eq $action?' selected="selected"':'').
+			  ">$standarddisplay[$i]</option>");
+	    }
+	}
+	$r->print('</select>');
+
+
+	$r->print("\n</td><td>\n");
+
         if (&isdateparm($defkeytype{$tempkey})) {
+	    my $hours=&rulescache($tempkey.'_hours');
+	    my $min=&rulescache($tempkey.'_min');
+	    my $sec=&rulescache($tempkey.'_sec');
 	    $r->print(<<ENDINPUTDATE);
-<input name="$tempkey\_hours" type="text" size="4" />$lt{'hours'}<br />
-<input name="$tempkey\_min" type="text" size="4" />$lt{'min'}<br />
-<input name="$tempkey\_sec" type="text" size="4" />$lt{'sec'}
+<input name="$tempkey\_hours" type="text" size="4" value="$hours" />$lt{'hours'}<br />
+<input name="$tempkey\_min" type="text" size="4" value="$min" />$lt{'min'}<br />
+<input name="$tempkey\_sec" type="text" size="4" value="$sec" />$lt{'sec'}
 ENDINPUTDATE
 	} elsif ($defkeytype{$tempkey} eq 'string_yesno') {
+            my $yeschecked='';
+            my $nochecked='';
+            if (&rulescache($tempkey.'_value') eq 'yes') { $yeschecked='checked="checked"'; }
+            if (&rulescache($tempkey.'_value') eq 'no') { $nochecked='checked="checked"'; }
+
 	    $r->print(<<ENDYESNO);
-<label><input type="radio" name="$tempkey" value="yes" /> $lt{'yes'}</label><br />
-<label><input type="radio" name="$tempkey" value="no" /> $lt{'no'}</label>
+<label><input type="radio" name="$tempkey" value="yes" $yeschecked /> $lt{'yes'}</label><br />
+<label><input type="radio" name="$tempkey" value="no" $nochecked /> $lt{'no'}</label>
 ENDYESNO
         } else {
-	    $r->print('<input type="text" size="20" name="'.$tempkey.'" />');
+	    $r->print('<input type="text" size="20" name="'.$tempkey.'" value="'.&rulescache($tempkey.'_value').'" />');
 	}
         $r->print('</td></tr>');
-
     }
     $r->print("</table></form></body></html>");
     return;