--- loncom/interface/spreadsheet/lonspreadsheet.pm 2006/04/06 16:43:49 1.43 +++ loncom/interface/spreadsheet/lonspreadsheet.pm 2006/04/06 20:24:13 1.44 @@ -1,5 +1,5 @@ # -# $Id: lonspreadsheet.pm,v 1.43 2006/04/06 16:43:49 albertel Exp $ +# $Id: lonspreadsheet.pm,v 1.44 2006/04/06 20:24:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -266,6 +266,24 @@ sub handler { $env{'form.sdomain'} = $domain; my $section = &Apache::lonnet::getsection($domain,$name, $env{'request.course.id'}); + my $group; + my @groups = (); + if (($env{'user.name'} eq $name) && ($env{'user.domain'} eq $domain)) { + @groups=&Apache::lonnet::sort_course_groups( + $env{'request.course.groups'}, + $env{'request.course.id'}); + } else { + my $grouplist = &Apache::lonnet::get_users_groups($domain,$name, + $env{'request.course.id'}); + if ($grouplist) { + @groups=&Apache::lonnet::sort_course_groups($grouplist, + $env{'request.course.id'}); + } + } + if (@groups > 0) { + $group = $groups[0]; + } + ## ## Check permissions my $allowed_to_edit = &Apache::lonnet::allowed('mgr', @@ -441,15 +459,15 @@ ENDSCRIPT my $spreadsheet = undef; if ($sheettype eq 'classcalc') { $spreadsheet = Apache::classcalc->new($name,$domain,$filename,undef, - $section); + $section,$group); } elsif ($sheettype eq 'studentcalc') { $spreadsheet = Apache::studentcalc->new($name,$domain,$filename,undef, - $section); + $section,$group); } elsif ($sheettype eq 'assesscalc' && defined($symb) && $allowed_to_edit) { $spreadsheet = Apache::assesscalc->new($name,$domain,$filename,$symb, - $section); + $section,$group); } else { return HTTP_NOT_ACCEPTABLE; }