public function addAction()
 {
     $emptyFlag = 0;
     $report_opt = array();
     $popConfigPermission = array();
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $employeeModel = new Default_Model_Employee();
     $currentOrgHead = $employeeModel->getCurrentOrgHead();
     if (empty($currentOrgHead)) {
         $this->addorganisationhead($loginUserId);
     } else {
         if (sapp_Global::_checkprivileges(PREFIX, $loginuserGroup, $loginuserRole, 'add') == 'Yes') {
             array_push($popConfigPermission, 'prefix');
         }
         if (sapp_Global::_checkprivileges(IDENTITYCODES, $loginuserGroup, $loginuserRole, 'edit') == 'Yes') {
             array_push($popConfigPermission, 'identitycodes');
         }
         if (sapp_Global::_checkprivileges(EMPLOYMENTSTATUS, $loginuserGroup, $loginuserRole, 'add') == 'Yes') {
             array_push($popConfigPermission, 'empstatus');
         }
         if (sapp_Global::_checkprivileges(JOBTITLES, $loginuserGroup, $loginuserRole, 'add') == 'Yes') {
             array_push($popConfigPermission, 'jobtitles');
         }
         if (sapp_Global::_checkprivileges(POSITIONS, $loginuserGroup, $loginuserRole, 'add') == 'Yes') {
             array_push($popConfigPermission, 'position');
         }
         $this->view->popConfigPermission = $popConfigPermission;
         $employeeform = new Default_Form_employee();
         $usersModel = new Default_Model_Users();
         $employmentstatusModel = new Default_Model_Employmentstatus();
         $busineesUnitModel = new Default_Model_Businessunits();
         $user_model = new Default_Model_Usermanagement();
         $candidate_model = new Default_Model_Candidatedetails();
         $role_model = new Default_Model_Roles();
         $jobtitlesModel = new Default_Model_Jobtitles();
         $prefixModel = new Default_Model_Prefix();
         $msgarray = array();
         $identity_code_model = new Default_Model_Identitycodes();
         $identity_codes = $identity_code_model->getIdentitycodesRecord();
         $emp_identity_code = isset($identity_codes[0]) ? $identity_codes[0]['employee_code'] : "";
         if ($emp_identity_code != '') {
             $emp_id = $emp_identity_code . str_pad($user_model->getMaxEmpId($emp_identity_code), 4, '0', STR_PAD_LEFT);
         } else {
             $emp_id = '';
             $msgarray['employeeId'] = 'Identity codes are not configured yet.';
         }
         $employeeform->employeeId->setValue($emp_id);
         $employeeform->modeofentry->setValue('Direct');
         $roles_arr = $role_model->getRolesList_EMP();
         if (sizeof($roles_arr) > 0) {
             $employeeform->emprole->addMultiOptions(array('' => 'Select Role') + $roles_arr);
         } else {
             $employeeform->emprole->addMultiOptions(array('' => 'Select Role'));
             $msgarray['emprole'] = 'Roles are not configured yet.';
         }
         $candidate_options = $candidate_model->getCandidatesNamesForUsers();
         if (sizeof($candidate_options) > 0) {
             $employeeform->rccandidatename->addMultiOptions(array('' => 'Select Candidate') + $candidate_options);
         } else {
             $msgarray['rccandidatename'] = 'No candidates.';
         }
         $referedby_options = $user_model->getRefferedByForUsers();
         if (sizeof($referedby_options) > 0) {
             $employeeform->candidatereferredby->addMultiOptions(array('' => 'Select referred by') + $referedby_options);
         } else {
             $msgarray['candidatereferredby'] = 'Employees are not added yet.';
         }
         $employmentStatusData = $employmentstatusModel->getempstatusActivelist();
         $employeeform->emp_status_id->addMultiOption('', 'Select Employment Status');
         if (!empty($employmentStatusData)) {
             foreach ($employmentStatusData as $employmentStatusres) {
                 $employeeform->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']);
             }
         } else {
             $msgarray['emp_status_id'] = 'Employment status is not configured yet.';
             $emptyFlag++;
         }
         $businessunitData = $busineesUnitModel->getDeparmentList();
         if (!empty($businessunitData)) {
             $employeeform->businessunit_id->addMultiOption('0', 'No Business Unit');
             foreach ($businessunitData as $businessunitres) {
                 $employeeform->businessunit_id->addMultiOption($businessunitres['id'], $businessunitres['unitname']);
             }
             $departmentsmodel = new Default_Model_Departments();
             $departmentlistArr = $departmentsmodel->getDepartmentList('0');
             $totalDeptList = $departmentsmodel->getTotalDepartmentList();
             $employeeform->department_id->clearMultiOptions();
             $employeeform->department_id->addMultiOption('', 'Select Department');
             if (count($departmentlistArr) > 0) {
                 foreach ($departmentlistArr as $departmentlistresult) {
                     $employeeform->department_id->addMultiOption($departmentlistresult['id'], utf8_encode($departmentlistresult['deptname']));
                 }
             }
             if (empty($totalDeptList)) {
                 $msgarray['department_id'] = 'Departments are not added yet.';
             }
             if (isset($department_id) && $department_id != 0 && $department_id != '') {
                 $employeeform->setDefault('department_id', $department_id);
             }
         } else {
             $msgarray['businessunit_id'] = 'Business units are not added yet.';
             $emptyFlag++;
         }
         $jobtitleData = $jobtitlesModel->getJobTitleList();
         $employeeform->jobtitle_id->addMultiOption('', 'Select Job Title');
         if (!empty($jobtitleData)) {
             foreach ($jobtitleData as $jobtitleres) {
                 $employeeform->jobtitle_id->addMultiOption($jobtitleres['id'], $jobtitleres['jobtitlename']);
             }
         } else {
             $msgarray['jobtitle_id'] = 'Job titles are not configured yet.';
             $msgarray['position_id'] = 'Positions are not configured yet.';
             $emptyFlag++;
         }
         $prefixData = $prefixModel->getPrefixList();
         $employeeform->prefix_id->addMultiOption('', 'Select Prefix');
         if (!empty($prefixData)) {
             foreach ($prefixData as $prefixres) {
                 $employeeform->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']);
             }
         } else {
             $msgarray['prefix_id'] = 'Prefixes are not configured yet.';
             $emptyFlag++;
         }
         if (isset($_POST['emprole']) && isset($_POST['department_id']) && $_POST['emprole'] != '') {
             $role_split = preg_split('/_/', $_POST['emprole']);
             $reportingManagerData = $usersModel->getReportingManagerList_employees($_POST['department_id'], '', $role_split[1]);
             if (!empty($reportingManagerData)) {
                 $report_opt = $reportingManagerData;
                 if (isset($_POST['reporting_manager']) && $_POST['reporting_manager'] != '') {
                     $employeeform->setDefault('reporting_manager', $_POST['reporting_manager']);
                 }
             }
         }
         $employeeform->setAttrib('action', BASE_URL . 'employee/add');
         $this->view->form = $employeeform;
         $this->view->msgarray = $msgarray;
         $this->view->report_opt = $report_opt;
         $this->view->emptyFlag = $emptyFlag++;
         if ($this->getRequest()->getPost()) {
             $result = $this->save($employeeform);
             $this->view->msgarray = $result;
             $this->view->messages = $result;
         }
     }
 }
 public function addAction()
 {
     $emptyFlag = 0;
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
         $loginuserUnitID = $auth->getStorage()->read()->businessunit_id;
         $loginuserDeptID = $auth->getStorage()->read()->department_id;
     }
     $employeeform = new Default_Form_Myteamemployee();
     $usersModel = new Default_Model_Users();
     $employmentstatusModel = new Default_Model_Employmentstatus();
     $busineesUnitModel = new Default_Model_Businessunits();
     $user_model = new Default_Model_Usermanagement();
     $candidate_model = new Default_Model_Candidatedetails();
     $role_model = new Default_Model_Roles();
     $jobtitlesModel = new Default_Model_Jobtitles();
     $prefixModel = new Default_Model_Prefix();
     $msgarray = array();
     $identity_code_model = new Default_Model_Identitycodes();
     $identity_codes = $identity_code_model->getIdentitycodesRecord();
     $emp_identity_code = isset($identity_codes[0]) ? $identity_codes[0]['employee_code'] : "";
     if ($emp_identity_code != '') {
         $emp_id = $emp_identity_code . str_pad($user_model->getMaxEmpId($emp_identity_code), 4, '0', STR_PAD_LEFT);
     } else {
         $emp_id = '';
         $msgarray['employeeId'] = 'Identity codes are not configured yet.';
     }
     $employeeform->employeeId->setValue($emp_id);
     $employeeform->modeofentry->setValue('Direct');
     $roles_arr = $role_model->getRolesListByGroupID(EMPLOYEE_GROUP);
     if (sizeof($roles_arr) > 0) {
         $employeeform->emprole->addMultiOptions(array('' => 'Select Role') + $roles_arr);
     } else {
         $employeeform->emprole->addMultiOptions(array('' => 'Select Role'));
         $msgarray['emprole'] = 'Roles are not configured yet.';
     }
     $employmentStatusData = $employmentstatusModel->getempstatusActivelist();
     $employeeform->emp_status_id->addMultiOption('', 'Select Employment Status');
     if (!empty($employmentStatusData)) {
         foreach ($employmentStatusData as $employmentStatusres) {
             $employeeform->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']);
         }
     } else {
         $msgarray['emp_status_id'] = 'Employment status is not configured yet.';
         $emptyFlag++;
     }
     $businessunitData = $busineesUnitModel->getDeparmentList();
     if (!empty($businessunitData)) {
         foreach ($businessunitData as $businessunitres) {
             if ($businessunitres['id'] == $loginuserUnitID) {
                 $employeeform->businessunit_id->addMultiOption($businessunitres['id'], $businessunitres['unitname']);
             }
         }
         $departmentsmodel = new Default_Model_Departments();
         $loginUserdepartmentData = $departmentsmodel->getSingleDepartmentData($loginuserDeptID);
         $totalDeptList = $departmentsmodel->getTotalDepartmentList();
         $employeeform->department_id->clearMultiOptions();
         if (count($loginUserdepartmentData) > 0) {
             $employeeform->department_id->addMultiOption($loginUserdepartmentData['id'], utf8_encode($loginUserdepartmentData['deptname']));
         }
         if (empty($totalDeptList)) {
             $msgarray['department_id'] = 'Departments are not added yet.';
         }
     } else {
         $msgarray['businessunit_id'] = 'Business units are not added yet.';
         $emptyFlag++;
     }
     $jobtitleData = $jobtitlesModel->getJobTitleList();
     $employeeform->jobtitle_id->addMultiOption('', 'Select Job Title');
     if (!empty($jobtitleData)) {
         foreach ($jobtitleData as $jobtitleres) {
             $employeeform->jobtitle_id->addMultiOption($jobtitleres['id'], $jobtitleres['jobtitlename']);
         }
     } else {
         $msgarray['jobtitle_id'] = 'Job titles are not configured yet.';
         $msgarray['position_id'] = 'Positions are not configured yet.';
         $emptyFlag++;
     }
     $prefixData = $prefixModel->getPrefixList();
     $employeeform->prefix_id->addMultiOption('', 'Select Prefix');
     if (!empty($prefixData)) {
         foreach ($prefixData as $prefixres) {
             $employeeform->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']);
         }
     } else {
         $msgarray['prefix_id'] = 'Prefixes are not configured yet.';
         $emptyFlag++;
     }
     $userData = $usersModel->getUserDetails($loginUserId);
     if (count($userData) > 0) {
         $employeeform->reporting_manager->addMultiOption($userData[0]['id'], $userData[0]['userfullname']);
     }
     $employeeform->setAttrib('action', DOMAIN . 'myemployees/add');
     $this->view->form = $employeeform;
     $this->view->msgarray = $msgarray;
     $this->view->emptyFlag = $emptyFlag++;
     if ($this->getRequest()->getPost()) {
         $result = $this->save($employeeform);
         $this->view->msgarray = $result;
         $this->view->messages = $result;
     }
 }
 public function editpopupAction()
 {
     Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/");
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $id = $this->getRequest()->getParam('id');
     $userid = $this->getRequest()->getParam('unitId');
     if ($id == '') {
         $id = $loginUserId;
     }
     // For open the form in popup...
     $empjobhistoryform = new Default_Form_empjobhistory();
     $empjobhistoryModel = new Default_Model_Empjobhistory();
     $employeeModel = new Default_Model_Employee();
     $positionModel = new Default_Model_Positions();
     $departmentModel = new Default_Model_Departments();
     $jobtitleModel = new Default_Model_Jobtitles();
     $clientsModel = new Timemanagement_Model_Clients();
     if ($id) {
         $employeeArr = $employeeModel->getActiveEmployeeData($userid);
         if (!empty($employeeArr)) {
             if (isset($employeeArr[0]['businessunit_id']) && $employeeArr[0]['businessunit_id'] != '') {
                 $departmentArr = $departmentModel->getDepartmentList($employeeArr[0]['businessunit_id']);
                 if (!empty($departmentArr)) {
                     $empjobhistoryform->department->addMultiOption('', 'Select Department');
                     foreach ($departmentArr as $departmentres) {
                         $empjobhistoryform->department->addMultiOption($departmentres['id'], $departmentres['deptname']);
                     }
                 }
             } else {
                 $departmentArr = $departmentModel->getTotalDepartmentList();
                 if (!empty($departmentArr)) {
                     $empjobhistoryform->department->addMultiOption('', 'Select Department');
                     foreach ($departmentArr as $departmentres) {
                         $empjobhistoryform->department->addMultiOption($departmentres['id'], $departmentres['deptname']);
                     }
                 }
             }
         }
         $positionArr = $positionModel->getTotalPositionList();
         if (!empty($positionArr)) {
             $empjobhistoryform->positionheld->addMultiOption('', 'Select Position');
             foreach ($positionArr as $positionres) {
                 $empjobhistoryform->positionheld->addMultiOption($positionres['id'], $positionres['positionname']);
             }
         }
         $jobtitleArr = $jobtitleModel->getJobTitleList();
         if (!empty($jobtitleArr)) {
             $empjobhistoryform->jobtitleid->addMultiOption('', 'Select Job Title');
             foreach ($jobtitleArr as $jobtitleres) {
                 $empjobhistoryform->jobtitleid->addMultiOption($jobtitleres['id'], $jobtitleres['jobtitlename']);
             }
         }
         $clientsArr = $clientsModel->getActiveClientsData();
         if (!empty($clientsArr)) {
             $empjobhistoryform->client->addMultiOption('', 'Select a Client');
             foreach ($clientsArr as $clientsres) {
                 $empjobhistoryform->client->addMultiOption($clientsres['id'], $clientsres['client_name']);
             }
         }
         $data = $empjobhistoryModel->getsingleEmpJobHistoryData($id);
         if (!empty($data)) {
             $empjobhistoryform->populate($data[0]);
             $empjobhistoryform->setDefault('department', $data[0]['department']);
             $empjobhistoryform->setDefault('positionheld', $data[0]['positionheld']);
             $empjobhistoryform->setDefault('jobtitleid', $data[0]['jobtitleid']);
             $empjobhistoryform->setDefault('client', $data[0]['client_id']);
             if (isset($data[0]['start_date']) && $data[0]['start_date'] != '') {
                 $start_date = sapp_Global::change_date($data[0]['start_date'], 'view');
                 $empjobhistoryform->start_date->setValue($start_date);
             }
             if (isset($data[0]['end_date']) && $data[0]['end_date'] != '') {
                 $end_date = sapp_Global::change_date($data[0]['end_date'], 'view');
                 $empjobhistoryform->end_date->setValue($end_date);
             }
         }
     }
     $empjobhistoryform->setAttrib('action', BASE_URL . 'empjobhistory/editpopup/unitId/' . $userid);
     $this->view->form = $empjobhistoryform;
     $this->view->controllername = 'empjobhistory';
     if ($this->getRequest()->getPost()) {
         $result = $this->save($empjobhistoryform, $userid);
         $this->view->msgarray = $result;
     }
 }