--- loncom/interface/spreadsheet/Spreadsheet.pm 2006/03/05 21:35:10 1.64 +++ loncom/interface/spreadsheet/Spreadsheet.pm 2006/04/06 20:24:13 1.67 @@ -1,5 +1,5 @@ # -# $Id: Spreadsheet.pm,v 1.64 2006/03/05 21:35:10 bowersj2 Exp $ +# $Id: Spreadsheet.pm,v 1.67 2006/04/06 20:24:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -85,7 +85,7 @@ sub new { my $class = ref($this) || $this; my ($stype) = ($class =~ /Apache::(.*)$/); # - my ($name,$domain,$filename,$usymb)=@_; + my ($name,$domain,$filename,$usymb,$section,$group)=@_; if (defined($usymb) && ref($usymb)) { $usymb = $usymb->symb; } @@ -95,10 +95,25 @@ sub new { if (! defined($domain) || $domain eq '') { $domain = $env{'user.domain'}; } + if (! defined($section) || $section eq '') { + $section = &Apache::lonnet::getsection($domain,$name, + $env{'request.course.id'}); + } + if (! defined($group) || $group eq '') { + my $grouplist = &Apache::lonnet::get_users_groups($domain,$name, + $env{'request.course.id'}); + if ($grouplist) { + my @groups = &Apache::lonnet::sort_course_groups($grouplist, + $env{'request.course.id'}); + $group = $groups[0]; + } + } # my $self = { name => $name, domain => $domain, + section => $section, + group => $group, type => $stype, symb => $usymb, errorlog => '', @@ -722,7 +737,7 @@ sub calc { $notfinished=0; while (my ($cell,$value) = each(%t)) { my $old=$sheet_values{$cell}; - #$sheet_values{$cell}=eval $value; + $sheet_values{$cell}=eval $value; # $errorlog .= $cell.' = '.$old.'->'.$sheet_values{$cell}."\n"; if ($@) { undef %sheet_values; @@ -1290,15 +1305,13 @@ sub html_editable_cell { } $name = '' if (! defined($name)); $formula = '' if (! defined($formula)); - if ($showsource) - { + if ($showsource) { if (!defined($formula) || $formula =~ /^\s*$/) { $value = '#'; } else { $value = &HTML::Entities::encode($formula, '<>&"'); } - } - elsif (! defined($value)) { + } elsif (! defined($value)) { $value = '#'; if ($formula ne '') { $value = 'undefined value';