var $script_path;
var $max_appointments;
var $max_presidency_members;
+ var $ppi_frequency_label;
var $public_functions = array
(
$this->current_month = $this->current_month-0; // Make it numeric
$this->current_year = `date '+%Y'`;
$this->current_year = $this->current_year-0; // Make it numeric
+
+ if ($this->ppi_frequency == 12) {
+ $this->ppi_frequency_label = "Annual";
+ } else if ($this->ppi_frequency == 6) {
+ $this->ppi_frequency_label = "Semi-Annual";
+ } else if ($this->ppi_frequency == 3) {
+ $this->ppi_frequency_label = "Quarterly";
+ } else if ($this->ppi_frequency == 1) {
+ $this->ppi_frequency_label = "Monthly";
+ } else {
+ $this->ppi_frequency_label = "Periodic";
+ }
echo parse_navbar();
$this->display_app_header();
$this->t->set_var('assignment_data',$assignment_data);
// Create individual selection boxes
- $sql = "SELECT * FROM tc_individual WHERE steward='$this->default_stewardship'";
+ $sql = "SELECT * FROM tc_individual";
$this->db->query($sql,__LINE__,__FILE__);
$i=0;
while ($this->db->next_record()) {
$this->t->set_var('lang_reset','Clear Changes');
$this->t->set_var('ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_view'));
- $this->t->set_var('ppi_link_title','Yearly PPIs');
+ $this->t->set_var('ppi_link_title',$this->ppi_frequency_label . ' PPIs');
$this->t->set_var('schedule_ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched'));
- $this->t->set_var('schedule_ppi_link_title','Schedule Yearly PPIs');
+ $this->t->set_var('schedule_ppi_link_title','Schedule ' . $this->ppi_frequency_label . ' PPIs');
$this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched&action=save'));
- $this->t->set_var('title','Yearly PPI Scheduler');
+ $this->t->set_var('title',$this->ppi_frequency_label . ' PPI Scheduler');
$indiv_width=500; $phone_width=25; $pri_width=10; $notes_width=128; $ppi_date_width=20;
$table_width=$indiv_width + $phone_width + $pri_width + $notes_width + $ppi_date_width;
$table_data=""; $completed_data=""; $totals_data="";
$year = date('Y');
+ $month = date('m');
+ $period = intval(($month-1)/$this->ppi_frequency) + 1;
+ $start_of_period = ($period-1)*$this->ppi_frequency + 1;
+ $end_of_period = $period * $this->ppi_frequency;
if($action == 'save') {
// Save any changes made to the appointment table
// Display a scheduling table for this presidency member
$district_number = '*';
$district_name = $presidency_name;
- $table_title = "District ".$district_number.": ".$district_name.": All indivs with Yearly PPI Not Completed";
- $appt_table_title = "District ".$district_number.": ".$district_name.": Yearly PPI Appointment Slots";
- $this->t->set_var('table_title',$table_title);
+ $not_completed_table_title = "District ".$district_number.": ".$district_name.": All indivs with " . $this->ppi_frequency_label . " PPI Not Completed";
+ $appt_table_title = "District ".$district_number.": ".$district_name.": ".$this->ppi_frequency_label." PPI Appointment Slots";
+ $this->t->set_var('not_completed_table_title',$not_completed_table_title);
$this->t->set_var('appt_table_title',$appt_table_title);
// query the database for all the appointments
}
$max = count($individual);
-
+
for($i=0; $i < $max; $i++) {
$id = $individual[$i];
$name = $indiv_name[$i];
$priority = $indiv_priority[$id];
$notes = $indiv_notes[$id];
- // If this individual has had a yearly PPI this year, don't show him on the schedule list
- $year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01";
- $sql = "SELECT * FROM tc_interview WHERE date > '$year_start' AND date < '$year_end' ".
+ // If this individual has had a PPI this period, don't show him on the schedule list
+ $year_start = $year . "-" . $start_of_period . "-01";
+ $year_end = $year . "-" . $end_of_period . "-31";
+ $sql = "SELECT * FROM tc_interview WHERE date >= '$year_start' AND date <= '$year_end' ".
"AND individual=" . $id . " AND interview_type='ppi' ORDER BY date DESC";
$this->db2->query($sql,__LINE__,__FILE__);
}
} // End for individuals Loop
+ $completed_table_title = "District ".$district_number.": ".$district_name.": All indivs with " . $this->ppi_frequency_label . " PPI Completed";
$name_width=175; $phone_width=100; $date_width=100; $notes_width=300;
$completed_table_width=$name_width + $phone_width + $date_width + $notes_width;
$completed_header_row = "<th width=$name_width><font size=-2>Individual</th>";
$completed_header_row.= "<th width=$date_width><font size=-2>Date</th>";
$completed_header_row.= "<th width=$notes_width><font size=-2>PPI Notes</th>";
+ $this->t->set_var('completed_table_title',$completed_table_title);
$this->t->set_var('table_width',$table_width);
$this->t->set_var('header_row',$header_row);
$this->t->set_var('table_data',$table_data);
$totals_header_row = "<th width=$indivs_width><font size=-2>Individuals</th>";
$totals_header_row.= "<th width=$totals_width><font size=-2>$year</th>";
$totals_data.= "<tr bgcolor=". $this->t->get_var('tr_color') .">";
- $totals_data.= "<td align=left><font size=-2><b>Total Individuals with yearly PPIs completed:</b></font></td>";
+ $totals_data.= "<td align=left><font size=-2><b>Total Individuals with " . $this->ppi_frequency_label . " PPIs completed:</b></font></td>";
$totals_data.= "<td align=center><font size=-2><b>$indivs_with_yearly_ppi / $total_indivs</b></font></td>";
$percent = ceil(($indivs_with_yearly_ppi / $total_indivs)*100);
$tr_color = $this->nextmatchs->alternate_row_color($tr_color);
$this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_view'));
$this->t->set_var('ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_view'));
- $this->t->set_var('ppi_link_title','Yearly PPIs');
+ $this->t->set_var('ppi_link_title',$this->ppi_frequency_label . ' PPIs');
$this->t->set_var('schedule_ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched'));
- $this->t->set_var('schedule_ppi_link_title','Schedule Yearly PPIs');
+ $this->t->set_var('schedule_ppi_link_title','Schedule ' . $this->ppi_frequency_label . ' PPIs');
- $this->t->set_var('title','Yearly PPIs');
+ $this->t->set_var('title',$this->ppi_frequency_label . ' PPIs');
$num_months = get_var('num_months',array('GET','POST'));
if($num_months == '') { $num_months = $this->default_ppi_num_years; }
$this->t->set_var('num_months',$num_months);
$this->t->set_var('schedule_int_link_title','Schedule Hometeaching Interviews');
$this->t->set_var('schedule_ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched'));
- $this->t->set_var('schedule_ppi_link_title','Schedule Yearly PPIs');
+ $this->t->set_var('schedule_ppi_link_title','Schedule ' . $this->ppi_frequency_label . ' PPIs');
$date_width=160; $time_width=220; $indiv_width=170; $family_width=180; $location_width=100;
$table_width=$date_width + $time_width + $indiv_width + $family_width + $location_width;
<Window x:Class="MLSFileTrimmer.Window1"\r
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\r
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"\r
- Title="MLS File Trimmer" Height="200" Width="600" MaxHeight="Infinity" MaxWidth="Infinity" MinHeight="0" MinWidth="0" ResizeMode="CanMinimize">\r
+ Title="MLS File Trimmer" Height="200" Width="600" MaxHeight="Infinity" MaxWidth="Infinity" MinHeight="0" MinWidth="0" ResizeMode="CanResize">\r
<Grid Background="Silver">\r
- <Label Margin="20,30,30,0" Name="label4" VerticalAlignment="Top" Height="30">Please specify the directory where the MLS csv files are.</Label>\r
- <TextBox Margin="20,70,130,60" Name="outputDirtextBox" FlowDirection="LeftToRight" HorizontalContentAlignment="Left" VerticalContentAlignment="Center" TextWrapping="NoWrap" Height="30" />\r
- <Button Margin="0,70,20,61" Name="outDirButton" HorizontalAlignment="Right" Width="100" Height="30" Click="outDirButton_Click">Browse</Button>\r
- <Button Margin="0,0,20,20" Name="parseButton" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="100" Height="30" Click="parseButton_Click">OK</Button>\r
- <Label Height="28" HorizontalAlignment="Right" Margin="0,27.233,20,0" Name="finishedLabel" VerticalAlignment="Top" Width="100" FontSize="16" Foreground="Red" HorizontalContentAlignment="Center" Visibility="Hidden">Finished!</Label>\r
- <Label Height="28" HorizontalAlignment="Right" Margin="0,27.233,20,0" Name="trimmingLabel" VerticalAlignment="Top" Width="100" FontSize="16" Foreground="Green" HorizontalContentAlignment="Center" Visibility="Hidden" >Trimming...</Label>\r
+ <Grid.RowDefinitions>\r
+ <RowDefinition Height="1*"/>\r
+ <RowDefinition Height="1*"/>\r
+ <RowDefinition Height="1*"/>\r
+ <RowDefinition Height="1*"/>\r
+ </Grid.RowDefinitions> \r
+ <Grid.ColumnDefinitions>\r
+ <ColumnDefinition Width="80*"/>\r
+ <ColumnDefinition Width="20*"/>\r
+ </Grid.ColumnDefinitions>\r
+ \r
+ <Label Grid.Row="0" Grid.Column="0" Margin="5,5" Name="label4" VerticalAlignment="Center" >Please specify the directory where the MLS csv files are.</Label>\r
+ <TextBox Grid.Row="1" Grid.Column="0" Margin="5,5" Name="outputDirTextBox" FlowDirection="LeftToRight" HorizontalContentAlignment="Left" VerticalContentAlignment="Center" TextWrapping="NoWrap"/>\r
+ <Button Grid.Row="1" Grid.Column="1" Margin="5,5" Name="outDirButton" Click="outDirButton_Click">Browse</Button>\r
+ <Button Grid.Row="2" Grid.Column="1" Margin="5,5" Name="parseButton" Click="parseButton_Click">OK</Button>\r
+ <Button Grid.Row="3" Grid.Column="1" Margin="5,5" Name="exitButton" Click="exitButton_Click">Exit</Button>\r
+ <Label Grid.Row="0" Grid.Column="1" Margin="5,5" Name="finishedLabel" FontSize="16" Foreground="Red" Visibility="Hidden">Finished!</Label>\r
+ <Label Grid.Row="0" Grid.Column="1" Margin="5,5" Name="trimmingLabel" FontSize="16" Foreground="Green" Visibility="Hidden" >Trimming...</Label>\r
</Grid>\r
</Window>\r
using System;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
+using System.ComponentModel;\r
+using System.IO;\r
using System.Text;\r
+using System.Threading;\r
using System.Windows;\r
-using System.Windows.Controls;\r
-using System.Windows.Data;\r
-using System.Windows.Documents;\r
-using System.Windows.Input;\r
-using System.Windows.Media;\r
-using System.Windows.Media.Imaging;\r
-using System.Windows.Navigation;\r
-using System.Windows.Shapes;\r
-using Microsoft.Win32;\r
-using System.IO;\r
-using FolderBrowserDialog = System.Windows.Forms.FolderBrowserDialog;\r
-using System.Xml.Serialization;\r
using System.Xml;\r
+using System.Xml.Serialization;\r
using Ionic.Zip;\r
-using System.ComponentModel;\r
-using System.Threading;\r
+using FolderBrowserDialog = System.Windows.Forms.FolderBrowserDialog;\r
\r
namespace MLSFileTrimmer\r
{\r
openFolderDialog.RootFolder = Environment.SpecialFolder.MyDocuments;\r
if (openFolderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)\r
{\r
- outputDirtextBox.Text = openFolderDialog.SelectedPath;\r
+ outputDirTextBox.Text = openFolderDialog.SelectedPath;\r
currentDirectory = openFolderDialog.SelectedPath;\r
}\r
}\r
private void parseButton_Click(object sender, RoutedEventArgs e)\r
{\r
// make sure the directory exists\r
- if (outputDirtextBox.Text.Equals(String.Empty))\r
+ if (outputDirTextBox.Text.Equals(String.Empty))\r
{\r
MessageBox.Show("Please select the correct output directory.");\r
return;\r
}\r
- else if (!Directory.Exists(outputDirtextBox.Text))\r
+ else if (!Directory.Exists(outputDirTextBox.Text))\r
{\r
- MessageBox.Show(outputDirtextBox.Text + " does not exist. Please select the correct output directory.");\r
+ MessageBox.Show(outputDirTextBox.Text + " does not exist. Please select the correct output directory.");\r
}\r
\r
// make sure the original files exist\r
this.trimmingLabel.Visibility = Visibility.Hidden;\r
this.finishedLabel.Visibility = Visibility.Visible;\r
}\r
+\r
+ private void exitButton_Click(object sender, RoutedEventArgs e)\r
+ {\r
+ this.Close();\r
+ }\r
}\r
}\r