$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 correctly in a later method
+ # Set the default stewardship if the "Organization data per member.csv" isn't available.
+ # Only validate priesthood holders that match the $default_stewardship since
+ # we don't have any other data available to us to make this call if we don't have the report.
+ if((! -e "$datadir/Organization\ class\ per\ member.csv") && ($priesthood =~ /$default_stewardship/i)) {
+ $steward = "$default_stewardship";
+ }
$attending = 0;
if(($organization =~ /Elders/) ||
($organization =~ /Young Men/) ||
($organization =~ /Sunday School/) ||
($organization =~ /Primary/)
- ) { $attending = 1; }
+ ) { $attending = 1; }
if($phone =~ /(\d\d\d-\d\d\d\d)/) { $phone = "$areacode-$1"; }
if($phone =~ /^\(\d\d\d\) (\d\d\d-\d\d\d\d)/) { $phone = "$1-$2"; }
$email = $membership_data{$index}{'indiv E-mail'};
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
$name =~ s/\'/\\'/g; #'
$organization = $organization_data{$index}{'Organization'};
$organization_by_name{$name} = $organization;
+ $indiv_id = $organization_data{$index}{'Indiv ID'};
$organization_by_id{$indiv_id} = $organization;
$position = $organization_data{$index}{'Position'};
$sustained = $organization_data{$index}{'Sustained'};
print "\n-> Updating scheduling priority table\n";
# individuals
- # TODO: make steward flexible with a setting in the config file
- $sth = $dbh->prepare("select * from tc_individual where steward='Elder' and valid=1");
+ $sth = $dbh->prepare("select * from tc_individual where steward='$default_stewardship' and valid=1");
$sth->execute or die "-E- DB error: $DBI::errstr\n";
while($sqlhashref = $sth->fetchrow_hashref) {
$individual = $sqlhashref->{individual};
&remove_obsolete_scheduling_priority("tc_individual");
# families
- # TODO: make steward flexible with a setting in the config file
- $sth = $dbh->prepare("select tf.scheduling_priority, tf.family from tc_family AS tf JOIN tc_individual AS ti ON tf.individual=ti.individual and ti.steward='Elder' and tf.valid=1");
+ $sth = $dbh->prepare("select tf.scheduling_priority, tf.family from tc_family AS tf JOIN tc_individual AS ti ON tf.individual=ti.individual and ti.steward='$default_stewardship' and tf.valid=1");
$sth->execute or die "-E- DB error: $DBI::errstr\n";
while($sqlhashref = $sth->fetchrow_hashref) {
$family = $sqlhashref->{family};
&remove_obsolete_scheduling_priority("tc_family");
# companionships
- # TODO: make steward flexible with a setting in the config file
- $sth = $dbh->prepare("select tc.individual, tc.scheduling_priority from tc_companionship AS tc JOIN tc_individual AS ti ON tc.individual=ti.individual and (ti.steward='Elder' or ti.steward='') and tc.valid=1");
+ $sth = $dbh->prepare("select tc.individual, tc.scheduling_priority from tc_companionship AS tc JOIN tc_individual AS ti ON tc.individual=ti.individual and (ti.steward='$default_stewardship' or ti.steward='') and tc.valid=1");
$sth->execute or die "-E- DB error: $DBI::errstr\n";
while($sqlhashref = $sth->fetchrow_hashref) {
$individual = $sqlhashref->{individual};
###################################################
# 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);