--- loncom/interface/lonnavmaps.pm 2010/11/15 22:46:47 1.440.2.3 +++ loncom/interface/lonnavmaps.pm 2010/01/26 11:33:48 1.443 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.440.2.3 2010/11/15 22:46:47 raeburn Exp $ +# $Id: lonnavmaps.pm,v 1.443 2010/01/26 11:33:48 foxr Exp $ # # Copyright Michigan State University Board of Trustees @@ -478,6 +478,7 @@ use Apache::loncommon(); use Apache::lonenc(); use Apache::lonlocal; use Apache::lonnet; + use POSIX qw (floor strftime); use Time::HiRes qw( gettimeofday tv_interval ); use LONCAPA; @@ -492,7 +493,7 @@ sub NOTHING { return 3; } 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. my %statusIconMap = ( @@ -699,11 +700,7 @@ sub getDescription { return &mt("Excused by instructor"); } if ($status == $res->ATTEMPTED) { - if ($res->src() eq '/res/gci/gci/internal/submission.problem') { - return &mt('Question(s) submitted for review'); - } else { - return &mt("Answer submitted, not yet graded"); - } + return &mt("Answer submitted, not yet graded"); } if ($status == $res->TRIES_LEFT) { my $tries = $res->tries($part); @@ -723,11 +720,7 @@ sub getDescription { } } if ($status == $res->ANSWER_SUBMITTED) { - if ($res->src() eq '/res/gci/gci/internal/submission.problem') { - return &mt('Question(s) submitted for review'); - } else { - return &mt('Answer submitted'); - } + return &mt('Answer submitted'); } } @@ -1045,7 +1038,7 @@ sub render_communication_status { my $location=&Apache::loncommon::lonhttpdurl("/adm/lonMisc"); if ($resource->hasDiscussion()) { $discussionHTML = $linkopen . - ''.&mt('New Discussion').'' . + ''.&mt('New Discussion').'' . $linkclose; } @@ -1055,7 +1048,7 @@ sub render_communication_status { if ($msgid) { $feedbackHTML .= ' ' - . ''.&mt('New E-mail').''; + . ''.&mt('New E-mail').''; } } } @@ -1069,7 +1062,7 @@ sub render_communication_status { $errorcount++; $errorHTML .= ' ' - . ''.&mt('New Error').''; + . ''.&mt('New Error').''; } } } @@ -1496,7 +1489,12 @@ END if ($args->{'caller'} eq 'navmapsdisplay') { $result .= ''; + &Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen',undef,'RAT').''; + if ($env{'environment.remotenavmap'} ne 'on') { + $result .= ''; + } else { + $result .= ''; + } $result.=""; $result.=&show_linkitems_toolbar($args->{'linkitems'}); if ($args->{'sort_html'}) { @@ -1504,7 +1502,7 @@ END $result.=''. ''; } else { - $result.=''; } } @@ -1887,7 +1885,7 @@ sub show_linkitems_toolbar { my $result .=' '."\n"; @@ -2388,7 +2378,7 @@ resource object. Based on the symb of the resource, get a resource object for that resource. This is one of the proper ways to get a resource object. -=item * B(map_pc): +=item * B(map_pc): Based on the map_pc of the resource, get a resource object for the given map. This is one of the proper ways to get a resource object. @@ -3543,7 +3533,11 @@ sub navHash { my $self = shift; my $param = shift; my $id = shift; - return $self->{NAV_MAP}->navhash($param . ($id?$self->{ID}:"")); + my $arg = $param . ($id?$self->{ID}:""); + if (defined($arg)) { + return $self->{NAV_MAP}->navhash($arg); + } + return; } =pod @@ -3786,6 +3780,35 @@ sub is_problem { } 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 { my $self=shift; my $src = $self->src(); @@ -3882,12 +3905,6 @@ resource of the map. Returns a string with the type of the map in it. -=item *B: - -Returns a string with a comma-separated ordered list of map_pc IDs -for the hierarchy of maps containing a map, with the top level -map first, then descending to deeper levels, with the enclosing map last. - =back =cut @@ -3918,11 +3935,6 @@ sub map_type { my $pc = $self->map_pc(); return $self->navHash("map_type_$pc", 0); } -sub map_hierarchy { - my $self = shift; - my $pc = $self->map_pc(); - return $self->navHash("map_hierarchy_$pc", 0); -} ##### # Property queries
'. - &Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen',undef,'RAT').'  
".mt('Tools:')."   '.$args->{'sort_html'}.'

'. + $result.='

'. $args->{'sort_html'}.'
'."\n
    "; - foreach my $link (@linkorder) { + foreach my $link (@linkorder) { my $link_id = "LC_content_toolbar_".$link; if (defined($linkitems->{$link})) { if ($linkitems->{$link}{'text'} ne '') { @@ -1907,14 +1905,6 @@ sub show_linkitems_toolbar { } } } - if ($env{'environment.remotenavmap'} eq 'on') { - if (&Apache::loncommon::needs_gci_custom()) { - if ($env{'request.course.id'} && - &Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { - $result .= '
  • '; - } - } - } $result .= '
'; $result .= '