--- loncom/interface/lonnavmaps.pm 2017/12/18 23:13:53 1.537 +++ loncom/interface/lonnavmaps.pm 2018/01/04 12:07:53 1.539 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.537 2017/12/18 23:13:53 raeburn Exp $ +# $Id: lonnavmaps.pm,v 1.539 2018/01/04 12:07:53 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -658,6 +658,9 @@ sub getDescription { } elsif ($slot_status == $res->RESERVABLE) { $slotmsg = &mt('Reservable, reservations close [_1]', timeToHumanString($slot_time,'end')); + } elsif ($slot_status == $res->NEEDS_CHECKIN) { + $slotmsg = &mt('Reserved, check-in needed - ends [_1]', + timeToHumanString($slot_time,'end')); } elsif ($slot_status == $res->RESERVABLE_LATER) { $slotmsg = &mt('Reservable, reservations open [_1]', timeToHumanString($slot_time,'start')); @@ -699,7 +702,17 @@ sub getDescription { } if (($status == $res->ANSWER_OPEN || $status == $res->PARTIALLY_CORRECT) && $res->handgrade($part) ne 'yes') { - return &Apache::lonhtmlcommon::direct_parm_link(&mt("Answer available"),$res->symb(),'answerdate,duedate',$part); + my $msg = &mt('Answer available'); + my $parmlist = 'answerdate,duedate'; + if (($res->is_tool) && ($res->is_gradable())) { + if (($status == $res->PARTIALLY_CORRECT) && ($res->parmval('retrypartial',$part))) { + $msg = &mt('Grade received'); + $parmlist = 'retrypartial'; + } else { + $msg = &mt('Grade available'); + } + } + return &Apache::lonhtmlcommon::direct_parm_link($msg,$res->symb(),$parmlist,$part); } if ($status == $res->EXCUSED) { return &mt("Excused by instructor"); @@ -5836,7 +5849,7 @@ sub check_for_slot { ($checkedin,$checkedinslot) = $self->checkedin(); unless ((grep(/^\Q$checkedin\E/,@proctors)) && ($checkedinslot eq $slot_name)) { - return (NEEDS_CHECKIN,undef,$slot_name); + return (NEEDS_CHECKIN,$end,$slot_name); } } return (RESERVED,$end,$slot_name);