--- loncom/interface/Attic/lonspreadsheet.pm 2003/01/06 19:43:01 1.160 +++ loncom/interface/Attic/lonspreadsheet.pm 2003/03/19 17:16:23 1.160.2.4 @@ -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.4 2003/03/19 17:16:23 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -833,7 +833,7 @@ sub expandnamed { push @matches,$parameter if ($parameter =~ /$expression/); } if (scalar(@matches) == 0) { - $returnvalue = 'unmatched parameter: '.$parameter; + $returnvalue = undef; #'unmatched parameter: '.$parameter; } elsif (scalar(@matches) == 1) { $returnvalue = '$c{\''.$matches[0].'\'}'; } elsif (scalar(@matches) > 0) { @@ -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 ''; } @@ -3008,9 +3035,9 @@ sub handler { $ENV{'form.ufn'} eq 'default')) { $ENV{'form.ufn'}='default_'.$1; } - if (!$ENV{'form.ufn'} || $ENV{'form.ufn'} eq 'default') { - $ENV{'form.ufn'}='course_default_'.$sheettype; - } +# if (!$ENV{'form.ufn'} || $ENV{'form.ufn'} eq 'default') { +# $ENV{'form.ufn'}='course_default_'.$sheettype; +# } # # Interactive loading of specific sheet? # @@ -3212,6 +3239,7 @@ ENDSCRIPT $oldsheets{'course'} ne $sheet->{'cid'}) { undef %oldsheets; undef %loadedcaches; + undef %Section; } $oldsheets{'course'} = $sheet->{'cid'}; #