version 1.441, 2009/12/27 01:31:05
|
version 1.444, 2010/02/28 22:36:38
|
Line 478 use Apache::loncommon();
|
Line 478 use Apache::loncommon();
|
use Apache::lonenc(); |
use Apache::lonenc(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonnet; |
use Apache::lonnet; |
|
|
use POSIX qw (floor strftime); |
use POSIX qw (floor strftime); |
use Time::HiRes qw( gettimeofday tv_interval ); |
use Time::HiRes qw( gettimeofday tv_interval ); |
use LONCAPA; |
use LONCAPA; |
Line 492 sub NOTHING { return 3; }
|
Line 493 sub NOTHING { return 3; }
|
|
|
my $resObj = "Apache::lonnavmaps::resource"; |
my $resObj = "Apache::lonnavmaps::resource"; |
|
|
# Keep these mappings in sync with lonquickgrades, which uses the colors |
# Keep these mappings in sync with lonquickgrades, which usesthe colors |
# instead of the icons. |
# instead of the icons. |
my %statusIconMap = |
my %statusIconMap = |
( |
( |
Line 699 sub getDescription {
|
Line 700 sub getDescription {
|
return &mt("Excused by instructor"); |
return &mt("Excused by instructor"); |
} |
} |
if ($status == $res->ATTEMPTED) { |
if ($status == $res->ATTEMPTED) { |
return &mt("Answer submitted, not yet graded"); |
if ($res->is_anonsurvey($part) || $res->is_survey($part)) { |
|
return &mt("Survey submission recorded"); |
|
} else { |
|
return &mt("Answer submitted, not yet graded"); |
|
} |
} |
} |
if ($status == $res->TRIES_LEFT) { |
if ($status == $res->TRIES_LEFT) { |
my $tries = $res->tries($part); |
my $tries = $res->tries($part); |
Line 1037 sub render_communication_status {
|
Line 1042 sub render_communication_status {
|
my $location=&Apache::loncommon::lonhttpdurl("/adm/lonMisc"); |
my $location=&Apache::loncommon::lonhttpdurl("/adm/lonMisc"); |
if ($resource->hasDiscussion()) { |
if ($resource->hasDiscussion()) { |
$discussionHTML = $linkopen . |
$discussionHTML = $linkopen . |
'<img alt="'.&mt('New Discussion').'" src="'.$location.'/chat.gif" />' . |
'<img alt="'.&mt('New Discussion').'" src="'.$location.'/chat.gif" title="'.&mt('New Discussion').'"/>' . |
$linkclose; |
$linkclose; |
} |
} |
|
|
Line 1047 sub render_communication_status {
|
Line 1052 sub render_communication_status {
|
if ($msgid) { |
if ($msgid) { |
$feedbackHTML .= ' <a '.$target.' href="/adm/email?display=' |
$feedbackHTML .= ' <a '.$target.' href="/adm/email?display=' |
. &escape($msgid) . '">' |
. &escape($msgid) . '">' |
. '<img alt="'.&mt('New E-mail').'" src="'.$location.'/feedback.gif" /></a>'; |
. '<img alt="'.&mt('New E-mail').'" src="'.$location.'/feedback.gif" title="'.&mt('New E-mail').'"/></a>'; |
} |
} |
} |
} |
} |
} |
Line 1061 sub render_communication_status {
|
Line 1066 sub render_communication_status {
|
$errorcount++; |
$errorcount++; |
$errorHTML .= ' <a '.$target.' href="/adm/email?display=' |
$errorHTML .= ' <a '.$target.' href="/adm/email?display=' |
. &escape($msgid) . '">' |
. &escape($msgid) . '">' |
. '<img alt="'.&mt('New Error').'" src="'.$location.'/bomb.gif" /></a>'; |
. '<img alt="'.&mt('New Error').'" src="'.$location.'/bomb.gif" title="'.&mt('New Error').'"/></a>'; |
} |
} |
} |
} |
} |
} |
Line 3779 sub is_problem {
|
Line 3784 sub is_problem {
|
} |
} |
return 0; |
return 0; |
} |
} |
|
# |
|
# The has below is the set of status that are considered 'incomplete' |
|
# |
|
my %incomplete_hash = |
|
( |
|
TRIES_LEFT() => 1, |
|
OPEN() => 1, |
|
ATTEMPTED() => 1 |
|
|
|
); |
|
# |
|
# Return tru if a problem is incomplete... for now incomplete means that |
|
# any part of the problem is incomplete. |
|
# Note that if the resources is not a problem, 0 is returned. |
|
# |
|
sub is_incomplete { |
|
my $self = shift; |
|
if ($self->is_problem()) { |
|
&Apache::lonnet::logthis('is problem'); |
|
foreach my $part (@{$self->parts()}) { |
|
&Apache::lonnet::logthis("$part status ".$self->status($part)); |
|
if (exists($incomplete_hash{$self->status($part)})) { |
|
return 1; |
|
} |
|
} |
|
} |
|
return 0; |
|
|
|
} |
sub is_raw_problem { |
sub is_raw_problem { |
my $self=shift; |
my $self=shift; |
my $src = $self->src(); |
my $src = $self->src(); |
Line 3814 sub is_survey {
|
Line 3848 sub is_survey {
|
my $self = shift(); |
my $self = shift(); |
my $part = shift(); |
my $part = shift(); |
my $type = $self->parmval('type',$part); |
my $type = $self->parmval('type',$part); |
if ($type eq 'survey') { |
if (($type eq 'survey') || ($type eq 'surveycred')) { |
return 1; |
return 1; |
} |
} |
if ($self->src() =~ /\.(survey)$/) { |
if ($self->src() =~ /\.(survey)$/) { |
return 1; |
return 1; |
} |
} |
return 0; |
return 0; |
|
} |
|
sub is_anonsurvey { |
|
my $self = shift(); |
|
my $part = shift(); |
|
my $type = $self->parmval('type',$part); |
|
if (($type eq 'anonsurvey') || ($type eq 'anonsurveycred')) { |
|
return 1; |
|
} |
|
return 0; |
} |
} |
sub is_task { |
sub is_task { |
my $self=shift; |
my $self=shift; |