Merge branch 'owenleonard/ht_sandbox' of git@github.com:apippin/tc into ht_sandbox
authorOwen Leonard <owen@balawis.leonard.fam>
Wed, 27 Oct 2010 01:16:53 +0000 (19:16 -0600)
committerOwen Leonard <owen@balawis.leonard.fam>
Wed, 27 Oct 2010 01:16:53 +0000 (19:16 -0600)
1  2 
inc/class.tc.inc.php
templates/default/ht_sandbox.tpl

diff --combined inc/class.tc.inc.php
index 8f69a8b926f2eda99960ec810f5406d19830c6a2,ac36a1e162330eccbd15466e8ee5c5e05580fa04..b3ea4a946b9e02d8cd5ee080526342961c892c8d
@@@ -401,6 -401,7 +401,7 @@@ class t
        function ht_sandbox()
        {
                $this->t->set_file(array('ht_sandbox_t' => 'ht_sandbox.tpl'));
+           $this->t->set_block('ht_sandbox_t','switch_case_list','sc_list');
                $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','companionship_table_list','ct_list');
  
                $this->t->set_var('submit_action',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox&action=add'));
-               
+           $this->t->set_var('jquery_url',$GLOBALS['phpgw']->link('inc/jquery.js'));
+                
            $action = get_var('action',array('GET','POST'));
  
                $this->t->set_var('title','Hometeaching Sandbox'); 
                                        $this->db3->query($sql,__LINE__,__FILE__);
                                }
                        }
 +              } else if ($_POST['changes']) {
 +                      $this->ht_sandbox_changes();
                }
                
                // get list of companionships
                        $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()) {
+                           $switch_case_list = "";
                                $sandbox_table_data .= "<tr><td><table>";
                                $companionship = $this->db->f('companionship');
+                           $switch_case_list .= "case '". $companionship ."':\n";
+                               $switch_case_list .= "  $(\"#district option:selected\").removeAttr(\"selected\");\n";
+                               $switch_case_list .= "  $(\"#assignedHT option:selected\").removeAttr(\"selected\");\n";
+                               $switch_case_list .= "  $(\"#assignedFamilies option:selected\").removeAttr(\"selected\");\n";
+                               $switch_case_list .= "  $(\"#district option[value='".$districts[$d]."']\").attr(\"selected\",true);\n";
                                # 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__);
                                        } else {
                                                $companion_names .= " / " . $this->db2->f('name');
                                        }
+                                       $individual = $this->db2->f('individual');
+                                       $switch_case_list .= "  $(\"#assignedHT option[value='".$individual."']\").attr(\"selected\",true);\n";
                                }
                                $this->nextmatchs->template_alternate_row_color(&$this->t);
                                $sandbox_table_data .= "<tr bgcolor=". $this->t->get_var('tr_color') .">";
-                               $sandbox_table_data .= "<th bgcolor=#d3dce3 align=\"Left\" bgcolor=\"#c9c9c9\">$companion_names</th></tr>";
+                               $sandbox_table_data .= "<th bgcolor=#d3dce3 align=\"Left\">$companion_names</th></tr>";
                                $sandbox_table_data .= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td><table>";
                                
                                # get families they visit
                                while ($this->db2->next_record()) {
                                        $family_name = $this->db2->f('name') . " Family";
                                        $family_id = $this->db2->f('tc_family');
+                                   $family = $this->db2->f('family');
                                        $tc_companionship = $this->db2->f('tc_companionship');
                                    $this->nextmatchs->template_alternate_row_color(&$this->t);
                                    $sandbox_table_data .= "<tr bgcolor=". $this->t->get_var('tr_color') .">";
                                        $sandbox_table_data .= "<td align=\"Left\" width=\"1000\">$family_name</td>";
-                                       
+                                   $switch_case_list .= "  $(\"#assignedFamilies option[value='".$family."']\").attr(\"selected\",true);\n";
+                                 
                                        # get 12 months visit data for given family
                                        for($m=$this->sandbox_stats_num_months; $m > 0; $m--) {
                                                $month = $this->current_month - $m;
                                }
                                $sandbox_table_data .= "</table></td></tr>";
                                $sandbox_table_data .= "</table></td></tr>";
+                               $switch_case_list .= "break;\n";
+                               $this->t->set_var('switch_case_list',$switch_case_list);
+                               $this->t->fp('sc_list','switch_case_list',True);
                        }
