public function editAction()
 {
     if (defined('EMPTABCONFIGS')) {
         $empOrganizationTabs = explode(",", EMPTABCONFIGS);
         if (in_array('workeligibilitydetails', $empOrganizationTabs)) {
             $auth = Zend_Auth::getInstance();
             if ($auth->hasIdentity()) {
                 $loginUserId = $auth->getStorage()->read()->id;
                 $loginUserRole = $auth->getStorage()->read()->emprole;
                 $loginUserGroup = $auth->getStorage()->read()->group_id;
             }
             $this->view->WorkeligibilitydoctypesPermission = sapp_Global::_checkprivileges(WORKELIGIBILITYDOCTYPES, $loginUserGroup, $loginUserRole, 'add');
             $popConfigPermission = array();
             if (sapp_Global::_checkprivileges(COUNTRIES, $loginUserGroup, $loginUserRole, 'add') == 'Yes') {
                 array_push($popConfigPermission, 'country');
             }
             if (sapp_Global::_checkprivileges(STATES, $loginUserGroup, $loginUserRole, 'add') == 'Yes') {
                 array_push($popConfigPermission, 'state');
             }
             if (sapp_Global::_checkprivileges(CITIES, $loginUserGroup, $loginUserRole, 'add') == 'Yes') {
                 array_push($popConfigPermission, 'city');
             }
             $this->view->popConfigPermission = $popConfigPermission;
             $userid = $this->getRequest()->getParam('userid');
             $employeeModal = new Default_Model_Employee();
             $workeligibilityform = new Default_Form_Workeligibilitydetails();
             $workeligibilityModel = new Default_Model_Workeligibilitydetails();
             $msgarray = array();
             $emptyFlag = 0;
             $issuingauthority = '';
             //To check previliges for edit
             $myEmployees_model = new Default_Model_Myemployees();
             $getMyTeamIds = $myEmployees_model->getTeamIds($loginUserId);
             $teamIdArr = array();
             if (!empty($getMyTeamIds)) {
                 foreach ($getMyTeamIds as $teamId) {
                     array_push($teamIdArr, $teamId['user_id']);
                 }
             }
             if ($loginUserRole == SUPERADMINROLE || $loginUserGroup == MANAGEMENT_GROUP || $loginUserGroup == HR_GROUP || $loginUserGroup == MANAGER_GROUP && in_array($userid, $teamIdArr)) {
                 try {
                     if ($userid && is_numeric($userid) && $userid > 0 && $userid != $loginUserId) {
                         $usersModel = new Default_Model_Users();
                         $empdata = $employeeModal->getActiveEmployeeData($userid);
                         $employeeData = $usersModel->getUserDetailsByIDandFlag($userid);
                         if ($empdata == 'norows') {
                             $this->view->rowexist = "norows";
                             $this->view->empdata = "";
                         } else {
                             $this->view->rowexist = "rows";
                             if (!empty($empdata)) {
                                 $countriesModel = new Default_Model_Countries();
                                 $statesmodel = new Default_Model_States();
                                 $citiesmodel = new Default_Model_Cities();
                                 $workeligibilityDoctypesModal = new Default_Model_Workeligibilitydoctypes();
                                 $workeligibilityDoctypesData = $workeligibilityDoctypesModal->fetchAll('isactive=1', 'documenttype');
                                 $workeligibilityDoctypesDataArr = $workeligibilityDoctypesData->toArray();
                                 if (!empty($workeligibilityDoctypesDataArr)) {
                                     foreach ($workeligibilityDoctypesDataArr as $data) {
                                         $workeligibilityform->documenttype_id->addMultiOption($data['id'], $data['documenttype']);
                                     }
                                 } else {
                                     $msgarray['documenttype_id'] = 'Work eligibility document types are not configured yet.';
                                     $emptyFlag++;
                                 }
                                 $countrieslistArr = $countriesModel->getTotalCountriesList();
                                 if (!empty($countrieslistArr)) {
                                     $workeligibilityform->issuingauth_country->addMultiOption('', 'Select Country');
                                     foreach ($countrieslistArr as $countrieslistres) {
                                         $workeligibilityform->issuingauth_country->addMultiOption($countrieslistres['id'], utf8_encode($countrieslistres['country_name']));
                                     }
                                 } else {
                                     $msgarray['issuingauth_country'] = 'Countries are not configured yet.';
                                 }
                                 $data = $workeligibilityModel->getWorkEligibilityRecord($userid);
                                 //echo "<pre>Work eligibility  Data ";print_r($data);echo "</pre>"; die;
                                 if (!empty($data) && isset($data)) {
                                     $countryId = $data[0]['issuingauth_country'];
                                     $stateId = $data[0]['issuingauth_state'];
                                     $cityId = $data[0]['issuingauth_city'];
                                     $documenttype_id = $data[0]['documenttype_id'];
                                     if ($countryId != '') {
                                         $statelistArr = $statesmodel->getStatesList($countryId);
                                         if (!empty($statelistArr)) {
                                             $workeligibilityform->issuingauth_state->addMultiOption('', 'Select State');
                                             foreach ($statelistArr as $statelistres) {
                                                 $workeligibilityform->issuingauth_state->addMultiOption($statelistres['id'] . '!@#' . $statelistres['state_name'], $statelistres['state_name']);
                                             }
                                         }
                                     }
                                     if ($stateId != '') {
                                         $citylistArr = $citiesmodel->getCitiesList($stateId);
                                         if (!empty($citylistArr)) {
                                             $workeligibilityform->issuingauth_city->addMultiOption('', 'Select City');
                                             foreach ($citylistArr as $cityPermlistres) {
                                                 $workeligibilityform->issuingauth_city->addMultiOption($cityPermlistres['id'] . '!@#' . $cityPermlistres['city_name'], $cityPermlistres['city_name']);
                                             }
                                         }
                                         $stateNameArr = $statesmodel->getStateName($stateId);
                                     }
                                     if ($cityId != '') {
                                         $cityNameArr = $citiesmodel->getCityName($cityId);
                                     }
                                     if ($documenttype_id != '') {
                                         $issuingauthorityArr = $workeligibilityDoctypesModal->getIssuingAuthority($documenttype_id);
                                     }
                                     if (!empty($issuingauthorityArr)) {
                                         $issuingauthority = $issuingauthorityArr[0]['issuingauthority'];
                                         $workeligibilityform->issuingauthflag->setValue($issuingauthority);
                                     }
                                     $workeligibilityform->setDefault("id", $data[0]["id"]);
                                     $workeligibilityform->setDefault("user_id", $data[0]["user_id"]);
                                     $workeligibilityform->setDefault('issuingauth_country', $data[0]['issuingauth_country']);
                                     if (!empty($stateNameArr)) {
                                         $workeligibilityform->setDefault('issuingauth_state', $stateNameArr[0]['id'] . '!@#' . $stateNameArr[0]['statename']);
                                     }
                                     if (!empty($cityNameArr)) {
                                         $workeligibilityform->setDefault('issuingauth_city', $cityNameArr[0]['id'] . '!@#' . $cityNameArr[0]['cityname']);
                                     }
                                     $workeligibilityform->setDefault("documenttype_id", $data[0]["documenttype_id"]);
                                     $workeligibilityform->setDefault("issuingauth_name", $data[0]["issuingauth_name"]);
                                     $workeligibilityform->setDefault("issuingauth_postalcode", $data[0]["issuingauth_postalcode"]);
                                     $issue_date = date(DATEFORMAT_PHP, strtotime($data[0]["doc_issue_date"]));
                                     $workeligibilityform->setDefault('doc_issue_date', $issue_date);
                                     $expiry_date = date(DATEFORMAT_PHP, strtotime($data[0]["doc_expiry_date"]));
                                     $workeligibilityform->setDefault('doc_expiry_date', $expiry_date);
                                 }
                                 $workeligibilityform->setAttrib('action', BASE_URL . 'workeligibilitydetails/edit/userid/' . $userid);
                                 $workeligibilityform->setDefault("user_id", $userid);
                                 $this->view->id = $userid;
                             }
                             $this->view->employeedata = $employeeData[0];
                             $this->view->form = $workeligibilityform;
                             $this->view->empdata = $empdata;
                             $this->view->msgarray = $msgarray;
                             $this->view->emptyFlag = $emptyFlag;
                             $this->view->issuingauthority = $issuingauthority;
                             $this->view->messages = $this->_helper->flashMessenger->getMessages();
                         }
                     } else {
                         $this->view->rowexist = "norows";
                     }
                 } catch (Exception $e) {
                     $this->view->rowexist = "norows";
                 }
                 if ($this->getRequest()->getPost()) {
                     $result = $this->save($workeligibilityform);
                     $result['issuingauthorityflag'] = $_POST['issuingauthflag'];
                     $this->view->msgarray = $result;
                 }
             } else {
                 $this->_redirect('error');
             }
         } else {
             $this->_redirect('error');
         }
     } else {
         $this->_redirect('error');
     }
 }
