--- loncom/interface/lonwhatsnew.pm 2005/12/19 21:39:37 1.39 +++ loncom/interface/lonwhatsnew.pm 2005/12/20 15:56:38 1.40 @@ -1,5 +1,5 @@ # -# $Id: lonwhatsnew.pm,v 1.39 2005/12/19 21:39:37 raeburn Exp $ +# $Id: lonwhatsnew.pm,v 1.40 2005/12/20 15:56:38 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -90,28 +90,28 @@ sub handler { ({href=>'/adm/whatsnew?command=chgthreshold&refpage='.$refpage, text=>"Change thresholds"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs - (undef,'Course Action Items','Course_Action_Items_Thresholds')); + (undef,"What's New?",'Course_Action_Items_Thresholds')); } elsif (($command eq 'chginterval') && (&Apache::lonnet::allowed('vgr',$env{'request.course.id'}))) { &Apache::lonhtmlcommon::add_breadcrumb ({href=>'/adm/whatsnew?command=chginterval&refpage='.$refpage, text=>"Change interval"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs - (undef,'Course Action Items','Course_Action_Items_Intervals')); + (undef,"What's New?",'Course_Action_Items_Intervals')); } elsif (($command eq 'chgdisc') && (&Apache::lonnet::allowed('pch',$env{'request.course.id'}))) { &Apache::lonhtmlcommon::add_breadcrumb ({href=>'/adm/whatsnew?command=chgdisc&refpage='.$refpage, text=>"Change discussion display"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs - (undef,'Course Action Items','Course_Action_Items_Intervals')); + (undef,"What's New?",'Course_Action_Items_Intervals')); } elsif ($command eq 'courseinit') { &Apache::lonhtmlcommon::add_breadcrumb ({href=>'/adm/whatsnew?command=courseinit&refpage='.$refpage, text=>"Course initialization preference"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs - (undef,'Course Action Items','Course_Action_Items_Initialization')); + (undef,"What's New?",'Course_Action_Items_Initialization')); } else { $r->print(&Apache::lonhtmlcommon::breadcrumbs - (undef,'Course Action Items','Course_Action_Items_Display')); + (undef,"What's New?",'Course_Action_Items_Display')); } &display_main_box($r,$command,$refpage,\%checkallowed); return OK; @@ -126,7 +126,8 @@ sub handler { sub display_main_box { my ($r,$command,$refpage,$checkallowed) = @_; my $domain=&Apache::loncommon::determinedomain(); - my $tabbg=&Apache::loncommon::designparm('coordinator.tabbg',$domain); + my $function = &Apache::loncommon::get_users_function(); + my $tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain); $r->print('
'); my %threshold_titles = &Apache::lonlocal::texthash ( @@ -164,7 +165,7 @@ sub display_main_box { } elsif ($command eq 'courseinit') { &courseinit_config($r,$refpage,\%initpage); } else { - &display_actions_box($r,$command,$refpage,\%threshold_titles, + &display_actions_box($r,$tabbg,$command,$refpage,\%threshold_titles, \%interval_titles,\%initpage,$cdom,$crs,$checkallowed); } $r->print(< 'First resource', - whatsnew => "What's New page", + whatsnew => "What's New? page", userpref => 'user preference', coursespecific => 'course only', default => 'default', @@ -293,9 +285,6 @@ sub display_actions_box { my ($initcontrol,$initdisp) = &curr_courseinit(); my $currinit = $pagedesc{$initdisp}.' ('.$pagedesc{$initcontrol}.')'; - my $pgbg=&Apache::loncommon::designparm($function.'.pgbg',$domain); - my $tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain); - unless ($cid) { $r->print('
'.$lt{'yacc'}.'


