[LON-CAPA-cvs] cvs: loncom /lonnet/perl lonnet.pm

matthew lon-capa-cvs@mail.lon-capa.org
Wed, 16 Jul 2003 20:13:18 -0000


matthew		Wed Jul 16 16:13:18 2003 EDT

  Modified files:              
    /loncom/lonnet/perl	lonnet.pm 
  Log:
  Fix bug which caused me to report bug 1951.  There were 2 bugs here:
  &devalidate:
  1. The spreadsheet caches of the student sheet export rows are now stored
     with a ':' at the end of them, so the deletes from the course cache
     were not occuring properly.  Fixed by adding ':'.
  2. &devalidate was not passing the username and domain to &del, so when new
     grades were entered by the course coordinator &devalidation tried to
     remove the assessment level cache from the instructors class cache instead
     of the target students cache.  Now pass the names along properly and it
     works.
  
  
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.390 loncom/lonnet/perl/lonnet.pm:1.391
--- loncom/lonnet/perl/lonnet.pm:1.390	Fri Jul 11 16:41:41 2003
+++ loncom/lonnet/perl/lonnet.pm	Wed Jul 16 16:13:17 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.390 2003/07/11 20:41:41 matthew Exp $
+# $Id: lonnet.pm,v 1.391 2003/07/16 20:13:17 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1425,19 +1425,19 @@
     my ($symb,$uname,$udom)=@_;
     my $cid=$ENV{'request.course.id'}; 
     if ($cid) {
-# delete the stored spreadsheets for
-# - the student level sheet of this user in course's homespace
-# - the assessment level sheet for this resource 
-#   for this user in user's homespace
+        # delete the stored spreadsheets for
+        # - the student level sheet of this user in course's homespace
+        # - the assessment level sheet for this resource 
+        #   for this user in user's homespace
 	my $key=$uname.':'.$udom.':';
         my $status=
 	    &del('nohist_calculatedsheets',
-		 [$key.'studentcalc'],
+		 [$key.'studentcalc:'],
 		 $ENV{'course.'.$cid.'.domain'},
 		 $ENV{'course.'.$cid.'.num'})
 		.' '.
 	    &del('nohist_calculatedsheets_'.$cid,
-		 [$key.'assesscalc:'.$symb]);
+		 [$key.'assesscalc:'.$symb],$udom,$uname);
         unless ($status eq 'ok ok') {
            &logthis('Could not devalidate spreadsheet '.
                     $uname.' at '.$udom.' for '.