Return to default_assesscalc CVS log | Up to [LON-CAPA] / loncom / interface / spreadsheet |
Use multiline format to reduce the number of ternary operators. Handle excused status - if stores_0_solved is 'excused, the available points and awarded points fields are set to 0. This should be a part of version 0.6
1: <field col=A row=0> 2: if ([stores_0_solved] eq 'excused') { 3: 'excused'; 4: } elsif (M0) { 5: if(K0) { 6: if (K0 == M0) { 7: "correct"; 8: } else { 9: K0.'/'.M0.' correct'; 10: } 11: } else { 12: "incorrect"; 13: } 14: } else { 15: ''; 16: } 17: </field> 18: 19: <field col=B row=0>'Tries:'</field> 20: <field col=C row=0> 21: if (M0) { 22: [&EXPANDSUM(PART;stores_PART_tries)]/M0; 23: } else { 24: ''; 25: } 26: </field> 27: 28: <field col=D row=0>'Timestamp:'</field> 29: <field col=E row=0>[timestamp]</field> 30: <field col=F row=0> 31: if ([timestamp]>100000000) { 32: $tmp = localtime([timestamp]); 33: $tmp =~ s/\s/ /g; 34: $tmp; 35: } else { 36: ''; 37: } 38: </field> 39: 40: <field col=G row=0>'Duedate:'</field> 41: <field col=H row=0>[parameter_0_duedate]</field> 42: <field col=I row=0> 43: if ([parameter_0_duedate]>100000000) { 44: $tmp = localtime([parameter_0_duedate]); 45: $tmp =~ s/\s/ /g; 46: $tmp; 47: } else { 48: ''; 49: } 50: </field> 51: 52: <field col=J row=0>'Attempted Parts:'</field> 53: <field col=K row=0>[&EXPANDSUM(PART;(stores_PART_solved?1:0))]</field> 54: 55: <field col=L row=0>'Solved Parts:'</field> 56: <field col=M row=0>[&EXPANDSUM(PART;(stores_PART_awarded?1:0))]</field> 57: 58: <field col=W row=0>'Available Points:'</field> 59: <field col=X row=0> 60: if (([stores_0_solved]) eq 'excused') { 61: 0 62: } else { 63: [&EXPANDSUM(PART;parameter_PART_weight)]; 64: } 65: </field> 66: 67: <field col=Y row=0>'Awarded Points:'</field> 68: <field col=Z row=0> 69: if (([stores_0_solved]) eq 'excused') { 70: 0 71: } else { 72: [&EXPANDSUM(PART;parameter_PART_weight*stores_PART_awarded)] 73: } 74: </field>