/** * This action is used for adding/updating data. * @parameters * @param $id = id of users (optional) * * @return Zend_Form. */ public function editAction() { $popConfigPermission = array(); $user_model = new Default_Model_Usermanagement(); $role_model = new Default_Model_Roles(); $identity_code_model = new Default_Model_Identitycodes(); $identity_codes = $identity_code_model->getIdentitycodesRecord(); $identity_codes = isset($identity_codes[0]) ? $identity_codes[0] : array(); $id = $this->getRequest()->getParam('id', null); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $login_group_id = $auth->getStorage()->read()->group_id; $login_role_id = $auth->getStorage()->read()->emprole; } if (sapp_Global::_checkprivileges(IDENTITYCODES, $login_group_id, $login_role_id, 'edit') == 'Yes') { array_push($popConfigPermission, 'identitycodes'); } $this->view->popConfigPermission = $popConfigPermission; $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $form = new Default_Form_Usermanagement(); $err_messages = array(); $roles_arr = $role_model->getRolesListForUsers(''); $form->emprole->addMultiOptions(array('' => 'Select Role') + $roles_arr); $emp_identity_code = isset($identity_codes['backgroundagency_code']) ? $identity_codes['backgroundagency_code'] : ""; $identity_arr = array(); if ($emp_identity_code != '') { $identity_arr = array($identity_codes['users_code'] => "Users (" . $identity_codes['users_code'] . ")"); } else { $emp_id = ''; } $form->employeeId->addMultiOptions($identity_arr); if ($id != '' && $id > 0) { try { $id = (int) $id; $id = abs($id); $form->submit->setLabel('Update'); $data = $user_model->getUserDataById($id); if (count($data) > 0) { if ($data['jobtitle_id'] != '') { $this->_redirect('/employee/edit/id/' . $id); } $role_data = $role_model->getRoleDataById($data['emprole']); $data['emplockeddate'] = sapp_Global::change_date($data['emplockeddate'], 'view'); $form->populate($data); $this->view->data = $data; //$id_arr = preg_split('/-/', $data['employeeId']); $id_arr = preg_split('/(?=\\d)/', $data['employeeId'], 2); $identity_arr[$identity_codes['backgroundagency_code']] = "Background Agency (" . $identity_codes['backgroundagency_code'] . ")"; if (isset($identity_arr[$id_arr[0]]) && !empty($identity_arr[$id_arr[0]])) { $empIDSetVal = $identity_arr[$id_arr[0]]; } else { $empIDSetVal = ''; } $form->employeeId->setValue($empIDSetVal); if ($role_data['group_id'] == USERS_GROUP) { $form->emprole->clearMultiOptions(); $roles_arr = $role_model->getRolesListForUsers($id, $empIDSetVal); $form->emprole->addMultiOptions(array('' => 'Select Role') + $roles_arr); } } else { $this->view->nodata = "nodata"; } } catch (Exception $e) { $this->view->nodata = "nodata"; } } else { if ($id == '') { } else { echo $this->view->nodata = "nodata"; } } if ($id == '') { if ($emp_identity_code == '') { $err_messages['employeeId'] = "Identity codes are not configured yet."; } if (count($roles_arr) == 0) { $err_messages['emprole'] = "Roles are not added yet."; } } $this->view->messages = $err_messages; $this->view->form = $form; }