--- loncom/interface/spreadsheet/assesscalc.pm 2004/02/24 20:47:14 1.33 +++ loncom/interface/spreadsheet/assesscalc.pm 2005/03/03 17:52:36 1.37 @@ -1,5 +1,5 @@ # -# $Id: assesscalc.pm,v 1.33 2004/02/24 20:47:14 matthew Exp $ +# $Id: assesscalc.pm,v 1.37 2005/03/03 17:52:36 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -104,6 +104,7 @@ my %nice_parameter_name; my %useropt; my %userdata; my %courseopt; +my $navmap; ######################################################## ######################################################## @@ -136,11 +137,11 @@ sub clear_package { undef(%useropt); undef(%userdata); undef(%courseopt); + undef($navmap); } sub save_cached_export_rows { my ($sname,$sdomain) = @_; - my $start = Time::HiRes::time; my $result = &Apache::lonnet::put ('nohist_calculatedsheets_'.$ENV{'request.course.id'}, $newExportrows{$sname.':'.$sdomain}, @@ -149,7 +150,15 @@ sub save_cached_export_rows { } sub initialize { + my ($in_navmap) = @_; &clear_package(); + $navmap = $in_navmap; + if (! defined($navmap)) { + $navmap = Apache::lonnavmaps::navmap->new(); + } + if (!defined($navmap)) { + &Apache::lonnet::logthis('assesscalc:Can not open Coursemap'); + } &Apache::loncoursedata::clear_internal_caches(); } @@ -165,9 +174,10 @@ sub initialize { ######################################################## ######################################################## sub initialize_package { - my ($sname,$sdomain) = @_; + my ($sname,$sdomain,$in_navmap) = @_; $current_name = $sname; $current_domain = $sdomain; + $navmap = $in_navmap; undef(%useropt); undef(%userdata); if ($current_course ne $ENV{'request.course.id'}) { @@ -337,18 +347,19 @@ sub parmval { # # check course return $courseopt{$courselevelr} if (defined($courseopt{$courselevelr})); - return $courseopt{$courselevelm} if (defined($courseopt{$courselevelm})); - return $courseopt{$courselevel} if (defined($courseopt{$courselevel})); # check map parms my $thisparm = $parmhash{$symbparm}; return $thisparm if (defined($thisparm)); # check default $thisparm = &Apache::lonnet::metadata($fn,$rwhat.'.default'); return $thisparm if (defined($thisparm)); - # + # check more course + return $courseopt{$courselevelm} if (defined($courseopt{$courselevelm})); + return $courseopt{$courselevel} if (defined($courseopt{$courselevel})); + # Cascade Up my $space=$what; - $space=~s/\.\w+$//; + $space=~s/\.[^._]+$//; if ($space ne '0') { my @parts=split(/_/,$space); my $id=pop(@parts); @@ -397,11 +408,8 @@ sub get_full_title { my @title = ($self->get_title()); # Look up the users identifying information # Get the users information - my %userenv = &Apache::loncoursedata::GetUserName($self->{'name'}, - $self->{'domain'}); - my $name = - join(' ',@userenv{'firstname','middlename','lastname','generation'}); - $name =~ s/\s+$//; + my $name = &Apache::loncommon::plainname($self->{'name'}, + $self->{'domain'}); push (@title,$name); push (@title,&Apache::lonlocal::locallocaltime(time)); return @title;