--- loncom/interface/Attic/lonspreadsheet.pm 2001/09/01 20:38:52 1.59 +++ loncom/interface/Attic/lonspreadsheet.pm 2001/09/12 21:07:20 1.62 @@ -6,7 +6,7 @@ # 01/01/01,02/01,03/01,19/01,20/01,22/01, # 03/05,03/08,03/10,03/12,03/13,03/15,03/17, # 03/19,03/20,03/21,03/27,04/05,04/09, -# 07/09,07/14,07/21,09/01 Gerd Kortemeyer +# 07/09,07/14,07/21,09/01,09/10,9/11,9/12 Gerd Kortemeyer package Apache::lonspreadsheet; @@ -670,11 +670,13 @@ sub rown { my ($safeeval,$n)=@_; my $defaultbg; my $rowdata=''; + my $dataflag=0; unless ($n eq '-') { $defaultbg=((($n-1)/5)==int(($n-1)/5))?'#E0E0':'#FFFF'; } else { $defaultbg='#E0FF'; } + my $headerrow=''; if ((($n-1)/25)==int(($n-1)/25)) { my $what='Student'; if (&gettype($safeeval) eq 'assesscalc') { @@ -682,35 +684,38 @@ sub rown { } elsif (&gettype($safeeval) eq 'studentcalc') { $what='Assessment'; } - $rowdata.="\n
". + $headerrow.="
\n
". ''; map { - $rowdata.=''; + $headerrow.=''; } ('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z', 'a','b','c','d','e','f','g','h','i','j','k','l','m', 'n','o','p','q','r','s','t','u','v','w','x','y','z'); - $rowdata.=''; + $headerrow.=''; } $rowdata.="\n"; my $showf=0; my $proc; my $maxred; - if (&gettype($safeeval) eq 'studentcalc') { + my $sheettype=&gettype($safeeval); + if ($sheettype eq 'studentcalc') { $proc='&outrowassess'; $maxred=26; } else { $proc='&outrow'; } - if (&gettype($safeeval) eq 'assesscalc') { + if ($sheettype eq 'assesscalc') { $maxred=1; } else { $maxred=26; } - if ($n eq '-') { $proc='&templaterow'; $n=-1; } + if ($n eq '-') { $proc='&templaterow'; $n=-1; $dataflag=1; } map { my $bgcolor=$defaultbg.((($showf-1)/5==int(($showf-1)/5))?'99':'DD'); my ($fm,$vl)=split(/\_\_\_eq\_\_\_/,$_); + if ((($vl ne '') || ($vl eq '0')) && + (($showf==1) || ($sheettype ne 'studentcalc'))) { $dataflag=1; } if ($showf==0) { $vl=$_; } if ($showf<=$maxred) { $bgcolor='#FFDDDD'; } if (($n==0) && ($showf<=26)) { $bgcolor='#CCCCFF'; } @@ -726,7 +731,11 @@ sub rown { } $showf++; } $safeeval->reval($proc.'('.$n.')'); - return $rowdata.''; + if ($ENV{'form.showall'} || ($dataflag)) { + return $headerrow.$rowdata.''; + } else { + return $headerrow; + } } # ------------------------------------------------------------- Print out sheet @@ -1513,6 +1522,18 @@ sub loadassessment { # ----------------- now courseopt, useropt initialized for this user and course # (used by parmval) +# +# Load keys for this assessment only +# + my %thisassess=(); + my ($symap,$syid,$srcf)=split(/\_\_\_/,$symb); + + map { + $thisassess{$_}=1; + } split(/\,/,&Apache::lonnet::metadata($srcf,'keys')); +# +# Load parameters +# my %c=(); if (tie(%parmhash,'GDBM_File', @@ -1522,9 +1543,11 @@ sub loadassessment { if ($_=~/^A/) { unless ($f{$_}=~/^\!/) { if ($f{$_}=~/^parameter/) { + if ($thisassess{$f{$_}}) { my $val=&parmval($f{$_},$safeeval); $c{$_}=$val; $c{$f{$_}}=$val; + } } else { my $key=$f{$_}; my $ckey=$key; @@ -1973,7 +1996,8 @@ ENDSCRIPT # ---------------------------------------------------------------- Course title $r->print('

'. - $ENV{'course.'.$ENV{'request.course.id'}.'.description'}.'

'); + $ENV{'course.'.$ENV{'request.course.id'}.'.description'}. + '

'.localtime().'

'); # ---------------------------------------------------- See if user can see this @@ -2096,6 +2120,15 @@ ENDSCRIPT &tmpwrite($asheet); + if (&gettype($asheet) eq 'studentcalc') { + $r->print('
Show rows with empty A column: '); + } else { + $r->print('
Show empty rows: '); + } + $r->print('print(' checked'); } + $r->print('>'); + # ------------------------------------------------------------- Print out sheet &outsheet($r,$asheet);
 '.$what.''.$_.''.$_.'
$n