[LON-CAPA-cvs] cvs: loncom /interface/spreadsheet default_assesscalc

raeburn raeburn at source.lon-capa.org
Wed Aug 13 16:03:55 EDT 2025


raeburn		Wed Aug 13 20:03:55 2025 EDT

  Modified files:              
    /loncom/interface/spreadsheet	default_assesscalc 
  Log:
  - Bug 6623. If submission was between due date and overdue date, "Awarded 
    Points" value includes reduction for lateness at submission time.
    Points without penalty, grace period end date, and "late fraction" shown.
  
  
Index: loncom/interface/spreadsheet/default_assesscalc
diff -u loncom/interface/spreadsheet/default_assesscalc:1.8 loncom/interface/spreadsheet/default_assesscalc:1.9
--- loncom/interface/spreadsheet/default_assesscalc:1.8	Fri Feb 28 19:20:11 2014
+++ loncom/interface/spreadsheet/default_assesscalc	Wed Aug 13 20:03:55 2025
@@ -58,12 +58,78 @@
 
 <field col=L row=0>'Solved Parts:'</field>
 <field col=M row=0>[&EXPANDSUM(PART;(stores_PART_awarded?1:0))]</field>
-
+<field col=N row=0>
+if ([stores_0_endgrace]>100000000) {
+    'Grace Period Ends:'
+} else {
+    '';
+}
+</field>
+<field col=O row=0>
+if ([stores_0_endgrace]>100000000) {
+    [stores_0_endgrace]
+} else {
+    '';
+}
+</field>
+<field col=P row=0>
+if ([stores_0_endgrace]>100000000) {
+    $tmp = localtime([stores_0_endgrace]);
+    $tmp =~ s/\s/ /g;
+    $tmp;
+} else {
+    '';
+}
+</field>
+<field col=Q row=0>
+if (([stores_0_endgrace]>100000000) &&
+    ([stores_0_latefrac] ne '') &&
+    ([stores_0_latefrac]>=0) &&
+    ([stores_0_latefrac]<1)) {
+    'Post-Due Fraction'
+} else {
+    '';
+}
+</field>
+<field col=R row=0>
+if (([stores_0_endgrace]>100000000) &&
+    ([stores_0_latefrac] ne '') &&
+    ([stores_0_latefrac]>=0) &&
+    ([stores_0_latefrac]<1)) {
+    [stores_0_latefrac]
+} else {
+    '';
+}
+</field>
+<field col=S row=0>
+if (([stores_0_endgrace]>100000000) &&
+    ([stores_0_latefrac] ne '') &&
+    ([stores_0_latefrac]>=0) &&
+    ([stores_0_latefrac]<1)) {
+    'Points (no penalty)'
+} else {
+    '';
+}
+</field>
+<field col=T row=0>
+if (([stores_0_endgrace]>100000000) &&
+    ([stores_0_latefrac] ne '') &&
+    ([stores_0_latefrac]>=0) &&
+    ([stores_0_latefrac]<1)) {
+    if ("[stores_0_solved]" eq 'excused') {
+        0
+    } else {
+        [&EXPANDSUM(PART;parameter_PART_weight*stores_PART_awarded)]
+    }
+} else {
+    '';
+}
+</field>
 <field col=W row=0>'Available Points:'</field>
 <field col=X row=0>
 if ("[stores_0_solved]" eq 'excused') {
-    0 
-} else { 
+    0
+} else {
     [&EXPANDSUM(PART;parameter_PART_weight*(stores_PART_solved !~ /^\W?excused\W?$/ ? 1 : 0))];
 }
 </field>
@@ -71,8 +137,8 @@
 <field col=Y row=0>'Awarded Points:'</field>
 <field col=Z row=0>
 if ("[stores_0_solved]" eq 'excused') { 
-    0 
+    0
 } else { 
-    [&EXPANDSUM(PART;parameter_PART_weight*stores_PART_awarded)]
+    [&EXPANDSUM(PART;parameter_PART_weight*stores_PART_awarded*(stores_PART_latefrac =~ /^\d+\.?\d*$/ ? stores_PART_latefrac : 1))]
 }
 </field>




More information about the LON-CAPA-cvs mailing list