$phone = $membership_data{$index}{'Household Phone'};
$priesthood = $membership_data{$index}{'Priesthood'};
$hhposition = $membership_data{$index}{'HH Position'};
- $organization = $organization_by_id{$id};
+ $steward = ""; # This will be set later
+ # Default to the "Elders" quorum if the Organization data per member isn't available
+ # Only add "Elders" to the quorum since we don't have any other data availalbe to us to make a call
+ # TODO: make steward flexible with a setting in the config file
+ if((! -e "$datadir/Organization\ class\ per\ member.csv") && ($priesthood =~ /Elder/i)) {
+ $steward = "Elder";
+ $organization = "Elders";
+ }
+ # Preferred method is to pull organization data from the csv file
+ else { $organization = $organization_by_id{$id}; }
$attending = 0;
if(($organization =~ /Elders/) ||
($organization =~ /Young Men/) ||
if($rows == 0) {
# No existing records found for this individual, make a new entry
print " Adding new individual: $individual_name\n";
- $sth = $dbh->prepare("insert into tc_individual values (NULL,'$id',\"$individual_name\",'$address','$phone','$email','$hhposition','$priesthood','',NULL,$attending,1)");
+ $sth = $dbh->prepare("insert into tc_individual values (NULL,'$id',\"$individual_name\",'$address','$phone','$email','$hhposition','$priesthood','$steward',NULL,$attending,1)");
$sth->execute or die "-E- DB error: $DBI::errstr\n";
} elsif($rows == 1) {
# An existing record was found for this individual, update it
$sth2->execute or die "-E- DB error: $DBI::errstr\n";
}
}
+ &remove_obsolete_scheduling_priority("tc_individual");
# families
# TODO: make steward flexible with a setting in the config file
$sth2->execute or die "-E- DB error: $DBI::errstr\n";
}
}
+ &remove_obsolete_scheduling_priority("tc_family");
# companionships
# TODO: make steward flexible with a setting in the config file
$sth2->execute or die "-E- DB error: $DBI::errstr\n";
}
}
+ &remove_obsolete_scheduling_priority("tc_companionship");
+}
+
+sub remove_obsolete_scheduling_priority
+{
+ my $table_name = $_[0];
+
+ #print "\n-> Cleaning $table_name\n";
+ #$sth = $dbh->prepare("SELECT scheduling_priority FROM $table_name where scheduling_priority IS NOT NULL AND valid=0");
+ $sth = $dbh->prepare("SELECT * FROM $table_name WHERE valid=0");
+ $sth->execute or die "-E- DB error: $DBI::errstr\n";
+ while($sqlhashref = $sth->fetchrow_hashref) {
+ $scheduling_priority = $sqlhashref->{scheduling_priority};
+ $individual = $sqlhashref->{individual};
+ #$name = $sqlhashref->{name};
+ if ($scheduling_priority != "NULL") {
+ #print "$name\n";
+ # set scheduling_priority to NULL
+ #print "UPDATE $table_name SET scheduling_priority=NULL WHERE individual=$individual\n";
+ $sth2 = $dbh->prepare("UPDATE $table_name SET scheduling_priority=NULL WHERE individual=$individual");
+ $sth2->execute or die "-E- DB error: $DBI::errstr\n";
+
+ # remove entry from tc_scheduling_priority
+ #print "DELETE FROM tc_scheduling_priority WHERE scheduling_priority=$scheduling_priority\n";
+ $sth2 = $dbh->prepare("DELETE FROM tc_scheduling_priority WHERE scheduling_priority=$scheduling_priority");
+ $sth2->execute or die "-E- DB error: $DBI::errstr\n";
+ }
+ }
}
######################################################################
###################################################
# Process command line options
+our $datadir;
if(defined $opt_n) { $datadir = $opt_n; }
else { $datadir = shift(@ARGV); }
print "\n-> Processing all ward data files in $datadir\n";
###################################################
# Parse Ward Data Files
-&csv_to_hash("$datadir/Organization\ class\ per\ member.csv", \%organization_class_data);
+&optional_csv_to_hash("$datadir/Organization\ class\ per\ member.csv", \%organization_class_data);
&csv_to_hash("$datadir/Membership.csv",\%membership_data);
&csv_to_hash("$datadir/HomeTeaching.csv",\%hometeaching_data);
&csv_to_hash("$datadir/Organization.csv",\%organization_data);
if($opt_s) { $dbh->disconnect(); exit; }
-# Now update the various eq DB tables
+# Now update the various DB tables
&update_tc_calling_table();
&update_tc_individual_table();
&update_tc_companionship_table();