From: Alan Jack Pippin <ajp@pippin.(none)>
Date: Mon, 28 Nov 2005 04:35:58 +0000 (-0700)
Subject: Fixed bugs related to elders assigned to multiple companionships.
X-Git-Tag: release_0_1_0~71
X-Git-Url: http://git.pippins.net/images/static/%27.%24link.%27?a=commitdiff_plain;h=4988a4401709530d1d8ca1f640a6d0c207e74f44;p=eq%2F.git

Fixed bugs related to elders assigned to multiple companionships.
Fixed bugs related to 3-some companionship.
Fixed bugs related to check of valid=1 in visits view.
---

diff --git a/import_ward_data b/import_ward_data
index c3041df..edf701a 100755
--- a/import_ward_data
+++ b/import_ward_data
@@ -237,7 +237,7 @@ sub update_eq_companionship_table
 		    } 
 		    $id = $hometeaching_data{$index}{'Comp ID'};
 		    $district = $hometeaching_data{$index}{'HT District'};
-		    $sth = $dbh->prepare("select * from eq_companionship where elder='$elder' and aaronic='$aaronic'");
+		    $sth = $dbh->prepare("select * from eq_companionship where elder='$elder' and aaronic='$aaronic' and companionship='$id'");
 		    $sth->execute or die "-E- DB error: $DBI::errstr\n";
 		    my @data = ();
 		    while($sqlhashref = $sth->fetchrow_hashref) { push(@data, $sqlhashref); }
@@ -253,19 +253,19 @@ sub update_eq_companionship_table
 			$sth2->execute or die "-E- DB error: $DBI::errstr\n";
 			if($elder ne "NULL") {
 			    print "   Updating Companionship with Elder: $elder_name ($elder) -> $id\n";
-			    $sth = $dbh->prepare("update eq_companionship set district='$district' where elder='$elder'");
-			    $sth->execute or die "-E- DB error: $DBI::errstr\n";
-			    $sth = $dbh->prepare("update eq_companionship set companionship='$id' where elder='$elder'");
-			    $sth->execute or die "-E- DB error: $DBI::errstr\n";
-			    $sth = $dbh->prepare("update eq_companionship set valid=1 where elder='$elder'");
-			    $sth->execute or die "-E- DB error: $DBI::errstr\n";
+			    $sth = $dbh->prepare("update eq_companionship set district='$district' where elder='$elder' and companionship='$id'");
+			    $sth->execute or die "-E- DB error 'district': $DBI::errstr\n";
+			    $sth = $dbh->prepare("update eq_companionship set elder='$elder' where elder='$elder' and companionship='$id'");
+			    $sth->execute or die "-E- DB error 'elder': $DBI::errstr\n";
+			    $sth = $dbh->prepare("update eq_companionship set valid=1 where elder='$elder' and companionship='$id'");
+			    $sth->execute or die "-E- DB error 'valid': $DBI::errstr\n";
 			} else {
 			    print "   Updating Companionship with Aaronic: $elder_name ($aaronic) -> $id\n";
-			    $sth = $dbh->prepare("update eq_companionship set district='$district' where aaronic='$aaronic'");
+			    $sth = $dbh->prepare("update eq_companionship set district='$district' where aaronic='$aaronic' and companionship='$id'");
 			    $sth->execute or die "-E- DB error: $DBI::errstr\n";
-			    $sth = $dbh->prepare("update eq_companionship set companionship='$id' where aaronic='$aaronic'");
+			    $sth = $dbh->prepare("update eq_companionship set aaronic='$aaronic' where aaronic='$aaronic' and companionship='$id'");
 			    $sth->execute or die "-E- DB error: $DBI::errstr\n";
-			    $sth = $dbh->prepare("update eq_companionship set valid=1 where aaronic='$aaronic'");
+			    $sth = $dbh->prepare("update eq_companionship set valid=1 where aaronic='$aaronic' and companionship='$id'");
 			    $sth->execute or die "-E- DB error: $DBI::errstr\n";			    
 			    $sth = $dbh->prepare("update eq_aaronic set valid=1 where aaronic='$aaronic'");
 			    $sth->execute or die "-E- DB error: $DBI::errstr\n";
diff --git a/inc/class.eq.inc.php b/inc/class.eq.inc.php
index dd3343c..9e6f8e2 100644
--- a/inc/class.eq.inc.php
+++ b/inc/class.eq.inc.php
@@ -170,7 +170,7 @@ class eq
 	$unique_companionships='';
 		
 	// Select all the unique companionship numbers for this district
-	$sql = "SELECT distinct companionship FROM eq_companionship where district=". $districts[$i]['district'];
+	$sql = "SELECT distinct companionship FROM eq_companionship where valid=1 and district=". $districts[$i]['district'];
 	$this->db->query($sql,__LINE__,__FILE__);
 	$j=0;
 	while ($this->db->next_record())
@@ -870,7 +870,7 @@ class eq
 	  $sql = "SELECT distinct companionship FROM eq_companionship";
 	} 
 	else {
-	  $sql = "SELECT distinct companionship FROM eq_companionship where district=". $districts[$i]['district'];
+	  $sql = "SELECT distinct companionship FROM eq_companionship where valid=1 and district=". $districts[$i]['district'];
 	}
 	$this->db->query($sql,__LINE__,__FILE__);
 	$j=0;