-                       
                        $sandbox_table_data .= "</table>";
                        $sandbox_table_data .= "</td>";
                }
                $this->t->pfp('out','ht_sandbox_t');
                $this->save_sessiondata();
        }
 -      
 +
 +      function ht_sandbox_changes()
 +      {
 +              // list all companionships deleted
 +              $email_contents = "Removed Companionships\n\n";
 +              $sql = "SELECT * FROM tc_companionship WHERE companionship NOT IN (SELECT tc_companionship FROM tc_companionship_sandbox) AND valid=1";
 +              $this->db->query($sql,__LINE__,__FILE__);
 +              while ($this->db->next_record()) {
 +                      $companionship = $this->db->f('companionship');
 +                      $sql = "SELECT * FROM tc_companion AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND tc.companionship=$companionship";
 +                      $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');
 +                              }
 +                      }
 +                      $email_contents .= "\t$companion_names\n";
 +              }
 +              $email_contents .= "\n\n\n";
 +              
 +              // list all companionships added
 +              $email_contents .= "New Companionships\n\n";
 +              $sql = "SELECT * FROM tc_companionship_sandbox WHERE tc_companionship=0";
 +              $this->db->query($sql,__LINE__,__FILE__);
 +              while ($this->db->next_record()) {
 +                      $companionship = $this->db->f('companionship');
 +                      $sql = "SELECT * FROM tc_companion_sandbox AS tcs JOIN tc_individual AS ti WHERE tcs.individual=ti.individual AND tcs.companionship=$companionship";
 +                      $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');
 +                              }
 +                      }
 +                      $email_contents .= "\t$companion_names\n";
 +                      $sql = "SELECT * FROM tc_family_sandbox AS tfs JOIN tc_individual AS ti WHERE tfs.individual=ti.individual AND companionship=$companionship";
 +                      $this->db2->query($sql,__LINE__,__FILE__);
 +                      while ($this->db2->next_record()) {
 +                              $family_name = $this->db2->f('name') . " Family";
 +                              $email_contents .= "\t\t$family_name\n";
 +                      }
 +              }
 +              $email_contents .= "\n\n\n";
 +              
 +              // list all companionships with changes
 +              $email_contents .= "Modified Companionships\n\n";
 +              $sql = "SELECT tcps.* FROM tc_companionship AS tc JOIN tc_companionship_sandbox AS tcps WHERE tc.companionship=tcps.tc_companionship";
 +              $this->db->query($sql,__LINE__,__FILE__);
 +              while ($this->db->next_record()) {
 +                      $companionship = $this->db->f('companionship');
 +                      $tc_companionship = $this->db->f('tc_companionship');
 +                      $changed = 0;
 +                      // compare companion list
 +                      
 +                      // list removed families
 +                      // list added families
 +              }
 +              $email_contents .= "\n\n\n";
 +              
 +              // email changes to presidency
 +              $to = "owenleonard@gmail.com";
 +              $subject = "HomeTeaching Changes";
 +              $message .= "$email_contents";
 +              $headers = 'From: webmaster@example.com' . "\r\n" .
 +                         'Reply-To: webmaster@example.com' . "\r\n" .
 +                         'X-Mailer: PHP/' . phpversion();
 +
 +
 +              mail($to, $subject, $message, $headers);
 +      }
  
        function ht_update()
        {
index c7a9d82e733a9778610f156898ea482dba4fa295,9c4c7b594fd790b0f3238805c0fc40a55cf8cabd..3e60921dd687c4cadbe93e28849edd2575000d62
@@@ -1,5 -1,25 +1,25 @@@
  <center>
  
+ <script type="text/javascript" src="{jquery_url}"></script>
+ <script type="text/javascript">                                         
+  function updateSelections()
+  {
+    //alert($('#companionship :selected').attr('id')+' - '+$('#companionship :selected').val()+' - '+$('#companionship :selected').text());
+    switch ($('#companionship :selected').val()) {
+     case '0':
+         $("#district option:selected").removeAttr("selected");
+         $("#assignedHT option:selected").removeAttr("selected");
+         $("#assignedFamilies option:selected").removeAttr("selected");
+     break;
+ <!-- BEGIN switch_case_list -->
+        {switch_case_list}
+ <!-- END switch_case_list -->
+    }
+  };
+ </script>     
        <form action="{submit_action}" method="POST">
        <table border="0" width="100%" cellspacing="2" cellpadding="2">
                <tr>
@@@ -21,7 -41,7 +41,7 @@@
                        <td align="center">
                                Companionship
                                <br>
-                               <select name="companionship">
+                               <select id="companionship" name="companionship" onchange="javascript:updateSelections();">
  <!-- BEGIN comp_list -->
                                        {companionship_list}
  <!-- END comp_list -->
                                <br><br>
                                District
                                <br>
-                               <select name="district">
+                               <select id="district" name="district">
  <!-- BEGIN district_list -->
                                        {district}
  <!-- END district_list -->
                                </select>
                        </td>
                        <td>
-                               <select name="unassignedHT[]" multiple size="9">
+                               <select id="unassignedHT" name="unassignedHT[]" multiple size="9">
  <!-- BEGIN unassigned_ht_list -->
                                        {unassigned_ht}
  <!-- END unassigned_ht_list -->
                                </select>
                        </td>
                        <td>
-                               <select name="assignedHT[]" multiple size="9">
+                               <select id="assignedHT" name="assignedHT[]" multiple size="9">
  <!-- BEGIN assigned_ht_list -->
                                        {assigned_ht}
  <!-- END assigned_ht_list -->
                                </select>
                        </td>
                        <td>
-                               <select name="unassignedFamilies[]" multiple size="9">
+                               <select id="unassignedFamilies" name="unassignedFamilies[]" multiple size="9">
  <!-- BEGIN unassigned_family_list -->
                                        {unassigned_family}
  <!-- END unassigned_family_list -->
                                </select>
                        </td>
                        <td>
-                               <select name="assignedFamiles[]" multiple size="9">
+                               <select id="assignedFamilies" name="assignedFamiles[]" multiple size="9">
  <!-- BEGIN assigned_family_list -->
                                        {assigned_family}
  <!-- END assigned_family_list -->
                                                        <font face="{font}"><input style="width: 150px" type="submit" name="reset" value="Reset to MLS"></font>
                                                </td>
                                        </tr>
 +                                      <tr>
 +                                              <td>
 +                                                      <font face="{font}"><input style="width: 150px" type="submit" name="changes" value="Email Changes"></font>
 +                                              </td>
 +                                      </tr>
                                </table>
                        </td>
                </tr>