--- loncom/interface/spreadsheet/assesscalc.pm 2003/06/23 20:47:00 1.15 +++ loncom/interface/spreadsheet/assesscalc.pm 2003/10/03 15:39:46 1.17.2.2 @@ -1,5 +1,5 @@ # -# $Id: assesscalc.pm,v 1.15 2003/06/23 20:47:00 matthew Exp $ +# $Id: assesscalc.pm,v 1.17.2.2 2003/10/03 15:39:46 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -48,6 +48,7 @@ use Apache::Constants qw(:common :http); use Apache::lonnet; use Apache::loncommon; use Apache::Spreadsheet; +use Apache::loncoursedata(); use HTML::Entities(); use Spreadsheet::WriteExcel; use GDBM_File; @@ -125,6 +126,7 @@ sub clear_package { sub initialize { &clear_package(); + &Apache::loncoursedata::clear_internal_caches(); } ######################################################## @@ -148,6 +150,7 @@ sub initialize_package { } &load_cached_export_rows(); &load_parameter_caches(); + &Apache::loncoursedata::clear_internal_caches(); } ######################################################## @@ -247,7 +250,7 @@ this user and course. ################################################## sub parmval { my $self = shift; - my ($what,$symb,$uname,$udom,$csec)=@_; + my ($what,$symb,$uname,$udom,$csec,$recurse)=@_; $uname = $self->{'name'} if (! defined($uname)); $udom = $self->{'domain'} if (! defined($udom)); $csec = $self->{'section'} if (! defined($csec)); @@ -312,9 +315,12 @@ sub parmval { if ($part eq '') { $part='0'; } my $newwhat=$rwhat; $newwhat=~s/\Q$space\E/$part/; - my $partgeneral=$self->parmval($newwhat,$symb,$uname,$udom,$csec); + my $partgeneral=$self->parmval($newwhat,$symb,$uname,$udom,$csec,1); if (defined($partgeneral)) { return $partgeneral; } } + if ($recurse) { return undef; } + my $pack_def=&Apache::lonnet::packages_tab_default($fn,'resource.'.$what); + if (defined($pack_def)) { return $pack_def; } #nothing defined return ''; } @@ -334,11 +340,11 @@ sub get_html_title { sub get_title { my $self = shift; my @title = (); - if (($self->{'usymb'} eq '_feedback') || - ($self->{'usymb'} eq '_evaluation') || - ($self->{'usymb'} eq '_discussion') || - ($self->{'usymb'} eq '_tutoring')) { - my $assess_title = ucfirst($self->{'usymb'}); + if (($self->{'symb'} eq '_feedback') || + ($self->{'symb'} eq '_evaluation') || + ($self->{'symb'} eq '_discussion') || + ($self->{'symb'} eq '_tutoring')) { + my $assess_title = ucfirst($self->{'symb'}); $assess_title =~ s/^_//; push(@title,$assess_title); } else { @@ -591,7 +597,10 @@ sub compute { while (my ($parm,$value) = each(%parameters)) { last if ($self->blackout()); next if ($parm !~ /^(parameter_.*)_problemstatus$/); - next if ($parameters{$1.'_answerdate'}blackout(1);