[LON-CAPA-cvs] cvs: loncom /interface lonchart.pm

minaeibi lon-capa-cvs@mail.lon-capa.org
Sat, 02 Mar 2002 01:44:00 -0000


minaeibi		Fri Mar  1 20:44:00 2002 EDT

  Modified files:              
    /loncom/interface	lonchart.pm 
  Log:
  Added choosing the student status 
  
  
Index: loncom/interface/lonchart.pm
diff -u loncom/interface/lonchart.pm:1.35 loncom/interface/lonchart.pm:1.36
--- loncom/interface/lonchart.pm:1.35	Thu Feb 28 18:35:31 2002
+++ loncom/interface/lonchart.pm	Fri Mar  1 20:44:00 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # (Publication Handler
 #
-# $Id: lonchart.pm,v 1.35 2002/02/28 23:35:31 albertel Exp $
+# $Id: lonchart.pm,v 1.36 2002/03/02 01:44:00 minaeibi Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -25,7 +25,6 @@
 #
 # http://www.lon-capa.org/
 #
-#
 # Homework Performance Chart
 #
 # (Navigate Maps Handler
@@ -254,7 +253,7 @@
 
 
 sub usection {
-    my ($udom,$unam,$courseid)=@_;
+    my ($udom,$unam,$courseid,$ActiveFlag)=@_;
     $courseid=~s/\_/\//g;
     $courseid=~s/^(\w)/\/$1/;
     foreach (split(/\&/,&Apache::lonnet::reply('dump:'.
@@ -266,15 +265,25 @@
             my $section=$1;
             if ($key eq $courseid.'_st') { $section=''; }
 	    my ($dummy,$end,$start)=split(/\_/,&Apache::lonnet::unescape($value));
-#            $section=($section) ? $section : '(none)';
-#            $section=(int($section)) ? int($section) : $section;
-#            $r->print($unam.'...'.$section.'<br>');
+	    if ( $ActiveFlag ne 'Any' ) {
+		my $now=time;
+		my $notactive=0;
+		if ($start) {
+		    if ($now<$start) { $notactive=1; }
+		}
+		if ($end) {
+		    if ($now>$end) { $notactive=1; }
+		}
+		if ((($ActiveFlag eq 'Expired') && $notactive == 1) || 
+                    (($ActiveFlag eq 'Active') && $notactive == 0 ) ) {
+		    return $section;
+		}
+		else { return '-1'; } 
+	    }
 	    return $section;
         }
     }
-    #} split(/\&/,&Apache::lonnet::reply('dump:'.$udom.':'.$unam.':roles',
-    #                    &Apache::lonnet::homeserver($unam,$udom)));
-    return '';
+    return '-1';
 }
 
 sub BuildChart {
@@ -295,9 +304,13 @@
 		my ($name,$value)=split(/\=/,$KeyPoint);
 		my ($end,$start)=split(/\:/,&Apache::lonnet::unescape($value));
 		my $active=1;
-		if (($end) && ($now>$end)) { $active=0; }
-
-		if ($ENV{'form.active'} eq 'All Students') { $active=1; }
+		my $Status=$ENV{'form.status'};
+		$Status = ($Status) ? $Status : 'Active';
+		if ( ( ($end) && $now > $end ) && 
+                     ( ($Status eq 'Active') ) ) { $active=0; }
+		
+		if ( ($Status eq 'Expired') && 
+                     ($end == 0 || $now < $end) ) { $active=0; }
 
 		if ($active) {
 		    my $thisindex=$#students+1;
@@ -305,13 +318,12 @@
 		    $students[$thisindex]=$name;
 		    my ($sname,$sdom)=split(/\:/,$name);
 		    $PreCol[$thisindex]=$sname.':';
-
-		    my $ssec=&usection($sdom,$sname,$cid);#,$active);
-
+		    my $ssec=&usection($sdom,$sname,$cid,$Status);
 		    if ($ssec==-1) {
 			$rowlabels[$thisindex]=
 			    'Data not available: '.$name;
-		    } else {
+		    } 
+                    else {
 			my %reply=&Apache::lonnet::idrget($sdom,$sname);
 			my $reply=&Apache::lonnet::reply('get:'.$sdom.':'.$sname.
                                   ':environment:lastname&generation&firstname&middlename',
@@ -365,7 +377,10 @@
 sub CreateForm {
     my $OpSel1='';
     my $OpSel2='';
-    if ( $ENV{'form.active'} eq 'All Students' ) { $OpSel2='selected'; }
+    my $OpSel3='';
+    my $Status = $ENV{'form.status'};
+    if ( $Status eq 'Any' ) { $OpSel3='selected'; }
+    elsif ($Status eq 'Expired' ) { $OpSel2 = 'selected'; }
     else { $OpSel1 = 'selected'; }
 
     my $Ptr = '<form name=stat method=post action="/adm/chart" >'."\n";
@@ -377,9 +392,11 @@
     $Ptr .= '&nbsp;&nbsp;&nbsp;';
     $Ptr .= '<input type=submit name=sort value="Section"/>'."\n";
     $Ptr .= '<br><br>';
-    $Ptr .= '<b> Activation Area: &nbsp; </b>'."\n".
-            '<select name="active"> <option '.$OpSel1.' >Active Students</option>'."\n".
-	    '<option '.$OpSel2.'>All Students</option> </select> '."\n";
+    $Ptr .= '<b> Student Status: &nbsp; </b>'."\n".
+            '<select name="status">'. 
+            '<option '.$OpSel1.' >Active</option>'."\n".
+            '<option '.$OpSel2.' >Expired</option>'."\n".
+	    '<option '.$OpSel3.' >Any</option> </select> '."\n";
     $Ptr .= '&nbsp;&nbsp;&nbsp;';
     $Ptr .= '<input type=submit name=sort value="Recalculate Chart"/>'."\n";
     $Ptr .= '</form>'."\n";
@@ -524,10 +541,3 @@
 }
 1;
 __END__
-
-
-
-
-
-
-