@@ -879,9 +879,9 @@ class eq
 	    $unique_companionships[$j]['companionship'] = $this->db->f('companionship');
 	    $j++;
 	  }
-
+	
 	$comp_width=400; $ppi_width=25; $table_width=$comp_width + $num_months*$ppi_width;
-	$table_data=""; $num_companionships = 0; $num_elders = 0;
+	$table_data=""; $num_companionships = $j; $num_elders = 0;
 	for($m=$num_months; $m >= 0; $m--) { $ppis[$m] = 0; }
 	for ($j=0; $j < count($unique_companionships); $j++) {
 	  // Select all the companions in each companionship
@@ -898,7 +898,7 @@ class eq
 	  while ($this->db->next_record())
 	    {
 	      // Get this companions information
-	      $num_elders++; $num_companionships++;
+	      $num_elders++;
 	      $companionship = $this->db->f('companionship');
 	      $elder_id = $this->db->f('elder');
 	      $aaronic_id = $this->db->f('aaronic');
@@ -967,7 +967,6 @@ class eq
 	      $table_data .= "</tr>"; 
 	      $k++;
 	    }
-	  if($num_companionships % 2 != 0) { $num_companionships++; }
 	  $table_data .= "<tr><td colspan=20><hr></td></tr>";
 	}
 	// Now add Elders not assigned to any companionship to the table if we are in eqpresppi mode
@@ -978,7 +977,7 @@ class eq
 	    $this->db->query($sql,__LINE__,__FILE__);
 	    if(!$this->db->next_record()) {
 	      // We found an Elder not in a companionship, add them to the table
-	      $num_elders++; $num_companionships++;
+	      $num_elders++;
 	      $companionship=0;
 	      $name = $elders[$elder_id];
 	      $link_data['menuaction'] = 'eq.eq.ppi_update';
@@ -1018,7 +1017,6 @@ class eq
 	    }
 	  }
 	}
-	$num_companionships = ceil($num_companionships/2);
 	$total_companionships += $num_companionships;
 	if($eqpresppi == 1) {
 	  $stat_data = "<tr><td><b><font size=-2>$num_elders Elders<br>PPI Totals:</font></b></td>";
@@ -1208,7 +1206,7 @@ class eq
 	{	  
 	  $this->nextmatchs->template_alternate_row_color(&$this->t);
 
-	  $sql = "SELECT * FROM eq_family WHERE valid=1 AND family=".$visit_list[$i]['family'];
+	  $sql = "SELECT * FROM eq_family WHERE family=".$visit_list[$i]['family'];
 	  $this->db->query($sql,__LINE__,__FILE__);
 	  $this->db->next_record();