[LON-CAPA-cvs] cvs: loncom /enrollment Enrollment.pm

raeburn lon-capa-cvs@mail.lon-capa.org
Sun, 30 Jan 2005 01:07:35 -0000


raeburn		Sat Jan 29 20:07:35 2005 EDT

  Modified files:              
    /loncom/enrollment	Enrollment.pm 
  Log:
  Fix bug 3873.  Notification now sent when only section changes occur.
  
  
Index: loncom/enrollment/Enrollment.pm
diff -u loncom/enrollment/Enrollment.pm:1.20 loncom/enrollment/Enrollment.pm:1.21
--- loncom/enrollment/Enrollment.pm:1.20	Sun Dec 26 16:03:34 2004
+++ loncom/enrollment/Enrollment.pm	Sat Jan 29 20:07:35 2005
@@ -1,5 +1,5 @@
 # Automated Enrollment manager
-# $Id: Enrollment.pm,v 1.20 2004/12/26 21:03:34 raeburn Exp $
+# $Id: Enrollment.pm,v 1.21 2005/01/30 01:07:35 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -74,6 +74,7 @@
     my $linefeed = '';
     my $addresult = '';
     my $dropresult = '';
+    my $switchresult = '';
     if ($context eq "updatenow") {
         $linefeed = "</li>\n<li>"; 
     } elsif ($context eq "automated") {
@@ -81,6 +82,7 @@
     }
     my $enrollcount = 0;
     my $dropcount = 0;
+    my $switchcount = 0;
 
 # Get role names
     my %longroles = ();
@@ -220,7 +222,11 @@
                         my ($auth,$authparam,$first,$middle,$last,$gene,$usec,$end,$start,$emailaddr,$pid,$emailenc);
                         &prepare_add($authtype,$autharg,$enddate,$startdate,\@stuinfo,\%place,\$dom,\$uname,\$auth,\$authparam,\$first,\$middle,\$last,\$gene,\$usec,\$end,\$start,\$emailaddr,\$pid,\$emailenc);
                         if ($$currlist{$uname}[$sec] ne $usec) {
-                            $$logmsg .= "Section for $uname switched from $$currlist{$uname}[$sec] to $usec".$linefeed;
+                            $switchresult .= "Section for $uname switched from $$currlist{$uname}[$sec] to ".$usec.$linefeed;
+                            if ($context eq 'automated') {
+                                $$logmsg .= "Section switch for $uname from $$currlist{$uname}[$sec] to ".$usec.$linefeed; ;
+                            }
+                            $switchcount ++;
                         }
                         &execute_add($context,'switchtype',$uname,$dom,$auth,$authparam,$first,$middle,$last,$gene,$pid,$usec,$end,$start,$emailenc,$cid,\$addresult,\$enrollcount,$linefeed,$logmsg);
                     }
@@ -259,7 +265,11 @@
                                 $access =  &showaccess($enddate,$startdate);
                             }
                             if ($modify_section_result =~ /^ok/) {
-                                $$logmsg .= "Section for $uname switched from old section: ".$$currlist{$uname}[$sec] ." to new section: ".$stuinfo[ $place{groupID} ].".".$access.$linefeed;
+                                $switchresult .= "Section for $uname switched from old section: ".$$currlist{$uname}[$sec] ." to new section: ".$stuinfo[ $place{groupID} ].".".$access.$linefeed;
+                                if ($context eq 'automated') {
+                                    $$logmsg .= "Section switch for $uname from $$currlist{$uname}[$sec] to $stuinfo[ $place{groupID} ]".$linefeed;
+                                }
+                                $switchcount ++;
                             } else {
                                 $$logmsg .= "Error when attempting section change for $uname from old section ".$$currlist{$uname}[$sec]." to new section: ".$stuinfo[ $place{groupID} ]." -error: $modify_section_result".$linefeed;
                             }
@@ -350,19 +360,27 @@
     if ($enrollcount > 0) {
         if ($context eq "updatenow") {
             $addresult = substr($addresult,0,rindex($addresult,"<li>"));
-            $addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:<br/><ul><li>".$addresult."</li></ul><br/><br/>";
+            $addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:<br/><ul><li>".$addresult."</ul><br/><br/>";
         } else {
-            $addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:\n\n".$addresult."\n\n";    
-        }      
+            $addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:\n\n".$addresult."\n\n";
+        }
     }
     if ($dropcount > 0) {
         if ($context eq "updatenow") {
             $dropresult = substr($dropresult,0,rindex($dropresult,"<li>"));
-            $dropresult = "The following $dropcount student(s) was/were expired from this LON-CAPA course:<br/><ul><li>".$dropresult."</li></ul><br/><br/>";
+            $dropresult = "The following $dropcount student(s) was/were expired from this LON-CAPA course:<br/><ul><li>".$dropresult."</ul><br/><br/>";
         } else {
             $dropresult = "The following $dropcount student(s) was/were expired from this LON-CAPA course:\n\n".$dropresult."\n\n";
         }
     }
+    if ($switchcount > 0) {
+        if ($context eq "updatenow") {
+            $switchresult = substr($switchresult,0,rindex($switchresult,"<li>"));
+            $switchresult = "The following $switchcount student(s) switched sections in this LON-CAPA course:<br/><ul><li>".$switchresult."</ul><br/><br/>";
+        } else {
+            $switchresult = "The following $switchcount student(s) switched sections in this LON-CAPA course:\n\n".$switchresult."\n\n";
+        }
+    }
     if ( ($adds) && ($enrollcount == 0) ) {
         $addresult = "There were no new students to add to the course.";
         if ($context eq "updatenow") {
@@ -379,8 +397,8 @@
             $dropresult .="\n";
         }
     }
-    my $changecount = $enrollcount + $dropcount;
-    return ($changecount,$addresult.$dropresult); 
+    my $changecount = $enrollcount + $dropcount + $switchcount;
+    return ($changecount,$addresult.$dropresult.$switchresult);
 }
 
 sub create_newuser {