--- loncom/interface/lonnavmaps.pm 2010/03/16 19:55:49 1.445 +++ loncom/interface/lonnavmaps.pm 2010/12/03 15:19:09 1.453 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.445 2010/03/16 19:55:49 droeschl Exp $ +# $Id: lonnavmaps.pm,v 1.453 2010/12/03 15:19:09 www Exp $ # # Copyright Michigan State University Board of Trustees @@ -528,6 +528,7 @@ my %colormap = $resObj->OPEN => '', $resObj->NOTHING_SET => '', $resObj->ATTEMPTED => '', + $resObj->CREDIT_ATTEMPTED => '', $resObj->ANSWER_SUBMITTED => '', $resObj->PARTIALLY_CORRECT => '#006600' ); @@ -677,6 +678,11 @@ sub getDescription { return &mt("Answer submitted, not yet graded"); } } + if ($status == $res->CREDIT_ATTEMPTED) { + if ($res->is_anonsurvey($part) || $res->is_survey($part)) { + return &mt("Credit for survey submission"); + } + } if ($status == $res->TRIES_LEFT) { my $tries = $res->tries($part); my $maxtries = $res->maxtries($part); @@ -1084,9 +1090,10 @@ sub render_long_status { } } - if ($resource->kind() eq "res" && + if (($resource->kind() eq "res" && ($resource->is_problem() || $resource->is_practice()) && - !$firstDisplayed) { + !$firstDisplayed) && + $resource->is_raw_problem()) { if ($color) {$result .= ""; } $result .= getDescription($resource, $part); if ($color) {$result .= ""; } @@ -1400,19 +1407,22 @@ sub render { if ($printCloseAll && !$args->{'resource_no_folder_link'}) { my ($link,$text); if ($condition) { - $link='"navmaps?condition=0&filter=&'.$queryString. - '&here='.&escape($here).'"'; + $link='navmaps?condition=0&filter=&'.$queryString. + '&here='.&escape($here); $text='Close all folders'; } else { - $link='"navmaps?condition=1&filter=&'.$queryString. - '&here='.&escape($here).'"'; + $link='navmaps?condition=1&filter=&'.$queryString. + '&here='.&escape($here); $text='Open all folders'; } + if ($env{'form.register'}) { + $link .= '®ister='.$env{'form.register'}; + } if ($args->{'caller'} eq 'navmapsdisplay') { &add_linkitem($args->{'linkitems'},'changefolder', - 'location.href='.$link,$text); + "location.href='$link'",$text); } else { - $result.=''.&mt($text).''; + $result.= ''.&mt($text).''; } $result .= "\n"; } @@ -1428,6 +1438,9 @@ sub render { END + if ($env{'form.register'}) { + $result .= ''; + } if ($args->{'sort'} eq 'discussion') { my $totdisc = 0; my $haveDisc = ''; @@ -1449,12 +1462,11 @@ END $result.=''; } - if ($args->{'caller'} eq 'navmapsdisplay') { $result .= '
'. &Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen',undef,'RAT').' | '; $result .= ''; - $result.=" | ".mt('Tools:')." | "; + $result.=''.&mt('Tools:').' | '; $result.=&show_linkitems_toolbar($args->{'linkitems'}); if ($args->{'sort_html'}) { $result.=''. @@ -1710,7 +1722,7 @@ END if (defined($anchor)) { $anchor='#'.$anchor; } my $srcHasQuestion = $src =~ /\?/; $args->{"resourceLink"} = $src. - ($srcHasQuestion?'&':'?') . + ($srcHasQuestion?'&':'?') . 'symb=' . &escape($symb).$anchor; } # Now, we've decided what parts to show. Loop through them and @@ -1772,12 +1784,11 @@ END # it's quite likely this might fix other browsers, too, and # certainly won't hurt anything. if ($displayedJumpMarker) { - $result .= " -"; +"); } $result.=&Apache::loncommon::end_data_table(); @@ -1797,71 +1808,38 @@ sub add_linkitem { $$linkitems{$name}{'text'}=&mt($text); } -sub show_linkitems { - my ($linkitems)=@_; - my @linkorder = ("blank","launchnav","closenav","firsthomework", - "everything","uncompleted","changefolder","clearbubbles"); - - my $result .= (< |
- '."\n
'."\n".
+ ''."\n".
+ ' | '."\n";
-
+ $result .= '
| '."\n";
return $result;
}
@@ -1953,6 +1931,9 @@ sub new {
my $class = ref($proto) || $proto;
my $self = {};
+ $self->{USERNAME} = shift || $env{'user.name'};
+ $self->{DOMAIN} = shift || $env{'user.domain'};
+
# Resource cache stores navmap resources as we reference them. We generate
# them on-demand so we don't pay for creating resources unless we use them.
$self->{RESOURCE_CACHE} = {};
@@ -1991,8 +1972,9 @@ sub generate_course_user_opt {
my $self = shift;
if ($self->{COURSE_USER_OPT_GENERATED}) { return; }
- my $uname=$env{'user.name'};
- my $udom=$env{'user.domain'};
+ my $uname=$self->{USERNAME};
+ my $udom=$self->{DOMAIN};
+
my $cid=$env{'request.course.id'};
my $cdom=$env{'course.'.$cid.'.domain'};
my $cnum=$env{'course.'.$cid.'.num'};
@@ -2043,7 +2025,7 @@ sub generate_email_discuss_status {
my %discussiontime = &Apache::lonnet::dump('discussiontimes',
$cdom, $cnum);
my %lastread = &Apache::lonnet::dump('nohist_'.$cid.'_discuss',
- $env{'user.domain'},$env{'user.name'},'lastread');
+ $self->{DOMAIN},$self->{USERNAME},'lastread');
my %lastreadtime = ();
foreach my $key (keys %lastread) {
my $shortkey = $key;
@@ -2053,8 +2035,8 @@ sub generate_email_discuss_status {
my %feedback=();
my %error=();
- my @keys = &Apache::lonnet::getkeys('nohist_email',$env{'user.domain'},
- $env{'user.name'});
+ my @keys = &Apache::lonnet::getkeys('nohist_email',$self->{DOMAIN},
+ $self->{USERNAME});
foreach my $msgid (@keys) {
if ((!$emailstatus{$msgid}) || ($emailstatus{$msgid} eq 'new')) {
@@ -2102,8 +2084,8 @@ sub get_user_data {
# Retrieve performance data on problems
my %student_data = Apache::lonnet::currentdump($env{'request.course.id'},
- $env{'user.domain'},
- $env{'user.name'});
+ $self->{DOMAIN},
+ $self->{USERNAME});
$self->{STUDENT_DATA} = \%student_data;
$self->{RETRIEVED_USER_DATA} = 1;
@@ -2332,7 +2314,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