[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
#
#