From 631c779c84e658215aedf22693af33a1cb4f30a1 Mon Sep 17 00:00:00 2001 From: Alan Pippin <apippin@pippins.net> Date: Tue, 26 Oct 2010 17:22:56 -0600 Subject: [PATCH] Added ability to utilize jquery to automatically select families and HT companions automatically once a companionship is selected. --- inc/class.tc.inc.php | 21 ++++++++++++++++++--- templates/default/ht_sandbox.tpl | 27 +++++++++++++++++++++------ 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/inc/class.tc.inc.php b/inc/class.tc.inc.php index 9a33637..2b34526 100644 --- a/inc/class.tc.inc.php +++ b/inc/class.tc.inc.php @@ -401,6 +401,7 @@ class tc 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'); @@ -651,8 +652,16 @@ class tc $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__); @@ -663,10 +672,12 @@ class tc } 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 @@ -675,11 +686,13 @@ class tc 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; @@ -713,8 +726,10 @@ class tc } $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>"; } diff --git a/templates/default/ht_sandbox.tpl b/templates/default/ht_sandbox.tpl index 2eea7e5..739a887 100644 --- a/templates/default/ht_sandbox.tpl +++ b/templates/default/ht_sandbox.tpl @@ -1,5 +1,20 @@ <center> +<script type="text/javascript" src="/tc/inc/jquery.js"></script> +<script type="text/javascript"> + + function updateSelections() + { + //alert($('#companionship :selected').attr('id')+' - '+$('#companionship :selected').val()+' - '+$('#companionship :selected').text()); + switch ($('#companionship :selected').val()) { +<!-- 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 +36,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 --> @@ -29,35 +44,35 @@ <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 --> -- 2.34.1