Merge commit 'origin/master' into ht_sandbox
authorOwen Leonard <owen@balawis.leonard.fam>
Wed, 20 Oct 2010 18:41:02 +0000 (12:41 -0600)
committerOwen Leonard <owen@balawis.leonard.fam>
Wed, 20 Oct 2010 18:41:02 +0000 (12:41 -0600)
inc/class.tc.inc.php
sql/prepopulate.sql [new file with mode: 0644]
sql/schema.dot
sql/tc.jpg
sql/tc.sql
templates/default/ht_sandbox.tpl [new file with mode: 0644]
templates/default/ht_view.tpl

index 5d85a33135d2084434d01a23a0b5b3354adb049c..15086be6a9b14cde1086a9d24bff95c20cdbdcea 100644 (file)
@@ -68,6 +68,7 @@ class tc
                'assign_view'    => True,
                'assign_update'  => True,
                'get_time_selection_form' => True,
+               'ht_sandbox' => True,
        );
  
        function tc()
@@ -216,6 +217,9 @@ class tc
                $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_view'));
                $this->t->set_var('title','Hometeaching'); 
 
+               $this->t->set_var('ht_sandbox_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox'));
+               $this->t->set_var('ht_sandbox_link_title','Hometeaching Sandbox'); 
+
                $sql = "SELECT * FROM tc_district AS td JOIN tc_individual AS ti WHERE td.supervisor=ti.individual AND td.valid=1 ORDER BY td.district ASC";
                $this->db->query($sql,__LINE__,__FILE__);
                $i=0;
@@ -394,6 +398,328 @@ class tc
        }
       
 
