Added path local variable for unzip and added "update" option to unzip command.
authorAlan J. Pippin <ajp@server.pippins.net>
Wed, 13 Feb 2008 07:47:35 +0000 (00:47 -0700)
committerAlan J. Pippin <ajp@pippins.net>
Wed, 13 Feb 2008 07:47:35 +0000 (00:47 -0700)
Root caused hometeaching issue with changing visited status in the past
for a family that has moved to a new companionship. Added comments for the fix,
but I'm not ready to enforce the fix yet.

bin/import_ward_data
inc/class.eq.inc.php
setup/eq_config

index 0e04f0598274506cec12fcc5de9760b36005d2a0..9b830aada27441ac44ca6c56ff56bbbb3f718d05 100755 (executable)
@@ -447,6 +447,16 @@ sub update_eq_family_table
                            $companionship = $hometeaching_data{$index}{'Comp ID'};
                            $sth = $dbh->prepare("update eq_family set companionship='$companionship' where name_id='$name_id'");
                            $sth->execute or die "-E- DB error: $DBI::errstr\n";
                            $companionship = $hometeaching_data{$index}{'Comp ID'};
                            $sth = $dbh->prepare("update eq_family set companionship='$companionship' where name_id='$name_id'");
                            $sth->execute or die "-E- DB error: $DBI::errstr\n";
+                           
+                           # In addition to changing the hometeaching assignment, update the eq_visit table
+                           # so that all previous visits made by the old hometeaching companionship, get
+                           # updated with the id of the new companionship. This will allow us to go in and
+                           # edit the history as needed for the family being hometaught under their new
+                           # companionship. Otherwise, we will not be able to update this history.
+                           #$family_id = $data[0]->{family};
+                           #print "   update eq_visit set companionship='$companionship' where family='$family_id' and companionship!='0'\n";
+                           #$sth = $dbh->prepare("update eq_visit set companionship='$companionship' where companionship='$old_companionship'");
+                           #$sth->execute or die "-E- DB error: $DBI::errstr\n";
                        }
                    }
                }
                        }
                    }
                }
index 5ac7c0ab9769a6b88b9a68b8670e4876ad6a7f76..2af40b12a295756e52b9fadcb3a591cf6c302974 100644 (file)
@@ -400,16 +400,9 @@ class eq
            }
          for ($j=0; $j < count($unique_companionships); $j++)
            {
            }
          for ($j=0; $j < count($unique_companionships); $j++)
            {
-             // FIXME: We won't be able to go back and edit history on families that have been
-             // reassigned to a different companionship. The following delete command will not delete
-             // the history of visits under an older companionship, only the ones for the existing
-             // companionship. This will lead to duplicate visits being entered for an older
-             // month for the same family, making it impossible to change the past history once
-             // a family is reassigned. However, you will be able to view the history just fine.
-
              //$comp=$unique_companionships[$j]['companionship'];
              //print "deleting from eq_visit where companionship=$comp and date=$date and district=$district<br>";
              //$comp=$unique_companionships[$j]['companionship'];
              //print "deleting from eq_visit where companionship=$comp and date=$date and district=$district<br>";
-             // Delete all the visits that have taken place for all families for this month
+             // Delete all the visits that have taken place for all families for this companionsthip for this month
              $this->db->query("DELETE from eq_visit where companionship=" . $unique_companionships[$j]['companionship'] .
                               " AND " . "date='" . $date . "'",__LINE__,__FILE__);
            }
              $this->db->query("DELETE from eq_visit where companionship=" . $unique_companionships[$j]['companionship'] .
                               " AND " . "date='" . $date . "'",__LINE__,__FILE__);
            }
@@ -3879,12 +3872,11 @@ class eq
            
            # unzip the data into this directory
            print "-> Unzipping the data<br>\n";
            
            # unzip the data into this directory
            print "-> Unzipping the data<br>\n";
-           $data_file = $data_dir . '';
-           exec('unzip ' . $data_dir . '/*.zip -d ' . $data_dir . ' 2>&1', $result, $return_code);
+           exec($this->unzip_path .' -u '. $data_dir . '/*.zip -d ' . $data_dir . ' 2>&1', $result, $return_code);
            if($return_code != 0) {
              print implode('\n',$result) . "<br>";
              print "<b><font color=red>";
            if($return_code != 0) {
              print implode('\n',$result) . "<br>";
              print "<b><font color=red>";
-             print "-E- Unable to unzip the uploaded file into the data dir. Aborting import.";
+             print "-E- Unable to unzip the uploaded file into the data dir: $data_dir. Aborting import.";
              print "</font></b>";
              return 0;
            }
              print "</font></b>";
              return 0;
            }
index 5baf6c6871f9783c7ef78fbd5d5cf8c4e03f4e82..eadd5b49adef1fd547c63d32210c316abd4afbbc 100644 (file)
@@ -14,6 +14,9 @@ $this->upload_target_path = "/home/users/eqpres/eq_data";
 // The full path to the installation location of this module
 $this->application_path = "/usr/local/www/data-dist/phpgroupware/eq";
 
 // The full path to the installation location of this module
 $this->application_path = "/usr/local/www/data-dist/phpgroupware/eq";
 
+// The full path to the unzip application
+$this->unzip_path = "/usr/local/bin/unzip";
+
 // Use drop down lists when specifying times in the scheduling tools.
 // If set to 0, free form text fields for the hour and minutes will be used instead.
 // If set to 1, drop down lists will be used for the hour and minute fields
 // Use drop down lists when specifying times in the scheduling tools.
 // If set to 0, free form text fields for the hour and minutes will be used instead.
 // If set to 1, drop down lists will be used for the hour and minute fields