_setLayout('main'); $auth = Staple_Auth::get(); $this->authLevel = $auth->getAuthLevel(); $user = new userModel(); $this->uid = $user->getId(); if ($this->authLevel < 500) { header("location:" . $this->_link(array('index', 'index')) . ""); } } public function index($year = null, $month = null) { if ($year == null) { $year = date('Y'); } if ($month == null) { $month = date('m'); } $report = new reportModel($year, $month); $this->view->report = $report->getTimesheets(); $timesheet = new timesheetModel($year, $month); $this->view->nextMonth = $timesheet->getNextMonth(); $this->view->previousMonth = $timesheet->getPreviousMonth(); $this->view->year = $timesheet->getCurrentYear(); $yearForm = new changeYearForm(); $yearForm->setAction($this->_link(array('reports','changeyear'))); $this->view->yearForm = $yearForm; $this->view->accountLevel = $this->authLevel; $date = new DateTime(); $date->setDate($year, $month, 1); $this->view->month = $date->format('F'); $printTimeSheetForm = new printTimeSheetForm(); if($printTimeSheetForm->wasSubmitted()) { $printTimeSheetForm->addData($_POST); if($printTimeSheetForm->validate()) { $data = $printTimeSheetForm->exportFormData(); $this->layout->addScriptBlock(" window.open('".$this->_link(array("reports","printpreview",$year,$month,$data['account']))."'); "); $this->view->printTimeSheetForm = $printTimeSheetForm; } else { $this->view->printTimeSheetForm = $printTimeSheetForm; } } else { $this->view->printTimeSheetForm = $printTimeSheetForm; } } public function changeyear() { $form = new changeYearForm(); if($form->wasSubmitted()) { $form->addData($_POST); if($form->validate()) { $data = $form->exportFormData(); header("location: ".$this->_link(array('reports',$data['year'])).""); } else { header("location: ".$this->_link(array('reports')).""); } } else { header("location: ".$this->_link(array('reports')).""); } } public function weekly() { //Weekly report form $form = new weeklyReportForm(); if ($form->wasSubmitted()) { $form->addData($_POST); if ($form->validate()) { $data = $form->exportFormData(); $report = new weeklyReportModel(); $this->view->report = $report->timeWorked($data['account'], $data['year']); $account = new userModel(); $this->view->account = $account->userInfo($data['account']); $this->view->year = $data['year']; } else { $this->view->form = $form; } } else { $this->view->form = $form; } } public function unlock() { $auth = Staple_Auth::get(); $this->authLevel = $auth->getAuthLevel(); if ($this->authLevel < 900) { header("location:" . $this->_link(array('index', 'index')) . ""); } else { $year = date('Y'); $month = date('m'); $timesheets = new reportModel($year, $month); $this->view->accounts = $timesheets; } } public function unlockid($id) { $auth = Staple_Auth::get(); $this->authLevel = $auth->getAuthLevel(); if ($this->authLevel < 900) { header("location:" . $this->_link(array('index', 'index')) . ""); } else { $unlock = new unlockModel(); if ($unlock->unlock($id)) { $this->view->message = " Time entry unlocked."; } else { $this->view->message = " ERROR: Unable to unlock your own time entries."; } } } public function printpreview($year,$month,$uid) { $this->_setLayout('print'); $user = new userModel(); $account = $user->userInfo($uid); $this->view->firstName = $account['firstName']; $this->view->lastName = $account['lastName']; $this->view->batchId = $account['batchId']; $this->view->year = $year; $this->view->month = date('F',$month); $timesheet = new timesheetModel($year, $month,$uid); $this->view->timesheet = $timesheet; } public function payperiod($year = null, $month = null) { if ($year == null) { $year = date('Y'); } if ($month == null) { $month = date('m'); } $this->view->year = $year; $date = new DateTime(); $date->setDate($year,$month,26); $date->setTime(0,0,0); $date->modify('-1 month'); $this->view->previousMonth = $date->format('m'); $date2 = new DateTime(); $date2->setDate($year,$month,25); $date2->setTime(24,0,0); $interval = date_diff($date,$date2); $this->view->span = $interval->days; $reports = new reportModel($year, $month); $this->view->report = $reports->payPeriodTotals($year, $month); } }