'); return; @@ -413,12 +402,17 @@ sub display_actions_box { $r->print('
'); if (($caller eq 'abovethreshold') && ($$show{$caller})) { - $r->print(' + if ($$show{$caller}) { + $r->print(' '); + } } elsif (($caller eq 'versionchanges') && ($$show{$caller})) { - $r->print(' + if ($$show{$caller}) { + $r->print(' '); + } } elsif ($caller eq 'coursediscussion') { - $r->print(' + if ($$show{$caller}) { + $r->print(' '); + } } $r->print('
'); my $displayed = 0; - my $totalboxes = keys(%{$checkallowed}); + my $totalboxes = 0; + foreach my $key (keys(%{$checkallowed})) { + if ($$checkallowed{$key}) { + $totalboxes ++; + } + } my $halfway = int($totalboxes/2) + $totalboxes%2; foreach my $actionitem (@actionorder) { if ($$checkallowed{$actionitem}) { if ($displayed == $halfway) { - $r->print(' '); + $r->print(' '); } &display_launcher($r,$actionitem,$refpage,$checkallowed,$tabbg,$rowColor1,$rowColor2,\%show,\%headings,\%res_title,\@tograde,\%ungraded,\@bombs,\%bombed,\%changed,\@warnings,\%triggered,\@newdiscussions,\%unread,$msgcount,\@newmsgs,$critmsgcount,\@critmsgs,$interval,$countunread); $displayed ++; @@ -625,17 +619,19 @@ END sub curr_courseinit { my $current = &get_current($env{'user.name'},$env{'user.domain'}, $env{'request.course.id'},'courseinit'); - my %userenv = &Apache::lonnet::get('environment',['course_init_display']); my $control; - if ($current eq '') { + if ($current) { + $control = 'coursespecific'; + } else { $control = 'userpref'; - if (exists($userenv{'firstres'})) { - $current = 'firstres'; - } else { + my %userenv = &Apache::lonnet::get('environment', + ['course_init_display']); + if (exists($userenv{'course_init_display'})) { + $current = $userenv{'course_init_display'}; + } + unless ($current) { $current = 'whatsnew'; } - } else { - $control = 'coursespecific'; } return ($control,$current); } @@ -942,7 +938,7 @@ sub get_curr_thresholds { $uname,$cid.':threshold'); my $thresholdcount = 0; my ($tmp) = %thresholdsettings; - unless ($tmp =~ /^Error/) { + unless ($tmp =~ /^(con_lost|error|no_such_host)/i) { foreach my $item (keys %{$threshold}) { if (exists($thresholdsettings{$cid.':threshold_'.$item})) { $$threshold{$item} = @@ -957,7 +953,7 @@ sub get_curr_thresholds { my %coursesettings = &Apache::lonnet::dump('environment', $cdom,$crs,'internal.threshold'); my ($temp) = %coursesettings; - unless ($temp =~ /^Error/) { + unless ($temp =~ /^(con_lost|error|no_such_host)/i) { foreach my $item (keys %{$threshold}) { unless (exists($thresholdsettings{$cid.':threshold_'.$item})) { if (exists($coursesettings{'internal.threshold_'.$item})) { @@ -976,10 +972,7 @@ sub get_current { my %settings = &Apache::lonnet::dump('nohist_whatsnew',$udom,$uname,$cid. ':'.$caller); my ($tmp) = %settings; - if ($tmp =~ /^Error/) { - &logthis('Error retrieving '.$caller.' setting from nohist_whatsnew for '. - $uname.";".$udom.' in '.$cid); - } else { + unless ($tmp =~ /^(con_lost|error|no_such_host)/i) { $currvalue = $settings{$cid.':'.$caller}; } return $currvalue; @@ -1121,10 +1114,7 @@ sub checkversions { my ($cdom,$crs,$navmap,$changed,$starttime) = @_; my %changes=&Apache::lonnet::dump('versionupdate',$cdom,$crs); my ($tmp) = keys(%changes); - if ($tmp =~/^error\:/) { - &Apache::lonnet::logthis('Error retrieving version update information: '. - $tmp.' for '.$cdom.'_'.$crs.' in whatsnew'); - } else { + unless ($tmp =~ /^(con_lost|error|no_such_host)/i) { if (keys(%changes) > 0) { foreach my $key (sort(keys(%changes))) { if ($changes{$key} > $starttime) { @@ -1409,7 +1399,7 @@ sub get_display_settings { my ($uname,$udom,$cid) = @_; my %settings = &Apache::lonnet::dump('nohist_whatsnew',$udom,$uname,$cid); my ($tmp) = keys(%settings); - if ($tmp=~/^error:/) { + if ($tmp=~ /^(con_lost|error|no_such_host)/i) { %settings = (); unless ($tmp eq 'error: 2 tie(GDBM) Failed while attempting dump') { &logthis('Error retrieving whatsnew settings: '.$tmp.' for '. @@ -1564,20 +1554,26 @@ sub start_box {
'.$lt{'chth'}.'
'.$lt{'chin'}.'
'.$lt{'chop'}.'