/** * @return ViewModel */ public function processAction() { $this->init_data(); $helper = new PayrollHelper(); $form = $helper->getForm($this->formulaList); return new ViewModel(array('staffs' => $this->staffTable->getActiveStaffs(), 'lateList' => $this->lateList, 'workingHours' => $this->workingHours, 'leaveValues' => $this->leaveValues, 'form' => $form)); }
public function indexAction() { try { $this->init_data(); $staffId = $this->staff ? $this->staff->getStaffId() : 0; $request = $this->getRequest(); $attendance = $this->attendanceTable()->checkAttendance($staffId, date('Y-m-d', time())); if (!$attendance) { $attendance = new Attendance(); $attendance->exchangeArray(array('staffId' => $staffId, 'attendanceDate' => date('Y-m-d', time()))); } $helper = new DashboardHelper(); $leaveForm = $helper->getLeaveForm($this->leaveTypeList); $leave = new Leave(); $leaveForm->bind($leave); $salaryHelper = new PayrollHelper(); $salaryForm = $salaryHelper->getForm(array()); if ($request->isPost()) { $post_data = $request->getPost()->toArray(); $leaveForm->setData($post_data); $leaveForm->setInputFilter($helper->getLeaveFilter()); if ($leaveForm->isValid()) { $leave->setStaffId($staffId); $leave->setStatus('R'); $this->leaveTable->saveLeave($leave); $this->flashMessenger()->addWarningMessage('Leave request send to HR.'); return $this->redirect()->toRoute('dashboard'); } } return new ViewModel(array('attendance' => $attendance, 'leaveForm' => $leaveForm, 'salaryForm' => $salaryForm, 'lateList' => $this->lateList, 'workingHours' => $this->workingHours, 'leaveValues' => $this->leaveValues, 'staff' => $this->staff ? $this->staff : new Staff())); } catch (\Exception $ex) { throw $ex; } }