+       function ht_sandbox()
+       {
+               $this->t->set_file(array('ht_sandbox_t' => 'ht_sandbox.tpl'));
+               $this->t->set_block('ht_sandbox_t','comp_list','c_list');
+               $this->t->set_block('ht_sandbox_t','district_list','d_list');
+               $this->t->set_block('ht_sandbox_t','unassigned_ht_list','uht_list');
+               $this->t->set_block('ht_sandbox_t','assigned_ht_list','aht_list');
+               $this->t->set_block('ht_sandbox_t','unassigned_family_list','uf_list');
+               $this->t->set_block('ht_sandbox_t','assigned_family_list','af_list');
+               $this->t->set_block('ht_sandbox_t','district_table_list','dt_list');
+               $this->t->set_block('ht_sandbox_t','companionship_table_list','ct_list');
+
+               $this->t->set_var('submit_action',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox&action=add'));
+               
+           $action = get_var('action',array('GET','POST'));
+
+               $this->t->set_var('title','Hometeaching Sandbox'); 
+
+               if ($_POST['add']) {
+                       #$this->t->set_var('debug_list',$_POST['add']);
+                       $companionship = get_var('companionship',array('POST'));
+                       $district = get_var('district',array('POST'));
+                       $assignedHT_list = get_var('assignedHT',array('POST'));
+                       $unassignedHT_list = get_var('unassignedHT',array('POST'));
+                       $assigned_family_list = get_var('assignedFamiles',array('POST'));
+                       $unassigned_family_list = get_var('unassignedFamilies',array('POST'));
+                       
+                       if ($assignedHT_list || $unassignedHT_list) {
+                               $sql = "INSERT INTO tc_companionship_sandbox (district) VALUES (\"$district\")";
+                               $this->db2->query($sql,__LINE__,__FILE__);
+                               $companionship_sandbox = mysql_insert_id();
+                               
+                               foreach ($assignedHT_list as $individual) {
+                                       $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship_sandbox\")";
+                                       $this->db->query($sql,__LINE__,__FILE__);
+                               }
+                               foreach ($unassignedHT_list as $individual) {
+                                       $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship_sandbox\")";
+                                       $this->db->query($sql,__LINE__,__FILE__);
+                               }
+                               foreach ($assigned_family_list as $family) {
+                                       $sql = "UPDATE tc_family_sandbox SET companionship=$companionship_sandbox WHERE family=$family";
+                                       $this->db->query($sql,__LINE__,__FILE__);
+                               }
+                               foreach ($unassigned_family_list as $family) {
+                                       $sql = "UPDATE tc_family_sandbox SET companionship=$companionship_sandbox WHERE family=$family";
+                                       $this->db->query($sql,__LINE__,__FILE__);
+                               }
+                       } else {
+                               $this->t->set_var('debug_list','You must select at least one companion!');
+                       }
+               } else if ($_POST['delete']) {
+                       #$this->t->set_var('debug_list',$_POST['delete']);
+                       $companionship = get_var('companionship',array('POST'));
+                       #$this->t->set_var('debug_list',$companionship);
+                       
+                       if ($companionship > 0) {
+                               # unassign families
+                               $sql = "UPDATE tc_family_sandbox SET companionship=NULL WHERE companionship=$companionship";
+                               $this->db->query($sql,__LINE__,__FILE__);
+                               
+                               # remove companions
+                               $sql = "DELETE FROM tc_companion_sandbox WHERE companionship=$companionship";
+                               $this->db->query($sql,__LINE__,__FILE__);
+                               
+                               # remove companionship
+                               $sql = "DELETE FROM tc_companionship_sandbox WHERE companionship=$companionship";
+                               $this->db->query($sql,__LINE__,__FILE__);
+                       } else {
+                               $this->t->set_var('debug_list','You must select a companionship to delete!');
+                       }
+               } else if ($_POST['update']) {
+                       #$this->t->set_var('debug_list',$_POST['update']);
+                       $companionship = get_var('companionship',array('POST'));
+                       $district = get_var('district',array('POST'));
+                       $assignedHT_list = get_var('assignedHT',array('POST'));
+                       $unassignedHT_list = get_var('unassignedHT',array('POST'));
+                       $assigned_family_list = get_var('assignedFamiles',array('POST'));
+                       $unassigned_family_list = get_var('unassignedFamilies',array('POST'));
+                       #$this->t->set_var('debug_list',$district);
+                       
+                       if ($companionship > 0) {
+                               if ($assignedHT_list || $unassignedHT_list) {
+                                       # clear out existing info about companionship
+                                       $sql = "UPDATE tc_family_sandbox SET companionship=NULL WHERE companionship=$companionship";
+                                       $this->db->query($sql,__LINE__,__FILE__);
+                                       $sql = "DELETE FROM tc_companion_sandbox WHERE companionship=$companionship";
+                                       $this->db->query($sql,__LINE__,__FILE__);
+                                       
+                                       # set new info about companionship
+                                       $sql = "UPDATE tc_companionship_sandbox SET district=$district WHERE companionship=$companionship";
+                                       $this->db->query($sql,__LINE__,__FILE__);
+                                       foreach ($assignedHT_list as $individual) {
+                                               $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship\")";
+                                               $this->db->query($sql,__LINE__,__FILE__);
+                                       }
+                                       foreach ($unassignedHT_list as $individual) {
+                                               $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship\")";
+                                               $this->db->query($sql,__LINE__,__FILE__);
+                                       }
+                                       foreach ($assigned_family_list as $family) {
+                                               $sql = "UPDATE tc_family_sandbox SET companionship=$companionship WHERE family=$family";
+                                               $this->db->query($sql,__LINE__,__FILE__);
+                                       }
+                                       foreach ($unassigned_family_list as $family) {
+                                               $sql = "UPDATE tc_family_sandbox SET companionship=$companionship WHERE family=$family";
+                                               $this->db->query($sql,__LINE__,__FILE__);
+                                       }
+                               } else {
+                                       $this->t->set_var('debug_list','You must select at least one companion!');
+                               }
+                       } else {
+                               $this->t->set_var('debug_list','You must select a companionship to update!');
+                       }
+               } else if ($_POST['reset']) {
+                       #$this->t->set_var('debug_list',$_POST['reset']);
+                       
+                       $sql = "TRUNCATE TABLE tc_district_sandbox";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       $sql = "TRUNCATE TABLE tc_family_sandbox";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       $sql = "TRUNCATE TABLE tc_companion_sandbox";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       $sql = "TRUNCATE TABLE tc_companionship_sandbox";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       
+                       # populate tc_district_sandbox
+                       $sql = "SELECT * FROM tc_district WHERE valid=1";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       while ($this->db->next_record()) {
+                               $district = $this->db->f('district');
+                               $supervisor = $this->db->f('supervisor');
+                               $sql = "INSERT INTO tc_district_sandbox (district,supervisor) VALUES (\"$district\",\"$supervisor\")";
+                               $this->db2->query($sql,__LINE__,__FILE__);
+                       }
+                       
+                       # populate family, companion, and companionship tables
+                       $sql = "SELECT * FROM tc_companionship WHERE valid=1";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       while ($this->db->next_record()) {
+                               $companionship = $this->db->f('companionship');
+                               $district = $this->db->f('district');
+                               $sql = "INSERT INTO tc_companionship_sandbox (district) VALUES (\"$district\")";
+                               $this->db2->query($sql,__LINE__,__FILE__);
+                               $companionship_sandbox = mysql_insert_id();
+                               
+                               $sql = "SELECT * FROM tc_companion WHERE companionship=$companionship AND valid=1";
+                               $this->db2->query($sql,__LINE__,__FILE__);
+                               while ($this->db2->next_record()) {
+                                       $individual = $this->db2->f('individual');
+                                       $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship_sandbox\")";
+                                       $this->db3->query($sql,__LINE__,__FILE__);
+                               }
+                               
+                               $sql = "SELECT * FROM tc_family WHERE companionship=$companionship AND valid=1";
+                               $this->db2->query($sql,__LINE__,__FILE__);
+                               while ($this->db2->next_record()) {
+                                       $individual = $this->db2->f('individual');
+                                       $family = $this->db2->f('family');
+                                       $sql = "INSERT INTO tc_family_sandbox (tc_family,individual,companionship) VALUES (\"$family\",\"$individual\",\"$companionship_sandbox\")";
+                                       $this->db3->query($sql,__LINE__,__FILE__);
+                               }
+                       }
+               }
+               
+               // get list of companionships
+               $sql = "SELECT DISTINCT companionship FROM tc_companionship_sandbox ORDER BY companionship ASC";
+               $this->db->query($sql,__LINE__,__FILE__);
+               $unique_companionships = '';
+               $unique_companionships[0]['companionship'] = 0;
+               $this->t->set_var('companionship_list','<option value="0">New Companionship</option>');
+               $this->t->fp('c_list','comp_list',True);
+               $j=1;
+               while ($this->db->next_record()) {
+                       $companionship = $this->db->f('companionship');
+                       $unique_companionships[$j]['companionship'] = $companionship;
+                       $combined_companionship = "";
+                       $sql = "SELECT * FROM tc_companion_sandbox AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND tc.companionship=$companionship ORDER BY ti.name ASC";
+                       $this->db2->query($sql,__LINE__,__FILE__);
+                       while ($this->db2->next_record()) {
+                               if ($combined_companionship == "") {
+                                       $combined_companionship .= $this->db2->f('name');
+                               } else {
+                                       $combined_companionship .= " / " . $this->db2->f('name');
+                               }
+                       }
+                       $this->t->set_var('companionship_list','<option value="'.$companionship.'">'.$combined_companionship.'</option>');
+                       $this->t->fp('c_list','comp_list',True);
+                       $j++;
+               }
+
+               # get list of districts
+               $sql = "SELECT DISTINCT district FROM tc_district_sandbox ORDER BY district ASC";
+               $this->db->query($sql,__LINE__,__FILE__);
+               $districts = '';
+               $num_districts=0;
+               while ($this->db->next_record()) {
+                       $districts[$num_districts] = $this->db->f('district');
+                       $this->t->set_var('district','<option value="'.$districts[$num_districts].'">'.$districts[$num_districts].'</option>');
+                       $this->t->fp('d_list','district_list',True);
+                       $num_districts++;
+               }
+
+               # get list of individuals who are and are not home teachers
+               $sql = "SELECT * FROM tc_individual WHERE steward='$this->default_stewardship' AND valid=1 ORDER BY name ASC";
+               $this->db->query($sql,__LINE__,__FILE__);
+               while ($this->db->next_record()) {
+                       $individual = $this->db->f('individual');
+                       $name = $this->db->f('name');
+                       $sql = "SELECT DISTINCT * FROM tc_companion_sandbox WHERE individual=$individual";
+                       $this->db2->query($sql,__LINE__,__FILE__);
+                       if ($this->db2->next_record()) {
+                               $this->t->set_var('assigned_ht','<option value="'.$individual.'">'.$name.'</option>');
+                               $this->t->fp('aht_list','assigned_ht_list',True);
+                       } else {
+                               $this->t->set_var('unassigned_ht','<option value="'.$individual.'">'.$name.'</option>');
+                               $this->t->fp('uht_list','unassigned_ht_list',True);
+                       }
+               }
+               
+               # get list of families who are and are not assigned home teachers
+               $sql = "SELECT * FROM tc_family_sandbox AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual ORDER BY ti.name ASC";
+               $this->db->query($sql,__LINE__,__FILE__);
+               while ($this->db->next_record()) {
+                       $individual = $this->db->f('individual');
+                       $family = $this->db->f('family');
+                       $name = $this->db->f('name');
+                       if ($this->db->f('companionship') != 0) {
+                               $this->t->set_var('assigned_family','<option value="'.$family.'">'.$name.' Family</option>');
+                               $this->t->fp('af_list','assigned_family_list',True);
+                       } else {
+                               $this->t->set_var('unassigned_family','<option value="'.$family.'">'.$name.' Family</option>');
+                               $this->t->fp('uf_list','unassigned_family_list',True);
+                       }
+               }
+               
+               # populate ht districts table
+               $sandbox_table_data = "<table border=\"0\" cellspacing=\"2\" cellpadding=\"2\">";
+               
+               # set up column headers
+               $sandbox_table_data .= "<tr>";
+               for ($d = 0; $d < $num_districts; $d++) {
+                       $sandbox_table_data .= "<th align=\"center\" bgcolor=\"#c9c9c9\">District " . $districts[$d] . "</th>";
+               }
+
+               # get each companionship in each district
+               $sandbox_table_data .= "<tr>";
+               for ($d = 0; $d < $num_districts; $d++) {
+                       $sandbox_table_data .= "<td valign=\"Top\">";
+                       $sandbox_table_data .= "<table>";
+                       $sql = "SELECT DISTINCT companionship FROM tc_companionship_sandbox WHERE district=$districts[$d] ORDER BY companionship ASC";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       while ($this->db->next_record()) {
+                               $sandbox_table_data .= "<tr><td><table>";
+                               $companionship = $this->db->f('companionship');
+                               # get names of companions in this companionship
+                               $sql = "SELECT * FROM tc_companion_sandbox AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND companionship=$companionship ORDER BY ti.name ASC";
+                               $this->db2->query($sql,__LINE__,__FILE__);
+                               $companion_names = "";
+                               while ($this->db2->next_record()) {
+                                       if ($companion_names == "") {
+                                               $companion_names .= $this->db2->f('name');
+                                       } else {
+                                               $companion_names .= " / " . $this->db2->f('name');
+                                       }
+                               }
+                               $sandbox_table_data .= "<tr><th align=\"Left\" bgcolor=\"#c9c9c9\">$companion_names</th></tr>";
+                               $sandbox_table_data .= "<tr><td><table>";
+                               
+                               # get families they visit
+                               $sql = "SELECT * FROM tc_companionship_sandbox AS tcp JOIN (tc_family_sandbox AS tf, tc_individual AS ti) WHERE tcp.companionship=$companionship AND tcp.companionship=tf.companionship AND tf.individual=ti.individual";
+                               $this->db2->query($sql,__LINE__,__FILE__);
+                               while ($this->db2->next_record()) {
+                                       $family_name = $this->db2->f('name') . " Family";
+                                       $family_id = $this->db2->f('tc_family');
+                                       $sandbox_table_data .= "<tr>";
+                                       $sandbox_table_data .= "<td align=\"Left\">$family_name</td>";
+                                       
+                                       # get 12 months visit data for given family
+                                       for($m=12; $m >= 0; $m--) {
+                                               $month = $this->current_month - $m;
+                                               $year = $this->current_year;
+                                               if($month <= 0) { $remainder = $month; $month = 12 + $remainder; $year=$year-1; }
+                                               if($month < 10) { $month = "0"."$month"; }
+                                               $month_start = "$year"."-"."$month"."-"."01";
+                                               $month_end = "$year"."-"."$month"."-"."31";
+                                               $month = "$month"."/"."$year";
+
+                                               $sql = "SELECT * FROM tc_visit WHERE date >= '$month_start' AND date <= '$month_end' AND companionship!=0 AND family=". $family_id;
+                                               $query_id = $this->db3->query($sql,__LINE__,__FILE__);
+
+                                               if($this->db3->next_record()) {
+                                                       if($this->db3->f('visited') == 'y') {
+                                                               $sandbox_table_data .= "<td align=\"Right\"><img src=\"images/checkmark.gif\"></td>";
+                                                       } else if($this->db3->f('visited') == 'n') {
+                                                               $sandbox_table_data .= "<td align=\"Right\"><img src=\"images/x.gif\"></td>";
+                                                       } else {
+                                                               $sandbox_table_data .= "<td>&nbsp;</td>";
+                                                       }
+                                               } else {
+                                                       $sandbox_table_data .= "<td>&nbsp;</td>";
+                                               }
+                                       }
+                                       $sandbox_table_data .= "</tr>";
+                               }
+                               $sandbox_table_data .= "</table></td></tr>";
+                               $sandbox_table_data .= "</table></td></tr>";
+                       }
+                       
+                       $sandbox_table_data .= "</table>";
+                       $sandbox_table_data .= "</td>";
+               }
+               $sandbox_table_data .= "</tr>";
+               
+               $sandbox_table_data .= "</table>";
+               $this->t->set_var('district_table',$sandbox_table_data);
+
+               $this->t->pfp('out','ht_sandbox_t');
+               $this->save_sessiondata();
+       }
+      
+
        function ht_update()
        {
                $this->t->set_file(array('ht_update_t' => 'ht_update.tpl'));
diff --git a/sql/prepopulate.sql b/sql/prepopulate.sql
new file mode 100644 (file)
index 0000000..7f916bb
--- /dev/null
@@ -0,0 +1,22 @@
+-- MySQL dump 10.11
+--
+-- Host: localhost    Database: phpgroupware
+-- ------------------------------------------------------
+
+--
+-- Current Database: `phpgroupware`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phpgroupware` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phpgroupware`;
+
+--
+-- Dumping data for table `tc_assignment`
+--
+LOCK TABLES `tc_assignment` WRITE;
+/*!40000 ALTER TABLE `tc_assignment` DISABLE KEYS */;
+INSERT INTO `tc_assignment` (`assignment`, `name`, `abbreviation`) VALUES (1,'Enrichment Night Babysitting','RS'),(2,'Building Lockup','LU'),(3,'Building Cleaning Coordinator','CC'),(4,'Missionary Splits','MS'),(5,'Stake Farm','SF'),(6,'Loveland Kitchen','LK'),(7,'Moves','MV'),(8,'Temple Kitchen & Laundary','TKL'),(9,'Temple Sealings','TS'),(10,'Temple Initatories','TI');
+/*!40000 ALTER TABLE `tc_assignment` ENABLE KEYS */;
+UNLOCK TABLES;
+
index 9fb24285cf092e8e83c9a9d1308bd57f62c3e12e..d53f0b6c96c70d8a2e881fa58022584ab6e26b06 100644 (file)
@@ -82,6 +82,22 @@ digraph schema {
     label = "task||<t> task|<n> name|<d> description"
     shape = "record"
   ];
+  district_sandbox   [
+    label = "district_sandbox||<d> district|<s> supervisor"
+    shape = "record"
+  ];
+  companion_sandbox   [
+    label = "companion_sandbox||<c> companion|<i> individual|<cp> companionship"
+    shape = "record"
+  ];
+  companionship_sandbox   [
+    label = "companionship_sandbox||<cp> companionship|<d> district"
+    shape = "record"
+  ];
+  family_sandbox   [
+    label = "family_sandbox||<f> family|<tcf> tc_family|<i> individual|<cp> companionship"
+    shape = "record"
+  ];
 
   activity:s      -> assignment:a
 
@@ -129,5 +145,13 @@ digraph schema {
   
   accomplishment:i   -> individual:i
   accomplishment:t   -> task:t
+  district_sandbox:s      -> individual:i
+  companion_sandbox:i     -> individual:i
+  companion_sandbox:cp    -> companionship_sandbox:cp
+  companionship_sandbox:d -> district_sandbox:d
+  family_sandbox:tcf      -> family:f
+  family_sandbox:i        -> individual:i
+  family_sandbox:cp       -> companionship_sandbox:cp
   
 }
index ad1c48edf05d507c35d46ceb1968294cc6449bbc..41457203727994b5ed4b85bdd04b1cba8d58f2d4 100644 (file)
Binary files a/sql/tc.jpg and b/sql/tc.jpg differ
index 25eae9aa6d3f036e7bcb94a134e8bff1524a9fe7..3d287e52ee948d1f5eadd9b1d033772ae669abde 100644 (file)
@@ -14,7 +14,7 @@ USE `phpgroupware`;
 --
 -- Table structure for table `tc_activity`
 --
-CREATE TABLE `tc_activity` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_activity` (
   `activity` int(16) unsigned NOT NULL auto_increment,
   `assignment` int(16) unsigned NOT NULL,
   `date` date default NULL,
@@ -26,7 +26,7 @@ CREATE TABLE `tc_activity` (
 --
 -- Table structure for table `tc_appointment`
 --
-CREATE TABLE `tc_appointment` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_appointment` (
   `appointment` int(16) unsigned NOT NULL auto_increment,
   `presidency` int(16) unsigned NOT NULL default '0',
   `family` int(16) unsigned default '0',
@@ -41,26 +41,17 @@ CREATE TABLE `tc_appointment` (
 --
 -- Table structure for table `tc_assignment`
 --
-CREATE TABLE `tc_assignment` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_assignment` (
   `assignment` int(12) unsigned NOT NULL auto_increment,
   `name` varchar(60) NOT NULL,
   `abbreviation` varchar(12) default NULL,
   PRIMARY KEY  (`assignment`)
 ) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
 
---
--- Dumping data for table `tc_assignment`
---
-LOCK TABLES `tc_assignment` WRITE;
-/*!40000 ALTER TABLE `tc_assignment` DISABLE KEYS */;
-INSERT INTO `tc_assignment` (`assignment`, `name`, `abbreviation`) VALUES (1,'Enrichment Night Babysitting','RS'),(2,'Building Lockup','LU'),(3,'Building Cleaning Coordinator','CC'),(4,'Missionary Splits','MS'),(5,'Stake Farm','SF'),(6,'Loveland Kitchen','LK'),(7,'Moves','MV'),(8,'Temple Kitchen & Laundary','TKL'),(9,'Temple Sealings','TS'),(10,'Temple Initatories','TI');
-/*!40000 ALTER TABLE `tc_assignment` ENABLE KEYS */;
-UNLOCK TABLES;
-
 --
 -- Table structure for table `tc_attendance`
 --
-CREATE TABLE `tc_attendance` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_attendance` (
   `individual` int(16) unsigned NOT NULL default '0',
   `date` date default NULL,
   KEY `individual` (`individual`)
@@ -69,7 +60,7 @@ CREATE TABLE `tc_attendance` (
 --
 -- Table structure for table `tc_calling`
 --
-CREATE TABLE `tc_calling` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_calling` (
   `individual` int(16) unsigned default '0',
   `organization` varchar(30) default NULL,
   `position` varchar(30) default NULL,
@@ -80,7 +71,7 @@ CREATE TABLE `tc_calling` (
 --
 -- Table structure for table `tc_companion`
 --
-CREATE TABLE `phpgroupware`.`tc_companion` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_companion` (
   `companion` INT( 16 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `individual` INT( 16 ) UNSIGNED NOT NULL ,
   `companionship` INT( 16 ) UNSIGNED NOT NULL ,
@@ -91,7 +82,7 @@ CREATE TABLE `phpgroupware`.`tc_companion` (
 --
 -- Table structure for table `tc_companionship`
 --
-CREATE TABLE `phpgroupware`.`tc_companionship` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_companionship` (
   `companionship` INT( 16 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `mls_id` INT( 16 ) UNSIGNED NULL DEFAULT NULL ,
   `district` INT( 16 ) UNSIGNED NULL DEFAULT NULL ,
@@ -101,7 +92,7 @@ CREATE TABLE `phpgroupware`.`tc_companionship` (
 --
 -- Table structure for table `tc_district`
 --
-CREATE TABLE `tc_district` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_district` (
   `district` int(16) unsigned NOT NULL default '0',
   `supervisor` int(16) unsigned default NULL,
   `valid` tinyint(1) default NULL,
@@ -111,7 +102,7 @@ CREATE TABLE `tc_district` (
 --
 -- Table structure for table `tc_individual`
 --
-CREATE TABLE `tc_individual` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_individual` (
   `individual` int(16) unsigned NOT NULL auto_increment,
   `mls_id` int(16) unsigned NOT NULL,
   `name` varchar(60) default NULL,
@@ -131,7 +122,7 @@ CREATE TABLE `tc_individual` (
 --
 -- Table structure for table `tc_family`
 --
-CREATE TABLE `tc_family` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_family` (
   `family` int(16) unsigned NOT NULL auto_increment,
   `individual` int(16) unsigned default '0',
   `companionship` int(16) unsigned default NULL,
@@ -143,7 +134,7 @@ CREATE TABLE `tc_family` (
 --
 -- Table structure for table `tc_participation`
 --
-CREATE TABLE `tc_participation` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_participation` (
   `individual` int(16) unsigned NOT NULL default '0',
   `activity` int(16) unsigned default NULL,
   UNIQUE KEY `activity_ndx` (`individual`,`activity`)
@@ -152,7 +143,7 @@ CREATE TABLE `tc_participation` (
 --
 -- Table structure for table `tc_interview`
 --
-CREATE TABLE `tc_interview` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_interview` (
   `interview` int(16) unsigned NOT NULL auto_increment,
   `interviewer` int(16) unsigned default NULL,
   `individual` int(16) unsigned default NULL,
@@ -166,7 +157,7 @@ CREATE TABLE `tc_interview` (
 --
 -- Table structure for table `tc_presidency`
 --
-CREATE TABLE `tc_presidency` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_presidency` (
   `presidency` int(16) unsigned NOT NULL auto_increment,
   `individual` int(16) unsigned NOT NULL default '0',
   `district` int(16) unsigned default '0',
@@ -182,7 +173,7 @@ CREATE TABLE `tc_presidency` (
 --
 -- Table structure for table `tc_visit`
 --
-CREATE TABLE `tc_visit` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_visit` (
   `visit` int(16) unsigned NOT NULL auto_increment,
   `family` int(16) unsigned default NULL,
   `companionship` int(16) unsigned default NULL,
@@ -198,7 +189,7 @@ CREATE TABLE `tc_visit` (
 --
 -- Table structure for table `tc_willingness`
 --
-CREATE TABLE `tc_willingness` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_willingness` (
   `individual` int(16) unsigned NOT NULL,
   `assignment` int(16) unsigned NOT NULL,
   `willing` enum('y','n','') NOT NULL,
@@ -208,7 +199,7 @@ CREATE TABLE `tc_willingness` (
 --
 -- Table structure for table `tc_scheduling_priority`
 --
-CREATE TABLE `tc_scheduling_priority` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_scheduling_priority` (
   `scheduling_priority` INT( 16 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `priority` INT( 10 ) UNSIGNED NOT NULL DEFAULT '30',
   `notes` VARCHAR( 128 ) NOT NULL DEFAULT ''
@@ -217,7 +208,7 @@ CREATE TABLE `tc_scheduling_priority` (
 --
 -- Table structure for table `tc_email_list`
 --
-CREATE TABLE `tc_email_list` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_email_list` (
   `email_list` INT( 16 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `name` VARCHAR( 128 ) NULL DEFAULT NULL
 ) ENGINE = MYISAM ;
@@ -225,7 +216,7 @@ CREATE TABLE `tc_email_list` (
 --
 -- Table structure for table `tc_email_list_membership`
 --
-CREATE TABLE `tc_email_list_membership` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_email_list_membership` (
   `individual` INT( 16 ) UNSIGNED NULL DEFAULT NULL ,
   `email_list` INT( 16 ) UNSIGNED NULL DEFAULT NULL
 ) ENGINE = MYISAM ;
@@ -233,7 +224,7 @@ CREATE TABLE `tc_email_list_membership` (
 --
 -- Table structure for table `tc_accomplishment`
 --
-CREATE TABLE `tc_accomplishment` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_accomplishment` (
   `accomplishment` INT( 16 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `individual` INT( 16 ) UNSIGNED NULL DEFAULT NULL ,
   `date` DATE NULL DEFAULT NULL ,
@@ -244,8 +235,45 @@ CREATE TABLE `tc_accomplishment` (
 --
 -- Table structure for table `tc_task`
 --
-CREATE TABLE `tc_task` (
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_task` (
   `task` INT( 16 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `name` VARCHAR( 128 ) NOT NULL ,
   `description` VARCHAR( 128 ) NOT NULL
 ) ENGINE = MYISAM ;
+
+--
+-- Table structure for table `tc_district_sandbox`
+--
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_district_sandbox` (
+  `district` INT( 16 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
+  `supervisor` INT( 16 ) UNSIGNED NULL DEFAULT NULL
+) ENGINE = MYISAM ;
+
+--
+-- Table structure for table `tc_companion_sandbox`
+--
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_companion_sandbox` (
+  `companion` INT( 16 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+  `individual` INT( 16 ) UNSIGNED NOT NULL ,
+  `companionship` INT( 16 ) UNSIGNED NOT NULL
+) ENGINE = MYISAM ;
+
+--
+-- Table structure for table `tc_companionship_sandbox`
+--
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_companionship_sandbox` (
+  `companionship` INT( 16 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+  `district` INT( 16 ) UNSIGNED NULL DEFAULT NULL
+) ENGINE = MYISAM ;
+
+--
+-- Table structure for table `tc_family_sandbox`
+--
+CREATE TABLE /*!42501 IF NOT EXISTS*/ `tc_family_sandbox` (
+  `family` int(16) unsigned NOT NULL auto_increment,
+  `tc_family` int(16) unsigned default '0',
+  `individual` INT( 16 ) UNSIGNED NOT NULL ,
+  `companionship` int(16) unsigned default NULL,
+  PRIMARY KEY  (`family`)
+) ENGINE = MyISAM ;
+
diff --git a/templates/default/ht_sandbox.tpl b/templates/default/ht_sandbox.tpl
new file mode 100644 (file)
index 0000000..129df77
--- /dev/null
@@ -0,0 +1,104 @@
+<center>
+
+       <form action="{submit_action}" method="POST">
+       <table border="0" width="100%" cellspacing="2" cellpadding="2">
+               <tr>
+                       <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title}</b></font></td>
+               </tr>
+       </table>
+       <br>
+
+       <table border="0" cellspacing="2" cellpadding="2">
+               <tr>
+                       <th bgcolor="#c9c9c9">Companionship</th>
+                       <th bgcolor="#c9c9c9">Unassigned HT</th>
+                       <th bgcolor="#c9c9c9">Assigned HT</th>
+                       <th bgcolor="#c9c9c9">Unassigned Families</th>
+                       <th bgcolor="#c9c9c9">Assigned Families</th>
+                       <th bgcolor="#c9c9c9">Actions</th>
+               </tr>
+               <tr>
+                       <td align="center">
+                               Companionship
+                               <br>
+                               <select name="companionship">
+<!-- BEGIN comp_list -->
+                                       {companionship_list}
+<!-- END comp_list -->
+                               </select>
+                               <br><br>
+                               District
+                               <br>
+                               <select name="district">
+<!-- BEGIN district_list -->
+                                       {district}
+<!-- END district_list -->
+                               </select>
+                       </td>
+                       <td>
+                               <select name="unassignedHT[]" multiple size="9">
+<!-- BEGIN unassigned_ht_list -->
+                                       {unassigned_ht}
+<!-- END unassigned_ht_list -->
+                               </select>
+                       </td>
+                       <td>
+                               <select name="assignedHT[]" multiple size="9">
+<!-- BEGIN assigned_ht_list -->
+                                       {assigned_ht}
+<!-- END assigned_ht_list -->
+                               </select>
+                       </td>
+                       <td>
+                               <select name="unassignedFamilies[]" multiple size="9">
+<!-- BEGIN unassigned_family_list -->
+                                       {unassigned_family}
+<!-- END unassigned_family_list -->
+                               </select>
+                       </td>
+                       <td>
+                               <select name="assignedFamiles[]" multiple size="9">
+<!-- BEGIN assigned_family_list -->
+                                       {assigned_family}
+<!-- END assigned_family_list -->
+                               </select>
+                       </td>
+                       <td>
+                               <table>
+                                       <tr>
+                                               <td>
+                                                       <font face="{font}"><input type="reset" name="clear" value="Clear Selections"></font>
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                                       <font face="{font}"><input type="submit" name="add" value="Add Companionship"></font>
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                                       <font face="{font}"><input type="submit" name="delete" value="Delete Companionship"></font>
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                                       <font face="{font}"><input type="submit" name="update" value="Update Companionship"></font>
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                                       <font face="{font}"><input type="submit" name="reset" value="Reset to MLS"></font>
+                                               </td>
+                                       </tr>
+                               </table>
+                       </td>
+               </tr>
+       </table>
+       </form>
+
+       <font face="{font}" color=red><b>{debug_list}</b></font>
+
+       <br>
+       {district_table}
+       <br><br>
+</center>
index 4dd8d4b8d4df1240837cab4090b611539baf48c7..5787dbba1b4d27f9631d331777bdc5a9674dc228 100644 (file)
@@ -5,7 +5,9 @@
                        <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title}</b></font></td>
                </tr>
        </table>
-       <br>
+
+       <a href="{ht_sandbox_link}">{ht_sandbox_link_title}</a>
+       <br><br>
 
        <form action="{linkurl}" method="POST">
        <table width="40%" border="0" cellspacing="2" cellpadding="2" align=center>