version 1.509.2.15, 2024/07/01 18:13:20
|
version 1.509.2.16, 2024/07/02 15:53:16
|
Line 534 my %colormap =
|
Line 534 my %colormap =
|
$resObj->EXCUSED => '#3333FF', |
$resObj->EXCUSED => '#3333FF', |
$resObj->PAST_DUE_ANSWER_LATER => '', |
$resObj->PAST_DUE_ANSWER_LATER => '', |
$resObj->PAST_DUE_NO_ANSWER => '', |
$resObj->PAST_DUE_NO_ANSWER => '', |
|
$resObj->PAST_DUE_ATMPT_ANS => '', |
|
$resObj->PAST_DUE_ATMPT_NOANS => '', |
|
$resObj->PAST_DUE_NO_ATMT_ANS => '', |
|
$resObj->PAST_DUE_NO_ATMT_NOANS => '', |
$resObj->ANSWER_OPEN => '#006600', |
$resObj->ANSWER_OPEN => '#006600', |
$resObj->OPEN_LATER => '', |
$resObj->OPEN_LATER => '', |
$resObj->TRIES_LEFT => '', |
$resObj->TRIES_LEFT => '', |
Line 679 sub getDescription {
|
Line 683 sub getDescription {
|
return &Apache::lonhtmlcommon::direct_parm_link(&mt("Open, no due date"),$res->symb(),'duedate',$part).$slotinfo; |
return &Apache::lonhtmlcommon::direct_parm_link(&mt("Open, no due date"),$res->symb(),'duedate',$part).$slotinfo; |
} |
} |
} |
} |
if ($status == $res->PAST_DUE_ANSWER_LATER) { |
if (($status == $res->PAST_DUE_ANSWER_LATER) || ($status == $res->PAST_DUE_ATMPT_ANS) || ($status == $res->PAST_DUE_NO_ATMT_ANS)) { |
return &mt("Answer open [_1]",&Apache::lonhtmlcommon::direct_parm_link(&timeToHumanString($answer,'start'),$res->symb(),'answerdate',$part)); |
return &mt("Answer open [_1]",&Apache::lonhtmlcommon::direct_parm_link(&timeToHumanString($answer,'start'),$res->symb(),'answerdate',$part)); |
} |
} |
if ($status == $res->PAST_DUE_NO_ANSWER) { |
if (($status == $res->PAST_DUE_NO_ANSWER) || ($status == $res->PAST_DUE_ATMPT_NOANS) || ($status == $res->PAST_DUE_NO_ATMT_NOANS)) { |
if ($res->is_practice()) { |
if ($res->is_practice()) { |
return &mt("Closed [_1]",&Apache::lonhtmlcommon::direct_parm_link(&timeToHumanString($due,'start'),$res->symb(),'answerdate,duedate',$part)); |
return &mt("Closed [_1]",&Apache::lonhtmlcommon::direct_parm_link(&timeToHumanString($due,'start'),$res->symb(),'answerdate,duedate',$part)); |
} else { |
} else { |
Line 5320 The problem will be opened later.
|
Line 5324 The problem will be opened later.
|
|
|
Open and not yet due. |
Open and not yet due. |
|
|
|
|
=item * B<PAST_DUE_ANSWER_LATER>: |
=item * B<PAST_DUE_ANSWER_LATER>: |
|
|
The due date has passed, but the answer date has not yet arrived. |
The due date has passed, but the answer date has not yet arrived. |
Line 5333 The due date has passed and there is no
|
Line 5336 The due date has passed and there is no
|
|
|
The answer date is here. |
The answer date is here. |
|
|
|
=item * B<NOTHING_SET>: |
|
|
|
No dates have been set for this problem at all. |
|
|
|
=item * B<PAST_DUE_ATMPT_ANS>: |
|
|
|
The due date has passed, feedback is suppressed, the problem was attempted, and the answer date has not yet arrived. |
|
|
|
=item * B<PAST_DUE_ATMPT_NOANS>: |
|
|
|
The due date has passed, feedback is suppressed, the problem was attempted, and there is no answer opening date set. |
|
|
|
=item * B<PAST_DUE_NO_ATMT_ANS>: |
|
|
|
The due date has passed, feedback is suppressed, the problem was not attempted, and the answer date has not yet arrived. |
|
|
|
=item * B<PAST_DUE_NO_ATMT_NOANS>: |
|
|
|
The due date has passed, feedback is suppressed, the problem was not attempted, and there is no answer opening date set. |
|
|
=item * B<NETWORK_FAILURE>: |
=item * B<NETWORK_FAILURE>: |
|
|
The information is unknown due to network failure. |
The information is unknown due to network failure. |
Line 5348 sub PAST_DUE_NO_ANSWER { return 2; }
|
Line 5371 sub PAST_DUE_NO_ANSWER { return 2; }
|
sub PAST_DUE_ANSWER_LATER { return 3; } |
sub PAST_DUE_ANSWER_LATER { return 3; } |
sub ANSWER_OPEN { return 4; } |
sub ANSWER_OPEN { return 4; } |
sub NOTHING_SET { return 5; } |
sub NOTHING_SET { return 5; } |
|
sub PAST_DUE_ATMPT_ANS { return 6; } |
|
sub PAST_DUE_ATMPT_NOANS { return 7; } |
|
sub PAST_DUE_NO_ATMT_ANS { return 8; } |
|
sub PAST_DUE_NO_ATMT_NOANS { return 9; } |
sub NETWORK_FAILURE { return 100; } |
sub NETWORK_FAILURE { return 100; } |
|
|
# getDateStatus gets the date status for a given problem part. |
# getDateStatus gets the date status for a given problem part. |
Line 5537 set.
|
Line 5564 set.
|
The problem is past due, not considered correct, and an answer date in |
The problem is past due, not considered correct, and an answer date in |
the future is set. |
the future is set. |
|
|
|
=item * B<PAST_DUE_ATMPT_ANS>: |
|
|
|
The problem is past due, feedback is suppressed, the problem was |
|
attempted and an answer date in the future is set. |
|
|
|
=item * B<PAST_DUE_ATMPT_NOANS>: |
|
|
|
The problem is past due, feedback is suppressed, the problem was |
|
attempted and no answer date is set. |
|
|
|
=item * B<PAST_DUE_NO_ATMT_ANS>: |
|
|
|
The problem is past due, feedback is suppressed, the problem was |
|
not attempted and an answer date in the future is set. |
|
|
|
=item * B<PAST_DUE_NO_ATMT_NOANS>: |
|
|
|
The problem is past due, feedback is suppressed, the problem was |
|
not attempted and no answer date is set. |
|
|
=item * B<ANSWER_OPEN>: |
=item * B<ANSWER_OPEN>: |
|
|
The problem is past due, not correct, and the answer is now available. |
The problem is past due, not correct, and the answer is now available. |
Line 5619 sub status {
|
Line 5666 sub status {
|
# There are a few whole rows we can dispose of: |
# There are a few whole rows we can dispose of: |
if ($completionStatus == CORRECT || |
if ($completionStatus == CORRECT || |
$completionStatus == CORRECT_BY_OVERRIDE ) { |
$completionStatus == CORRECT_BY_OVERRIDE ) { |
if ( $suppressFeedback ) { return ANSWER_SUBMITTED } |
if ( $suppressFeedback ) { |
|
if ($dateStatus == PAST_DUE_ANSWER_LATER || |
|
$dateStatus == PAST_DUE_NO_ANSWER ) { |
|
if ($dateStatus == PAST_DUE_ANSWER_LATER) { |
|
return PAST_DUE_ATMPT_ANS; |
|
} else { |
|
return PAST_DUE_ATMPT_NOANS; |
|
} |
|
} else { |
|
return ANSWER_SUBMITTED; |
|
} |
|
} |
my $awarded=$self->awarded($part); |
my $awarded=$self->awarded($part); |
if ($awarded < 1 && $awarded > 0) { |
if ($awarded < 1 && $awarded > 0) { |
return PARTIALLY_CORRECT; |
return PARTIALLY_CORRECT; |
Line 5658 sub status {
|
Line 5716 sub status {
|
|
|
if ($dateStatus == PAST_DUE_ANSWER_LATER || |
if ($dateStatus == PAST_DUE_ANSWER_LATER || |
$dateStatus == PAST_DUE_NO_ANSWER ) { |
$dateStatus == PAST_DUE_NO_ANSWER ) { |
return $suppressFeedback ? ANSWER_SUBMITTED : $dateStatus; |
if ($suppressFeedback) { |
|
if ($completionStatus == NOT_ATTEMPTED) { |
|
if ($dateStatus == PAST_DUE_ANSWER_LATER) { |
|
return PAST_DUE_NO_ATMT_ANS; |
|
} else { |
|
return PAST_DUE_NO_ATMT_NOANS; |
|
} |
|
} else { |
|
if ($dateStatus == PAST_DUE_ANSWER_LATER) { |
|
return PAST_DUE_ATMPT_ANS; |
|
} else { |
|
return PAST_DUE_ATMPT_NOANS; |
|
} |
|
} |
|
} else { |
|
return $dateStatus; |
|
} |
} |
} |
|
|
if ($dateStatus == ANSWER_OPEN) { |
if ($dateStatus == ANSWER_OPEN) { |
Line 5868 my %compositeToSimple =
|
Line 5942 my %compositeToSimple =
|
EXCUSED() => CORRECT, |
EXCUSED() => CORRECT, |
PAST_DUE_NO_ANSWER() => INCORRECT, |
PAST_DUE_NO_ANSWER() => INCORRECT, |
PAST_DUE_ANSWER_LATER() => INCORRECT, |
PAST_DUE_ANSWER_LATER() => INCORRECT, |
|
PAST_DUE_ATMPT_ANS() => ATTEMPTED, |
|
PAST_DUE_ATMPT_NOANS() => ATTEMPTED, |
|
PAST_DUE_NO_ATMT_ANS() => CLOSED, |
|
PAST_DUE_NO_ATMT_NOANS() => CLOSED, |
ANSWER_OPEN() => INCORRECT, |
ANSWER_OPEN() => INCORRECT, |
OPEN_LATER() => CLOSED, |
OPEN_LATER() => CLOSED, |
TRIES_LEFT() => OPEN, |
TRIES_LEFT() => OPEN, |