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

www www@source.lon-capa.org
Sun, 20 Feb 2011 23:38:00 -0000


www		Sun Feb 20 23:38:00 2011 EDT

  Modified files:              
    /loncom/interface	lonquickgrades.pm 
  Log:
  Weight
  
  
Index: loncom/interface/lonquickgrades.pm
diff -u loncom/interface/lonquickgrades.pm:1.69 loncom/interface/lonquickgrades.pm:1.70
--- loncom/interface/lonquickgrades.pm:1.69	Sun Feb 20 22:48:26 2011
+++ loncom/interface/lonquickgrades.pm	Sun Feb 20 23:38:00 2011
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Quick Student Grades Display
 #
-# $Id: lonquickgrades.pm,v 1.69 2011/02/20 22:48:26 www Exp $
+# $Id: lonquickgrades.pm,v 1.70 2011/02/20 23:38:00 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -462,6 +462,7 @@
 # Simply store the rest of the stuff
         foreach my $id (split(/\,/,$categories{'order'})) {
             %categories=&set_category_name($cangrade,$id,$env{'form.name_'.$id},%categories);
+            %categories=&set_category_weight($cangrade,$id,$env{'form.weighttype_'.$id},$env{'form.weight_'.$id},%categories);
 # More changes here
         }
     }
@@ -554,7 +555,33 @@
     } else {
         $r->print('<td>'.$categories{$id.'_name'}.'</td>');
     }
-    $r->print(&Apache::loncommon::end_data_table_row()."\n");
+# Content
+# FIXME: just placeholders
+    if ($cangrade) {
+       $r->print("<td>Content Edit</td>");
+    } else {
+       $r->print("<td>Content</td>");
+    }
+# Calculation
+# FIXME: just placeholders
+    if ($cangrade) {
+       $r->print("<td>Calculation Edit</td>");
+    } else {
+       $r->print("<td>Calculation</td>");
+    }
+# Weight
+    if ($cangrade) {
+       $r->print('<td>'.
+                  '<select name="weighttype_'.$id.'">'.
+                  '<option value="default"'.($categories{$id.'_weighttype'} eq 'default'?' selected="selected"':'').'>'.&mt('default').'</option>'.
+                  '<option value="typein"'.($categories{$id.'_weighttype'} eq 'typein'?' selected="selected"':'').'>'.&mt('Type-in value').'</option>'.
+                  '</select>'.
+                  '<input type="text" size="4" name="weight_'.$id.
+                  '" value="'.&Apache::lonhtmlcommon::entity_encode($categories{$id.'_weight'}).'" /></td>');
+    } else {
+        $r->print('<td>'.($categories{$id.'_weighttype'} eq 'default'?&mt('default'):$categories{$id.'_weight'}).'</td>');
+    }
+
     return ($value,$weight);
 }
 
@@ -590,6 +617,7 @@
     if (defined($ordernum)) {
         %categories=&move_category($id,$cangrade,$ordernum,%categories);
     }
+    $categories{$id.'_weighttype'}='default';
     return %categories;
 }
 
@@ -668,6 +696,27 @@
 }
 
 #
+# Set weight of a category
+#
+sub set_category_weight {
+    my ($cangrade,$id,$weighttype,$weight,%categories)=@_;
+    unless ($cangrade) { return %categories; }
+    if (($categories{$id.'_weight'} eq '') && ($weight=~/\d/)) {
+        $weighttype='typein';
+    }
+    $categories{$id.'_weighttype'}=$weighttype;
+    if ($weighttype eq 'default') {
+        $categories{$id.'_weight'}='';
+    } else {
+        $weight=~s/\D//gs;
+        unless ($weight) { $weight=0; }
+        $categories{$id.'_weight'}=$weight;
+    }
+    return %categories;
+}
+
+
+#
 # === end category-related
 #
 #