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

raeburn raeburn at source.lon-capa.org
Sun Sep 7 10:27:39 EDT 2025


raeburn		Sun Sep  7 14:27:39 2025 EDT

  Modified files:              
    /loncom/interface	lonnavmaps.pm 
  Log:
  - Show information about slot availability for partially correct problems
    for which submissions can be made and problemstatus is not set to no.
  
  
Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.582 loncom/interface/lonnavmaps.pm:1.583
--- loncom/interface/lonnavmaps.pm:1.582	Sun Sep  7 04:21:13 2025
+++ loncom/interface/lonnavmaps.pm	Sun Sep  7 14:27:39 2025
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Navigate Maps Handler
 #
-# $Id: lonnavmaps.pm,v 1.582 2025/09/07 04:21:13 raeburn Exp $
+# $Id: lonnavmaps.pm,v 1.583 2025/09/07 14:27:39 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -6390,7 +6390,12 @@
                 my $end = $slots{$slot_name}->{'endtime'};
                 my $start = $slots{$slot_name}->{'starttime'};
                 my $ip = $slots{$slot_name}->{'ip'};
-                if ($self->simpleStatus() == OPEN) {
+                if (($self->simpleStatus() == OPEN) ||
+                    (($self->simpleStatus($part) eq $self->PARTIALLY_CORRECT) &&
+                     (($self->parmval('retrypartial',$part)) =~ /^1|on|yes$/) &&
+                     ($self->tries($part) < $self->maxtries($part) || !$self->maxtries($part)) &&
+                     ($self->problemstatus($part) ne 'no') &&
+                     ($self->problemstatus($part) ne 'no_feedback_ever'))) {
                     if ($end > $now) {
                         if ($start > $now) {
                             return (RESERVED_LATER,$start,$slot_name);
@@ -6444,7 +6449,13 @@
                 if ($wait_for_grade) {
                     return (WAITING_FOR_GRADE);
                 } elsif ($is_correct) {
-                    return (CORRECT); 
+                    unless (($self->simpleStatus($part) eq $self->PARTIALLY_CORRECT) &&
+                            (($self->parmval('retrypartial',$part)) =~ /^1|on|yes$/) &&
+                            ($self->tries($part) < $self->maxtries($part) || !$self->maxtries($part)) &&
+                            ($self->problemstatus($part) ne 'no') &&
+                            ($self->problemstatus($part) ne 'no_feedback_ever')) {
+                        return (CORRECT);
+                    }
                 }
             }
             if ($num_usable_slots) {




More information about the LON-CAPA-cvs mailing list