public function init() { $this->setMethod('post'); $this->setAttrib('action', DOMAIN . 'reports/userlogreport'); $this->setAttrib('id', 'logreport'); $this->setAttrib('name', 'logreport'); $emprole = new Zend_Form_Element_Select('emp_role'); $emprole->setLabel('Employee Role'); $emprole->setAttrib('onchange', 'changeelement(this)'); $roleModel = new Default_Model_Roles(); $roleList = $roleModel->getRolesList_USERLOG(); $emprole->addMultiOption('', 'Select Employee Role'); foreach ($roleList as $roleid => $rolename) { $emprole->addMultiOption($roleid, $rolename); } $group = new Zend_Form_Element_Select('group'); $group->setLabel('Group'); $group->setAttrib('onchange', 'changeelement(this)'); $groupModel = new Default_Model_Groups(); $groupList = $groupModel->getGroupList(); $group->addMultiOption('', 'Select Group'); foreach ($groupList as $groupid => $groupname) { $group->addMultiOption($groupid, $groupname); } $employeeId = new Zend_Form_Element_Text('employeeIdf'); $employeeId->setAttrib('onblur', 'clearautocompleteuserlog(this)'); $employeeId->addFilter(new Zend_Filter_StringTrim()); $employeeId->setLabel("Employee ID"); $username = new Zend_Form_Element_Text('username'); $username->setAttrib('class', 'formelement'); $username->setAttrib('onblur', 'clearautocompleteuserlog(this)'); $username->addFilter(new Zend_Filter_StringTrim()); $username->setLabel("User Name"); $emailId = new Zend_Form_Element_Text('emailId'); $emailId->setAttrib('onblur', 'clearautocompleteuserlog(this)'); $emailId->addFilter(new Zend_Filter_StringTrim()); $emailId->setLabel("Email"); $logindate = new ZendX_JQuery_Form_Element_DatePicker('logindate'); $logindate->setAttrib('onblur', 'blurelement(this)'); $logindate->setLabel("Login Date"); $logindate->setAttrib('readonly', 'true'); $logindate->setAttrib('onfocus', 'this.blur()'); $logindate->setOptions(array('class' => 'brdr_none')); $ipaddress = new Zend_Form_Element_Text('ipaddress'); $ipaddress->setAttrib('onblur', 'clearautocompleteuserlog(this)'); $ipaddress->addFilter(new Zend_Filter_StringTrim()); $ipaddress->setLabel("Ip Address"); $this->addElements(array($emprole, $group, $employeeId, $username, $emailId, $logindate, $ipaddress)); $this->setElementDecorators(array('ViewHelper')); $this->setElementDecorators(array('UiWidgetElement'), array('logindate')); }
/** * This function gives all content for grid view. * @parameters * @param $sort = ascending or descending * @param $by = name of field which to be sort * @param $pageNo = page number * @param $perPage = no.of records per page * @param $searchData = search string * @param $call = type of call like ajax. * @return Array; */ public function getUserLoginLogGrid($sort, $by, $perPage, $pageNo, $searchData, $call, $p1, $p2, $p3, $p4, $p5) { $group_model = new Default_Model_Groups(); $role_model = new Default_Model_Roles(); $user_model = new Default_Model_Users(); $searchQuery = ''; $searchArray = array(); $data = array(); if ($searchData != '' && $searchData != 'undefined') { $searchValues = json_decode($searchData); if (count($searchValues) > 0) { foreach ($searchValues as $key => $val) { if ($key == 'userfullname' || $key == 'employeeId' || $key == 'emailaddress' || $key == 'empipaddress') { $searchQuery .= " r." . $key . " like '%" . $val . "%' AND "; } else { if ($key == 'logindatetime') { $searchQuery .= " " . $key . " like '%" . sapp_Global::change_date(urldecode($val), 'database') . "%' AND "; } else { if ($key == 'rolename') { $searchQuery .= " ro." . $key . " like '%" . $val . "%' AND "; } else { $searchQuery .= " " . $key . " like '%" . $val . "%' AND "; } } } $searchArray[$key] = $val; } $searchQuery = rtrim($searchQuery, " AND"); } } $objName = 'userloginlog'; $tableFields = array('action' => 'Action', 'userfullname' => 'User', 'profileimg' => 'Profile', 'employeeId' => 'Employee ID', 'group_name' => 'Group', 'rolename' => 'Role', 'emailaddress' => 'Email', 'logindatetime' => 'Login Time', 'empipaddress' => 'Ip Address'); $tablecontent = $this->getUserLoginLogData($sort, $by, $pageNo, $perPage, $searchQuery); $group_data = $group_model->getGroupsListForUserLoginLog(); $group_arr = array(); foreach ($group_data as $gkey => $gdata) { $group_arr[$gdata['group_name']] = $gdata['group_name']; } $role_data = $role_model->getRoleListForUserLoginLog(); $role_arr = array(); foreach ($role_data as $gkey => $gdata) { $role_arr[$gdata['rolename']] = $gdata['rolename']; } $dataTmp = array('sort' => $sort, 'by' => $by, 'pageNo' => $pageNo, 'perPage' => $perPage, 'tablecontent' => $tablecontent, 'objectname' => $objName, 'menuName' => 'User log', 'extra' => array(), 'tableheader' => $tableFields, 'jsGridFnName' => 'getAjaxgridData', 'jsFillFnName' => '', 'searchArray' => $searchArray, 'call' => $call, 'search_filters' => array('group_name' => array('type' => 'select', 'filter_data' => array('' => 'All') + $group_arr), 'rolename' => array('type' => 'select', 'filter_data' => array('' => 'All') + $role_arr), 'logindatetime' => array('type' => 'datepicker'))); return $dataTmp; }
/** * * Show analytics of employees reporting to manager */ public function employeereportAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } if ($loginuserGroup == MANAGER_GROUP || $loginuserGroup == MANAGEMENT_GROUP || $loginuserRole == SUPERADMINROLE) { $norec_arr = array(); $form = new Default_Form_Employeereport(); $requi_model = new Default_Model_Requisition(); $employmentstatusModel = new Default_Model_Employmentstatus(); $role_model = new Default_Model_Roles(); $departmentsmodel = new Default_Model_Departments(); $bu_model = new Default_Model_Businessunits(); $roles_arr = $role_model->getRolesList_EMP(); $job_data = $requi_model->getJobTitleList(); $employmentStatusData = $employmentstatusModel->getempstatuslist(); if (count($job_data) == 0) { $norec_arr['jobtitle_id'] = "Job titles are not configured yet."; $norec_arr['position_id'] = "Positions are not configured yet."; } if (count($employmentStatusData) == 0) { $norec_arr['emp_status_id'] = "Employment status is not configured yet."; } $form->jobtitle_id->addMultiOptions(array('' => 'Select Job Title') + $job_data); if (count($employmentStatusData) > 0) { $form->emp_status_id->addMultiOption('', 'Select Employment Status'); foreach ($employmentStatusData as $employmentStatusres) { $form->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); } } if (sizeof($roles_arr) > 0) { $form->emprole->addMultiOptions(array('' => 'Select Role') + $roles_arr); } else { $norec_arr['emprole'] = 'Roles are not added yet.'; } $bu_arr = $bu_model->getBU_report(); if (!empty($bu_arr)) { foreach ($bu_arr as $bu) { $form->businessunit_id->addMultiOption($bu['id'], utf8_encode($bu['bu_name'])); } } else { $norec_arr['businessunit_id'] = 'Business Units are not added yet.'; } // Show count of employees reporting to manager // Get employees data reporting to manager $myEmployees_model = new Default_Model_Myemployees(); $employee_model = new Default_Model_Employee(); //$this->_helper->layout->setLayout("analyticslayout"); $this->view->count_emp_reporting = $employee_model->getCountEmpReporting($myEmployees_model->getLoginUserId()); $this->view->form = $form; $this->view->messages = $norec_arr; $this->view->ermsg = ''; } else { $this->render('error/error.phtml'); } }
/** * This function is used to create access control dynamically. */ public static function generateAccessControl() { //$filename = Zend_Registry::get('acess_file_path'); $filename = ACCESS_CONTROL_PATH . SEPARATOR . "application" . SEPARATOR . "modules" . SEPARATOR . "default" . SEPARATOR . "plugins" . SEPARATOR . "AccessControl.php"; $menu_model = new Default_Model_Menu(); $role_model = new Default_Model_Roles(); $storage = new Zend_Auth_Storage_Session(); $data = $storage->read(); $controllers = $menu_model->getControllersByRole('1'); $roles_arr = $role_model->getRoleTypesForAccess(); $acl = self::generateAccessControl_helper($controllers, '1'); $role_str = ""; $role_str1 = ""; foreach ($roles_arr as $role_id => $roles) { $role_str .= "else if(\$role == " . $role_id . ")\n\t \$role = '" . $roles['roletype'] . "';\n\t"; $role_str1 .= "\n\t \$acl->addRole('" . $roles['roletype'] . "');"; } $acl_str = self::generateAccessControl_helper1($acl, $controllers, 'admin'); $acl_str .= self::generateAccessControl_helper5('', SUPERADMINROLE, 'admin'); $rcontent_roles = self::generateAccessControl_helper2($roles_arr, $menu_model); $time_management_str = self::generateAccessControl_helper6($roles_arr); $access_content = "<?php\nclass Default_Plugin_AccessControl extends Zend_Controller_Plugin_Abstract\n{\n private \$_acl,\$id_param;\n \n public function preDispatch(Zend_Controller_Request_Abstract \$request)\n {\n\t\$storage = new Zend_Auth_Storage_Session();\n\t\$data = \$storage->read();\n\t\$role = \$data['emprole'];\n\tif(\$role == 1)\n\t\t\$role = 'admin';\n\t" . $role_str . "\n \t\$request->getModuleName();\n \$request->getControllerName();\n \$request->getActionName();\n \t\n \n \$module = \$request->getModuleName();\n\t\$resource = \$request->getControllerName();\n\t\$privilege = \$request->getActionName();\n\t\$this->id_param = \$request->getParam('id');\n\t\$allowed = false;\n \$acl = \$this->_getAcl();\n\t\$moduleResource = \"\$module:\$resource\";\n\t\n\tif(\$resource == 'profile')\n \$role = 'viewer';\n\t\t\n\tif(\$resource == 'services')\n \$role = 'services';\n\t\t\n\tif(\$role != '') \n {\n if (\$acl->has(\$moduleResource)) \n {\t\t\t\t\t\t\n \$allowed = \$acl->isAllowed(\$role, \$moduleResource, \$privilege);\t\n\t\t\t \t \n }\t \n if (!\$allowed)// && \$role !='admin') \n {\t\t\t\t\n \$request->setControllerName('error');\n\t \$request->setActionName('error');\n }\n\t}\n }\n \nprotected function _getAcl()\n{\n if (\$this->_acl == null ) \n {\n\t \$acl = new Zend_Acl();\n\n\t \$acl->addRole('admin'); \n\t \$acl->addRole('viewer'); \n\t " . $role_str1 . "\n\t \$storage = new Zend_Auth_Storage_Session();\n\t \$data = \$storage->read();\n\t \$role = \$data['emprole'];\n\t\t" . $time_management_str . "\n\t \$acl->addResource(new Zend_Acl_Resource('login:index'));\t\n\t \$acl->allow('viewer', 'login:index', array('index','confirmlink','forgotpassword','forgotsuccess','login','pass','browserfailure','forcelogout','useractivation'));\n\n\t if(\$role == 1 ) \n\t {\t\t\t\t \t\t \t\n\t\t\t " . $acl_str . "\t\t\t \t\t \t \t\t\t\t \n\t } \n\t " . $rcontent_roles . "\n\n // setup acl in the registry for more\n Zend_Registry::set('acl', \$acl);\n \$this->_acl = \$acl;\n }\n return \$this->_acl;\n}\n }\n \n ?>"; $handle = fopen($filename, "w+"); if (fwrite($handle, $access_content)) { fclose($handle); } else { throw new Exception('file permission'); } }
public function editAction() { $auth = Zend_Auth::getInstance(); $role_datap = array(); $empGroup = ""; 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; } $id = (int) $this->getRequest()->getParam('id'); $id = abs($id); if ($id == '') { $id = $loginUserId; } $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $employeeform = new Default_Form_Myteamemployee(); try { if ($id != '' && is_numeric($id) && $id > 0 && $id != $loginUserId) { $employeeModal = new Default_Model_Employee(); $usersModel = new Default_Model_Users(); $employmentstatusModel = new Default_Model_Employmentstatus(); $busineesUnitModel = new Default_Model_Businessunits(); $deptModel = new Default_Model_Departments(); $role_model = new Default_Model_Roles(); $user_model = new Default_Model_Usermanagement(); $candidate_model = new Default_Model_Candidatedetails(); $jobtitlesModel = new Default_Model_Jobtitles(); $positionsmodel = new Default_Model_Positions(); $prefixModel = new Default_Model_Prefix(); $data = array(); $empDeptId = ""; $empRoleId = ""; $data = $employeeModal->getsingleEmployeeData($id); if ($data == 'norows') { $this->view->rowexist = "norows"; } else { if (!empty($data)) { $this->view->rowexist = "rows"; $employeeform->submit->setLabel('Update'); $data = $data[0]; /* Earlier code to fetch employee details */ $employeeData = $employeeModal->getsingleEmployeeData($id); $roles_arr = $role_model->getRolesListByGroupID(EMPLOYEE_GROUP); if (sizeof($roles_arr) > 0) { $employeeform->emprole->addMultiOptions(array('' => 'Select Role') + $roles_arr); } $employmentStatusData = $employmentstatusModel->getempstatuslist(); if (sizeof($employmentStatusData) > 0) { $employeeform->emp_status_id->addMultiOption('', 'Select Employment Status'); foreach ($employmentStatusData as $employmentStatusres) { $employeeform->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); } } $businessunitData = $busineesUnitModel->getDeparmentList(); if (sizeof($businessunitData) > 0) { foreach ($businessunitData as $businessunitres) { if ($businessunitres['id'] == $loginuserUnitID) { $employeeform->businessunit_id->addMultiOption($businessunitres['id'], $businessunitres['unitname']); } } } $departmentsData = $deptModel->getDepartmentList($data['businessunit_id']); if (sizeof($departmentsData) > 0) { foreach ($departmentsData as $departmentsres) { if ($departmentsres['id'] == $loginuserDeptID) { $employeeform->department_id->addMultiOption($departmentsres['id'], $departmentsres['deptname']); } } } $jobtitleData = $jobtitlesModel->getJobTitleList(); if (sizeof($jobtitleData) > 0) { $employeeform->jobtitle_id->addMultiOption('', 'Select Job Title'); foreach ($jobtitleData as $jobtitleres) { $employeeform->jobtitle_id->addMultiOption($jobtitleres['id'], $jobtitleres['jobtitlename']); } } $positionlistArr = $positionsmodel->getPositionList($data['jobtitle_id']); if (sizeof($positionlistArr) > 0) { $employeeform->position_id->addMultiOption('', 'Select Position'); foreach ($positionlistArr as $positionlistres) { $employeeform->position_id->addMultiOption($positionlistres['id'], $positionlistres['positionname']); } } $prefixData = $prefixModel->getPrefixList(); if (!empty($prefixData)) { foreach ($prefixData as $prefixres) { $employeeform->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']); } } $userData = $usersModel->getUserDetails($loginUserId); if (count($userData) > 0) { $employeeform->reporting_manager->addMultiOption($userData[0]['id'], $userData[0]['userfullname']); } $employeeform->populate($data); $employeeform->setDefault('user_id', $data['user_id']); $employeeform->setDefault('emp_status_id', $data['emp_status_id']); $employeeform->setDefault('businessunit_id', $data['businessunit_id']); $employeeform->setDefault('jobtitle_id', $data['jobtitle_id']); $employeeform->setDefault('department_id', $data['department_id']); $employeeform->setDefault('position_id', $data['position_id']); $employeeform->setDefault('prefix_id', $data['prefix_id']); $date_of_joining = sapp_Global::change_date($data['date_of_joining'], 'view'); $employeeform->date_of_joining->setValue($date_of_joining); if ($data['date_of_leaving'] != '' && $data['date_of_leaving'] != '0000-00-00') { $date_of_leaving = sapp_Global::change_date($data['date_of_leaving'], 'view'); $employeeform->date_of_leaving->setValue($date_of_leaving); } $role_data = $role_model->getRoleDataById($data['emprole']); $employeeform->emprole->setValue($data['emprole'] . "_" . $role_data['group_id']); $employeeform->setAttrib('action', DOMAIN . 'myemployees/edit/id/' . $id); $this->view->id = $id; $this->view->form = $employeeform; $this->view->employeedata = !empty($employeeData) ? $employeeData[0] : ""; $this->view->messages = $this->_helper->flashMessenger->getMessages(); $this->view->data = $data; } } } else { $this->view->rowexist = "norows"; } if ($this->getRequest()->getPost()) { $result = $this->save($employeeform); $this->view->msgarray = $result; $employeeform->modeofentry->setValue($data['modeofentry']); } } catch (Exception $e) { $this->view->rowexist = "norows"; } }
public function indexAction() { $editPrivilege = ""; $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $loginUserId; $data = array(); $tabName = "employee"; $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $employeeform = new Default_Form_employee(); try { if ($id != '' && $id > 0) { $employeeModal = new Default_Model_Employee(); $usersModel = new Default_Model_Users(); $employmentstatusModel = new Default_Model_Employmentstatus(); $busineesUnitModel = new Default_Model_Businessunits(); $deptModel = new Default_Model_Departments(); $role_model = new Default_Model_Roles(); $user_model = new Default_Model_Usermanagement(); $candidate_model = new Default_Model_Candidatedetails(); $jobtitlesModel = new Default_Model_Jobtitles(); $positionsmodel = new Default_Model_Positions(); $prefix_model = new Default_Model_Prefix(); $data = $employeeModal->getsingleEmployeeData($id); if ($data == 'norows') { $this->view->rowexist = "norows"; $this->view->empdata = ""; } else { if (!empty($data)) { $this->view->rowexist = "rows"; $this->view->empdata = $data; $elements = $employeeform->getElements(); if (count($elements) > 0) { foreach ($elements as $key => $element) { if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") { $element->setAttrib("disabled", "disabled"); } } } $employeeform->removeElement("submit"); $data = $data[0]; if ($loginUserId == SUPERADMIN) { //If login user is superAdmin..... role is 'Super Admin'. $employeeform->emprole->addMultiOption('superAdmin', 'Super Admin'); } else { $roles_arr = $role_model->getRolesDataByID($data['emprole']); if (sizeof($roles_arr) > 0) { $employeeform->emprole->addMultiOption($roles_arr[0]['id'] . '_' . $roles_arr[0]['group_id'], utf8_encode($roles_arr[0]['rolename'])); } } $prefix_data = $prefix_model->getsinglePrefixData($data['prefix_id']); if ($prefix_data != 'norows') { $prefix_data = $prefix_data[0]; $employeeform->prefix_id->addMultiOption($prefix_data['id'], $prefix_data['prefix']); } $referedby_options = $user_model->getRefferedByForUsers(); /* Code for reporting manager dropdown */ $reportingManagerData = $usersModel->getUserDetailsByID($data['reporting_manager']); if (!empty($reportingManagerData)) { $employeeform->reporting_manager->addMultiOption($reportingManagerData[0]['id'], $reportingManagerData[0]['userfullname']); } $employmentStatusData = $employmentstatusModel->getempstatuslist(); if (sizeof($employmentStatusData) > 0) { $employeeform->emp_status_id->addMultiOption('', 'Select a Employment Status'); foreach ($employmentStatusData as $employmentStatusres) { $employeeform->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); } } $businessunitData = $busineesUnitModel->getDeparmentList(); if (sizeof($businessunitData) > 0) { $employeeform->businessunit_id->addMultiOption('0', 'No Business Unit'); foreach ($businessunitData as $businessunitres) { $employeeform->businessunit_id->addMultiOption($businessunitres['id'], $businessunitres['unitname']); } } $departmentsData = $deptModel->getDepartmentList($data['businessunit_id']); if (sizeof($departmentsData) > 0) { $employeeform->department_id->addMultiOption('', 'Select a Department'); foreach ($departmentsData as $departmentsres) { $employeeform->department_id->addMultiOption($departmentsres['id'], $departmentsres['deptname']); } } $jobtitleData = $jobtitlesModel->getJobTitleList(); if (sizeof($jobtitleData) > 0) { $employeeform->jobtitle_id->addMultiOption('', 'Select a Job Title'); foreach ($jobtitleData as $jobtitleres) { $employeeform->jobtitle_id->addMultiOption($jobtitleres['id'], $jobtitleres['jobtitlename']); } } $positionlistArr = $positionsmodel->getPositionList($data['jobtitle_id']); if (sizeof($positionlistArr) > 0) { $employeeform->position_id->addMultiOption('', 'Select a Position'); foreach ($positionlistArr as $positionlistres) { $employeeform->position_id->addMultiOption($positionlistres['id'], $positionlistres['positionname']); } } $employeeform->populate($data); $employeeform->setDefault('user_id', $data['user_id']); $employeeform->setDefault('emp_status_id', $data['emp_status_id']); $employeeform->setDefault('businessunit_id', $data['businessunit_id']); $employeeform->setDefault('jobtitle_id', $data['jobtitle_id']); $employeeform->setDefault('department_id', $data['department_id']); $employeeform->setDefault('position_id', $data['position_id']); if ($data['date_of_joining'] != '' && $data['date_of_joining'] != '0000-00-00') { $date_of_joining = sapp_Global::change_date($data['date_of_joining'], 'view'); $employeeform->date_of_joining->setValue($date_of_joining); } if ($data['date_of_leaving'] != '' && $data['date_of_leaving'] != '0000-00-00') { $date_of_leaving = sapp_Global::change_date($data['date_of_leaving'], 'view'); $employeeform->date_of_leaving->setValue($date_of_leaving); } if ($data['modeofentry'] != 'Direct') { $employeeform->rccandidatename->setValue($data['userfullname']); } if (sizeof($referedby_options) > 0 && $data['candidatereferredby'] != '' && $data['candidatereferredby'] != 0) { $employeeform->candidatereferredby->setValue($referedby_options[$data['candidatereferredby']]); } $employeeform->setAttrib('action', DOMAIN . 'mydetails/edit/'); $this->view->id = $id; $this->view->form = $employeeform; $this->view->employeedata = !empty($data) ? $data : ""; $this->view->messages = $this->_helper->flashMessenger->getMessages(); $this->view->empdata = $data; $this->view->editPrivilege = $this->mydetailsobjPrivileges; } } } else { $this->view->rowexist = "norows"; } } catch (Exception $e) { $this->view->rowexist = "norows"; } if ($this->getRequest()->getPost()) { $result = $this->save($employeeform, $tabName); $this->view->msgarray = $result; } }
public function addemppopupAction() { $flag = 'true'; $controllername = 'employee'; $msgarray = array(); $emptyFlag = 0; Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/"); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $deptidforhead = $this->_getParam('deptidforhead', null); $report_opt = array(); $emp_form = new Default_Form_employee(); $user_model = new Default_Model_Usermanagement(); $role_model = new Default_Model_Roles(); $prefixModel = new Default_Model_Prefix(); $identity_code_model = new Default_Model_Identitycodes(); $jobtitlesModel = new Default_Model_Jobtitles(); $deptModel = new Default_Model_Departments(); $positionsmodel = new Default_Model_Positions(); $employeeModal = new Default_Model_Employee(); $usersModel2 = new Default_Model_Users(); $employmentstatusModel = new Default_Model_Employmentstatus(); $emp_form->setAction(BASE_URL . 'employee/addemppopup/deptidforhead/' . $deptidforhead); $emp_form->removeElement('department_id'); $emp_form->removeElement('modeofentry'); $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.'; $flag = 'false'; } $emp_form->employeeId->setValue($emp_id); $role_data = $role_model->getRolesList_Dept(); $emp_form->emprole->addMultiOptions(array('' => 'Select Role') + $role_data); if (empty($role_data)) { $msgarray['emprole'] = 'Roles are not configured yet.'; $flag = 'false'; } $prefixData = $prefixModel->getPrefixList(); $emp_form->prefix_id->addMultiOption('', 'Select Prefix'); if (!empty($prefixData)) { foreach ($prefixData as $prefixres) { $emp_form->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']); } } else { $msgarray['prefix_id'] = 'Prefixes are not configured yet.'; //$flag = 'false'; } $jobtitleData = $jobtitlesModel->getJobTitleList(); if (!empty($jobtitleData)) { foreach ($jobtitleData as $jobtitleres) { $emp_form->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.'; //$flag = 'false'; } if (isset($_POST['jobtitle_id']) && $_POST['jobtitle_id'] != '') { $positionlistArr = $positionsmodel->getPositionList($_POST['jobtitle_id']); if (sizeof($positionlistArr) > 0) { $emp_form->position_id->addMultiOption('', 'Select Position'); foreach ($positionlistArr as $positionlistres) { $emp_form->position_id->addMultiOption($positionlistres['id'], $positionlistres['positionname']); } } } $employmentStatusData = $employmentstatusModel->getempstatusActivelist(); $emp_form->emp_status_id->addMultiOption('', 'Select Employment Status'); if (!empty($employmentStatusData)) { foreach ($employmentStatusData as $employmentStatusres) { $emp_form->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); } } else { $msgarray['emp_status_id'] = 'Employment status is not configured yet.'; $emptyFlag++; } $reportingManagerData = $usersModel2->getReportingManagerList_employees('', '', MANAGEMENT_GROUP); if (!empty($reportingManagerData)) { $report_opt = $reportingManagerData; if (isset($_POST['reporting_manager']) && $_POST['reporting_manager'] != '') { $emp_form->setDefault('reporting_manager', $_POST['reporting_manager']); } } else { $msgarray['reporting_manager'] = 'Reporting managers are not added yet.'; $flag = 'false'; } if ($this->getRequest()->getPost()) { if ($emp_form->isValid($this->_request->getPost()) && $flag == 'true') { $jobtitle_id = $this->_request->getParam('jobtitle_id', null); $position_id = $this->_request->getParam('position_id', null); $date_of_joining = sapp_Global::change_date($this->_request->getParam('date_of_joining', null), 'database'); $date_of_leaving = $this->_request->getParam('date_of_leaving', null); $date_of_leaving = sapp_Global::change_date($date_of_leaving, 'database'); $employeeId = $this->_getParam('employeeId', null); $emprole = $this->_getParam('emprole', null); $reporting_manager = $this->_getParam('reporting_manager', null); $emailaddress = $this->_getParam('emailaddress', null); $emppassword = sapp_Global::generatePassword(); $firstname = trim($this->_getParam('firstname', null)); $lastname = trim($this->_getParam('lastname', null)); $userfullname = $firstname . ' ' . $lastname; //$userfullname = trim($this->_request->getParam('userfullname',null)); $prefix_id = $this->_getParam('prefix_id', null); $user_id = $this->_getParam('user_id', null); $emp_status_id = $this->_getParam('emp_status_id', null); $user_data = array('emprole' => $emprole, 'firstname' => $firstname != '' ? $firstname : NULL, 'lastname' => $lastname != '' ? $lastname : NULL, 'userfullname' => $userfullname, 'emailaddress' => $emailaddress, 'jobtitle_id' => $jobtitle_id, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'emppassword' => md5($emppassword), 'employeeId' => $employeeId, 'modeofentry' => 'Direct', 'selecteddate' => $date_of_joining, 'userstatus' => 'old'); $emp_data = array('user_id' => $user_id, 'jobtitle_id' => $jobtitle_id, 'position_id' => $position_id, 'prefix_id' => $prefix_id, 'department_id' => $deptidforhead, 'reporting_manager' => $reporting_manager, 'date_of_joining' => $date_of_joining, 'date_of_leaving' => $date_of_leaving != '' ? $date_of_leaving : NULL, 'emp_status_id' => $emp_status_id, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $user_data['createdby'] = $loginUserId; $user_data['createddate'] = gmdate("Y-m-d H:i:s"); $user_data['isactive'] = 1; 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 = ''; } $user_data['employeeId'] = $emp_id; $user_id = $user_model->SaveorUpdateUserData($user_data, ''); $emp_data['user_id'] = $user_id; $emp_data['createdby'] = $loginUserId; $emp_data['createddate'] = gmdate("Y-m-d H:i:s"); $emp_data['isactive'] = 1; $employeeModal->SaveorUpdateEmployeeData($emp_data, ''); //end of saving into employee table. $tableid = $user_id; $actionflag = 1; $menuID = ORGANISATIONINFO; try { $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); } catch (Exception $e) { } $managementUsersData = $deptModel->getDeptHeads(); $opt = ''; foreach ($managementUsersData as $record) { $opt .= sapp_Global::selectOptionBuilder($record['id'], $record['userfullname']); } $this->view->managementUsersData = $opt; /* Send Mail to the user */ $base_url = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl(); $view = $this->getHelper('ViewRenderer')->view; $this->view->emp_name = $userfullname; $this->view->password = $emppassword; $this->view->emp_id = $employeeId; $this->view->base_url = $base_url; $text = $view->render('mailtemplates/newpassword.phtml'); $options['subject'] = APPLICATION_NAME . ' login Credentials'; $options['header'] = 'Greetings from Sentrifugo'; $options['toEmail'] = $emailaddress; $options['toName'] = $this->view->emp_name; $options['message'] = $text; $result = sapp_Global::_sendEmail($options); /* END */ $this->view->eventact = 'added'; $close = 'close'; $this->view->popup = $close; } else { $messages = $emp_form->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } $this->view->msgarray = $msgarray; } } $this->view->msgarray = $msgarray; $this->view->report_opt = $report_opt; $this->view->controllername = $controllername; $this->view->emp_form = $emp_form; }
/** * This action is used to delete roles and their child data. * @parameters * @param $objid = id of role. * * @return {String} success/failure message */ public function deleteAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $this->_request->getParam('objid'); $messages['message'] = ''; $actionflag = 3; if ($id) { $roles_model = new Default_Model_Roles(); $user_model = new Default_Model_Usermanagement(); $user_cnt = $user_model->getUserCntByRole($id); if ($user_cnt == 0) { $previleges_model = new Default_Model_Privileges(); $menumodel = new Default_Model_Menu(); $data = array('isactive' => 0, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $where = array('id=?' => $id); $Id = $roles_model->SaveorUpdateRolesData($data, $where); if ($Id == 'update') { sapp_Global::generateAccessControl(); $prev_data = array('isactive' => 0, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $where_prev = "role = " . $id; $previleges_model->SaveorUpdatePrivilegesData($prev_data, $where_prev); $objidArr = $menumodel->getMenuObjID('/roles'); $objID = $objidArr[0]['id']; $result = sapp_Global::logManager($objID, $actionflag, $loginUserId, $id); $messages['message'] = 'Role deleted successfully'; $messages['msgtype'] = 'success'; } else { $messages['message'] = 'Role cannot be deleted as Employees with the role exist.'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'Role cannot be deleted as Employees with the role exist.'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'Role cannot be deleted as Employees with the role exist.'; $messages['msgtype'] = 'error'; } $this->_helper->json($messages); }
public function createreportuserlogfinalArray($userLogData, $selectColumns) { $userArray = array(); $empRoleArray = array(); $groupArray = array(); if (!empty($userLogData)) { foreach ($userLogData as $key => $curr) { if (isset($curr['userid'])) { if (!in_array($curr['userid'], $userArray)) { array_push($userArray, $curr['userid']); } } if (isset($curr['emprole'])) { if (!in_array($curr['emprole'], $empRoleArray)) { array_push($empRoleArray, $curr['emprole']); } } if (isset($curr['group_id'])) { if (!in_array($curr['group_id'], $groupArray)) { array_push($groupArray, $curr['group_id']); } } } } if (!empty($empRoleArray)) { $roleModel = new Default_Model_Roles(); $roleNameArray = $roleModel->getEmpRoleNamesByIds($empRoleArray); } if (!empty($groupArray)) { $groupModel = new Default_Model_Groups(); $groupNameArray = $groupModel->getGroupNamesByIds($groupArray); } $finalArray = array(); if (!empty($userLogData)) { foreach ($userLogData as $key => $curr) { if (in_array("userfullname", $selectColumns)) { $finalArray[$key]['userfullname'] = $curr['userfullname']; } if (in_array("employeeId", $selectColumns)) { $finalArray[$key]['employeeId'] = $curr['employeeId']; } if (in_array("group_id", $selectColumns)) { $finalArray[$key]['group_id'] = isset($groupNameArray[$curr['group_id']]) ? $groupNameArray[$curr['group_id']] : ''; } if (in_array("emprole", $selectColumns)) { $finalArray[$key]['emprole'] = isset($roleNameArray[$curr['emprole']]) ? $roleNameArray[$curr['emprole']] : ''; } if (in_array("emailaddress", $selectColumns)) { $finalArray[$key]['emailaddress'] = $curr['emailaddress']; } if (in_array("logindatetime", $selectColumns)) { $finalArray[$key]['logindatetime'] = sapp_Global::getDisplayDate($curr['logindatetime']); } if (in_array("empipaddress", $selectColumns)) { $curr['empipaddress'] = $curr['empipaddress'] == '::1' ? '127.0.01' : $curr['empipaddress']; $finalArray[$key]['empipaddress'] = $curr['empipaddress']; } } } return $finalArray; }
public function addorgheadAction() { Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/"); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $org_id = $this->_request->getParam('orgid', null); $msgarray = array(); $prevorgheadId = ''; $posted_prevorghead_rm = ''; try { $user_model = new Default_Model_Usermanagement(); $orgInfoModel = new Default_Model_Organisationinfo(); $countriesModel = new Default_Model_Countries(); $statesmodel = new Default_Model_States(); $citiesmodel = new Default_Model_Cities(); $role_model = new Default_Model_Roles(); $prefixModel = new Default_Model_Prefix(); $identity_code_model = new Default_Model_Identitycodes(); $jobtitlesModel = new Default_Model_Jobtitles(); $employeeModal = new Default_Model_Employee(); $positionsmodel = new Default_Model_Positions(); $form = new Default_Form_Organisationhead(); $form->setAttrib('action', BASE_URL . 'organisationinfo/addorghead/orgid/' . $org_id); $identity_codes = $identity_code_model->getIdentitycodesRecord(); $role_data = $role_model->getRolesList_orginfo(); $flag = 'true'; $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.'; $flag = 'false'; } $form->employeeId->setValue($emp_id); $form->emprole->addMultiOptions(array('' => 'Select Role') + $role_data); if (empty($role_data)) { $msgarray['emprole'] = 'Roles are not added yet.'; $flag = 'false'; } $prefixData = $prefixModel->getPrefixList(); $form->prefix_id->addMultiOption('', 'Select Prefix'); if (!empty($prefixData)) { foreach ($prefixData as $prefixres) { $form->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']); } } else { $msgarray['prefix_id'] = 'Prefixes are not configured yet.'; } $jobtitleData = $jobtitlesModel->getJobTitleList(); if (!empty($jobtitleData)) { foreach ($jobtitleData as $jobtitleres) { $form->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.'; } $form->position_id->addMultiOption('', 'Select a Position'); if (isset($_POST['jobtitle_id']) && $_POST['jobtitle_id'] != '') { $jobtitle_id = $_POST['jobtitle_id']; $positionlistArr = $positionsmodel->getPositionList($jobtitle_id); if (sizeof($positionlistArr) > 0) { foreach ($positionlistArr as $positionlistres) { $form->position_id->addMultiOption($positionlistres['id'], $positionlistres['positionname']); } } } if (isset($_POST['prevorghead_rm']) && $_POST['prevorghead_rm'] != '') { $posted_prevorghead_rm = $_POST['prevorghead_rm']; } $orgheadsData = $employeeModal->getEmployeesForOrgHead(); $emp_data = $employeeModal->fetchRow("is_orghead = 1"); if (!empty($emp_data)) { $user_data = $user_model->fetchRow("id = " . $emp_data->user_id); if (!empty($user_data)) { $prevorgheadId = $user_data->id; } else { $form->removeElement('prevorghead_rm'); } } else { $form->removeElement('prevorghead_rm'); } if ($this->getRequest()->getPost()) { if ($form->isValid($this->_request->getPost()) && $flag != 'false') { $jobtitle_id = $this->_request->getParam('jobtitle_id', null); $position_id = $this->_request->getParam('position_id', null); $date_of_joining = sapp_Global::change_date($this->_request->getParam('date_of_joining_head', null), 'database'); $employeeId = $this->_request->getParam('employeeId', null); $emprole = $this->_request->getParam('emprole', null); $emailaddress = $this->_request->getParam('emailaddress', null); $emppassword = sapp_Global::generatePassword(); $first_name = trim($this->_request->getParam('firstname_orghead', null)); $last_name = trim($this->_request->getParam('lastname_orghead', null)); //$userfullname = trim($this->_request->getParam('orghead',null)); $userfullname = $first_name . ' ' . $last_name; $prefix_id = $this->_request->getParam('prefix_id', null); $user_id = $this->_request->getParam('user_id', null); $prevorghead_rm = $this->_request->getParam('prevorghead_rm', null); $prevheadid = $this->_request->getParam('prevheadid', null); $user_data = array('emprole' => $emprole, 'firstname' => $first_name, 'lastname' => $last_name, 'userfullname' => $userfullname, 'emailaddress' => $emailaddress, 'jobtitle_id' => $jobtitle_id, 'emppassword' => md5($emppassword), 'employeeId' => $employeeId, 'selecteddate' => $date_of_joining, 'userstatus' => 'old', 'modeofentry' => 'Direct', 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1); $emp_data = array('jobtitle_id' => $jobtitle_id, 'position_id' => $position_id, 'prefix_id' => $prefix_id, 'reporting_manager' => 0, 'date_of_joining' => $date_of_joining, 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1, 'is_orghead' => 1); $org_data = array('modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); 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 = ''; } $user_data['employeeId'] = $emp_id; $db = Zend_Db_Table::getDefaultAdapter(); $db->beginTransaction(); try { $user_id = $user_model->SaveorUpdateUserData($user_data, ''); $emp_data['user_id'] = $user_id; $employeeModal->SaveorUpdateEmployeeData($emp_data, ''); if (isset($prevheadid) && $prevheadid != '') { $org_data['orghead'] = $user_id; $orgwhere = array('id=?' => $org_id); $orgInfoModel->SaveorUpdateData($org_data, $orgwhere); $orgInfoModel->changeOrgHead($prevheadid, $user_id, $prevorghead_rm); $this->sendmailstoemployees($prevheadid, $user_id); } $tableid = $user_id; $actionflag = 1; $menuID = EMPLOYEE; try { $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); } catch (Exception $e) { echo $e->getMessage(); } $close = 'close'; $this->view->popup = $close; $this->view->eventact = 'added'; $db->commit(); } catch (Exception $e) { $db->rollBack(); } } else { $messages = $form->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } } } $this->view->prevorgheadId = $prevorgheadId; $this->view->form = $form; $this->view->msgarray = $msgarray; $this->view->orgheadsData = $orgheadsData; $this->view->posted_prevorghead_rm = $posted_prevorghead_rm; } catch (Exception $e) { echo $e->getMessage(); die; } }
/** * 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; }