--- loncom/interface/Attic/lonspreadsheet.pm 2003/01/06 19:43:01 1.160 +++ loncom/interface/Attic/lonspreadsheet.pm 2003/03/14 22:54:26 1.160.2.3 @@ -1,5 +1,5 @@ # -# $Id: lonspreadsheet.pm,v 1.160 2003/01/06 19:43:01 matthew Exp $ +# $Id: lonspreadsheet.pm,v 1.160.2.3 2003/03/14 22:54:26 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1882,6 +1882,14 @@ sub makenewsheet { $sheet->{'mapid'} = $ENV{'form.mapid'}; $sheet->{'resid'} = $ENV{'form.resid'}; $sheet->{'cid'} = $ENV{'request.course.id'}; + if (! exists($Section{$uname.':'.$udom})) { + my $classlist = &Apache::loncoursedata::get_classlist(); + foreach my $student (keys(%$classlist)) { + my ($studentDomain,$studentName,undef,undef,undef,$studentSection, + undef,undef) = @{$classlist->{$student}}; + $Section{$studentName.':'.$studentDomain} = $studentSection; + } + } $sheet->{'csec'} = $Section{$uname.':'.$udom}; $sheet->{'coursefilename'} = $ENV{'request.course.fn'}; $sheet->{'cnum'} = $ENV{'course.'.$ENV{'request.course.id'}.'.num'}; @@ -2094,8 +2102,27 @@ sub parmval { # second, check map parms my $thisparm = $parmhash{$symbparm}; return $thisparm if (defined($thisparm)); + # first, check default - return &Apache::lonnet::metadata($fn,$rwhat.'.default'); + $thisparm = &Apache::lonnet::metadata($fn,$rwhat.'.default'); + return $thisparm if (defined($thisparm)); + + #Cascade Up + my $space=$what; + $space=~s/\.\w+$//; + if ($space ne '0') { + my @parts=split(/_/,$space); + my $id=pop(@parts); + my $part=join('_',@parts); + if ($part eq '') { $part='0'; } + my $newwhat=$rwhat; + $newwhat=~s/\Q$space\E/$part/; + my $partgeneral=&parmval($newwhat,$sheet); + if (defined($partgeneral)) { return $partgeneral; } + } + + #nothing defined + return ''; } @@ -3212,6 +3239,7 @@ ENDSCRIPT $oldsheets{'course'} ne $sheet->{'cid'}) { undef %oldsheets; undef %loadedcaches; + undef %Section; } $oldsheets{'course'} = $sheet->{'cid'}; #