예제 #2
0
 public function workeligibilityAction()
 {
     if (defined('EMPTABCONFIGS')) {
         $empOrganizationTabs = explode(",", EMPTABCONFIGS);
         if (in_array('workeligibilitydetails', $empOrganizationTabs)) {
             $tabName = "workeligibility";
             $employeeData = array();
             $msgarray = array();
             $emptyFlag = 0;
             $issuingauthority = '';
             $auth = Zend_Auth::getInstance();
             if ($auth->hasIdentity()) {
                 $loginUserId = $auth->getStorage()->read()->id;
             }
             $userid = $loginUserId;
             $employeeModal = new Default_Model_Employee();
             $empdata = $employeeModal->getsingleEmployeeData($userid);
             if ($empdata == 'norows') {
                 $this->view->rowexist = "norows";
                 $this->view->empdata = "";
             } else {
                 $this->view->rowexist = "rows";
                 if (!empty($empdata)) {
                     $workeligibilityform = new Default_Form_Workeligibilitydetails();
                     $workeligibilityModel = new Default_Model_Workeligibilitydetails();
                     $workeligibilityDoctypesModal = new Default_Model_Workeligibilitydoctypes();
                     //fetchAll($where = null, $order = null, $count = null, $offset = null) function syntax...
                     $workeligibilityDoctypesData = $workeligibilityDoctypesModal->fetchAll('isactive=1', 'documenttype');
                     $workeligibilityDoctypesDataArr = $workeligibilityDoctypesData->toArray();
                     if (!empty($workeligibilityDoctypesDataArr)) {
                         foreach ($workeligibilityDoctypesDataArr as $data) {
                             $workeligibilityform->documenttype_id->addMultiOption($data['id'], $data['documenttype']);
                         }
                     } else {
                         $msgarray['documenttype_id'] = 'Work eligibility document types are not configured yet.';
                         $emptyFlag++;
                     }
                     if ($userid) {
                         $countriesModel = new Default_Model_Countries();
                         $statesmodel = new Default_Model_States();
                         $citiesmodel = new Default_Model_Cities();
                         $countrieslistArr = $countriesModel->getTotalCountriesList();
                         if (sizeof($countrieslistArr) > 0) {
                             $workeligibilityform->issuingauth_country->addMultiOption('', 'Select Country');
                             foreach ($countrieslistArr as $countrieslistres) {
                                 $workeligibilityform->issuingauth_country->addMultiOption($countrieslistres['id'], utf8_encode($countrieslistres['country_name']));
                             }
                         } else {
                             $msgarray['issuingauth_country'] = 'Countries are not configured yet.';
                             $emptyFlag++;
                         }
                         $data = $workeligibilityModel->getWorkEligibilityRecord($userid);
                         if (!empty($data) && isset($data)) {
                             $countryId = $data[0]['issuingauth_country'];
                             $stateId = $data[0]['issuingauth_state'];
                             $cityId = $data[0]['issuingauth_city'];
                             $documenttype_id = $data[0]['documenttype_id'];
                             //Populating states & cities Drop down......... from tbl_states & tbl_cities
                             if ($countryId != '') {
                                 $statelistArr = $statesmodel->getStatesList($countryId);
                                 if (sizeof($statelistArr) > 0) {
                                     $workeligibilityform->issuingauth_state->addMultiOption('', 'Select State');
                                     foreach ($statelistArr as $statelistres) {
                                         $workeligibilityform->issuingauth_state->addMultiOption($statelistres['id'] . '!@#' . $statelistres['state_name'], $statelistres['state_name']);
                                     }
                                 }
                             }
                             if ($stateId != '') {
                                 $citylistArr = $citiesmodel->getCitiesList($stateId);
                                 if (sizeof($citylistArr) > 0) {
                                     $workeligibilityform->issuingauth_city->addMultiOption('', 'Select City');
                                     foreach ($citylistArr as $cityPermlistres) {
                                         $workeligibilityform->issuingauth_city->addMultiOption($cityPermlistres['id'] . '!@#' . $cityPermlistres['city_name'], $cityPermlistres['city_name']);
                                     }
                                 }
                                 $stateNameArr = $statesmodel->getStateName($stateId);
                             }
                             if ($cityId != '') {
                                 $cityNameArr = $citiesmodel->getCityName($cityId);
                             }
                             if ($documenttype_id != '') {
                                 $issuingauthorityArr = $workeligibilityDoctypesModal->getIssuingAuthority($documenttype_id);
                             }
                             if (!empty($issuingauthorityArr)) {
                                 $issuingauthority = $issuingauthorityArr[0]['issuingauthority'];
                                 $workeligibilityform->issuingauthflag->setValue($issuingauthority);
                             }
                             $workeligibilityform->setDefault("id", $data[0]["id"]);
                             $workeligibilityform->setDefault("user_id", $data[0]["user_id"]);
                             $workeligibilityform->setDefault('issuingauth_country', $data[0]['issuingauth_country']);
                             if (!empty($stateNameArr)) {
                                 $workeligibilityform->setDefault('issuingauth_state', $stateNameArr[0]['id'] . '!@#' . $stateNameArr[0]['statename']);
                             }
                             if (!empty($cityNameArr)) {
                                 $workeligibilityform->setDefault('issuingauth_city', $cityNameArr[0]['id'] . '!@#' . $cityNameArr[0]['cityname']);
                             }
                             $workeligibilityform->setDefault("documenttype_id", $data[0]["documenttype_id"]);
                             $workeligibilityform->setDefault("issuingauth_name", $data[0]["issuingauth_name"]);
                             $workeligibilityform->setDefault("issuingauth_postalcode", $data[0]["issuingauth_postalcode"]);
                             $issue_date = sapp_Global::change_date($data[0]["doc_issue_date"], 'view');
                             $workeligibilityform->setDefault('doc_issue_date', $issue_date);
                             $expiry_date = sapp_Global::change_date($data[0]["doc_expiry_date"], 'view');
                             $workeligibilityform->setDefault('doc_expiry_date', $expiry_date);
                         }
                         $workeligibilityform->setAttrib('action', DOMAIN . 'mydetails/workeligibility');
                         $this->view->id = $userid;
                         $this->view->data = $data;
                         $this->view->form = $workeligibilityform;
                         $this->view->issuingauthority = $issuingauthority;
                         $this->view->msgarray = $msgarray;
                     }
                     if ($this->getRequest()->getPost()) {
                         $documenttype_id = $this->_request->getParam('documenttype_id');
                         if ($documenttype_id != '') {
                             $issuingauthorityArr = $workeligibilityDoctypesModal->getIssuingAuthority($documenttype_id);
                         }
                         if (!empty($issuingauthorityArr)) {
                             $issuingauthority = $issuingauthorityArr[0]['issuingauthority'];
                             if ($issuingauthority == 2) {
                                 $workeligibilityform->issuingauth_state->setRequired(true)->addErrorMessage('Please select a state.');
                                 $workeligibilityform->issuingauth_state->addValidator('NotEmpty', false, array('messages' => 'Please select a state.'));
                             } else {
                                 if ($issuingauthority == 3) {
                                     $workeligibilityform->issuingauth_state->setRequired(true)->addErrorMessage('Please select a state.');
                                     $workeligibilityform->issuingauth_state->addValidator('NotEmpty', false, array('messages' => 'Please select a state.'));
                                     $workeligibilityform->issuingauth_city->setRequired(true)->addErrorMessage('Please select a city.');
                                     $workeligibilityform->issuingauth_city->addValidator('NotEmpty', false, array('messages' => 'Please select a city.'));
                                 }
                             }
                         }
                         $result = $this->save($workeligibilityform, $tabName);
                         $result['issuingauthorityflag'] = $_POST['issuingauthflag'];
                         $this->view->msgarray = $result;
                     }
                 }
                 $this->view->empdata = $empdata;
                 $this->view->emptyFlag = $emptyFlag;
                 $this->view->messages = $this->_helper->flashMessenger->getMessages();
             }
         } else {
             $this->_redirect('error');
         }
     } else {
         $this->_redirect('error');
     }
 }