public function save($appraisalconfigform)
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $appraisalconfigmodel = new Default_Model_Appraisalconfig();
     $departmentsmodel = new Default_Model_Departments();
     $businessunitsmodel = new Default_Model_Businessunits();
     $msgarray = array();
     $resultArr = array();
     $arrData = array();
     $prevBusinessunit = '';
     $errorflag = "true";
     $id = $this->_request->getParam('id');
     $businessunit_id = $this->_request->getParam('businessunit_id');
     $performance_app_flag = $this->_request->getParam('performance_app_flag');
     $department_id = $this->_request->getParam('department_id');
     $appraisal_mode = $this->_request->getParam('appraisal_mode');
     $approval_selection = $this->_request->getParam('approval_selection');
     $appraisal_ratings = $this->_request->getParam('appraisal_ratings');
     // Validation to check duplicate combinations
     $arrData = array("business_unit_id" => $businessunit_id, "department_id" => $department_id, "id" => $id);
     if ($appraisalconfigmodel->combinationExists($arrData)) {
         $msgarray['businessunit_id'] = 'Business unit or department configuration already exists.';
         $errorflag = "false";
     }
     /** Start
      * Validating selection of department if implementaion is department wise
      */
     if ($performance_app_flag == 0) {
         if ($department_id == '') {
             $msgarray['department_id'] = 'Please select department.';
             $errorflag = "false";
         }
     }
     /**
     			End validating selection of department
     */
     /** Start
                 Validating unique service desk department
         */
     if ($businessunit_id != '' && $id == '') {
         $appraisalconigfArr = $appraisalconfigmodel->checkuniqueAppraisalConfigData($businessunit_id, $performance_app_flag, $department_id);
         if (!empty($appraisalconigfArr)) {
             if ($appraisalconigfArr[0]['count'] > 0) {
                 $msgarray['department_id'] = 'Please select a different department.';
                 $errorflag = "false";
             }
         }
     }
     /** End
      * Validating uniques  department
      */
     $db = Zend_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     if ($appraisalconfigform->isValid($this->_request->getPost()) && $errorflag == 'true') {
         try {
             $menumodel = new Default_Model_Menu();
             $actionflag = '';
             $tableid = '';
             $data = array('businessunit_id' => $businessunit_id, 'department_id' => $department_id != '' ? $department_id : NULL, 'performance_app_flag' => $performance_app_flag, 'appraisal_mode' => $appraisal_mode, 'appraisal_ratings' => $appraisal_ratings, 'module_flag' => 1, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             if ($id != '') {
                 /* for Update record  */
                 $where = array('id=?' => $id);
                 $actionflag = 2;
             } else {
                 /* for Insert new record  */
                 $data['createdby'] = $loginUserId;
                 $data['createddate'] = gmdate("Y-m-d H:i:s");
                 $data['isactive'] = 1;
                 $where = '';
                 $actionflag = 1;
             }
             $Id = $appraisalconfigmodel->SaveorUpdateAppraisalConfigData($data, $where);
             if ($Id == 'update') {
                 $tableid = $id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Appraisal settings updated successfully"));
             } else {
                 $tableid = $Id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Appraisal settings added successfully"));
             }
             $menuidArr = $menumodel->getMenuObjID('/appraisalconfig');
             $menuID = $menuidArr[0]['id'];
             $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             /** Start
              * Sending Mails to employees
              */
             /*    if($performance_app_flag == 0)
             						$employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessunit_id,$department_id);
             						else
             						$employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessunit_id,'');
             						
             						$msg_add_update = ($Id == 'update') ? "updated" : "added" ;
             
             								  //Sending mail to Super admin					
             								$options['subject'] = APPLICATION_NAME.': Performance Appraisal Settings '.ucfirst($msg_add_update);
                                             $options['header'] = 'Performance Appraisal Configuration';
                                             $options['toEmail'] = SUPERADMIN_EMAIL;  
                                             $options['toName'] = 'Super Admin';
                                             $options['message'] = 'Dear Super Admin, performance appraisal configuration '.$msg_add_update;
                                            // $mail_id =  sapp_Global::_sendEmail($options); 
             						//sending mail to others
             						if(!empty($employeeDetailsArr))
             						{
             							foreach($employeeDetailsArr as $emp)
             							{
             								$options['subject'] = APPLICATION_NAME.': Performance Appraisal Settings Added.';
                                             $options['header'] = 'Performance Appraisal Configuration';
                                             $options['toEmail'] = $emp['emailaddress'];  
                                             $options['toName'] = $emp['userfullname'];
                                             $options['message'] = 'Dear '.$emp['userfullname'].', performance appraisal configuration '.$msg_add_update;
                                            // $mail_id =  sapp_Global::_sendEmail($options); 
             							}
             						}
             					/**
             					 * End
             					 */
             $db->commit();
             $this->_redirect('appraisalconfig');
             throw new Exception("Some error message");
         } catch (Exception $e) {
             $db->rollBack();
             echo $e->getMessage();
             echo $e->getTraceAsString();
             return $msgarray;
         }
     } else {
         $messages = $appraisalconfigform->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         if (isset($businessunit_id) && $businessunit_id != '') {
             if ($performance_app_flag == 0) {
                 $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
                 if (!empty($departmentlistArr)) {
                     foreach ($departmentlistArr as $departmentlist) {
                         $appraisalconfigform->department_id->addMultiOption($departmentlist['id'], utf8_encode($departmentlist['deptname']));
                     }
                 }
             }
             if (isset($department_id) && $department_id != 0 && $department_id != '') {
                 $appraisalconfigform->setDefault('department_id', $department_id);
             }
         }
         return $msgarray;
     }
 }
Example #2
0
 public function savedepartments()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $appraisalquestionsmodel = new Default_Model_Appraisalquestions();
     $deptModel = new Default_Model_Departments();
     $msgarray = array();
     $errorflag = 'true';
     $bunit_id = $this->_request->getParam('bunit_id');
     $department_arr = $this->_request->getParam('department');
     $address_arr = $this->_request->getParam('address');
     if (!empty($department_arr)) {
         $departmentArr = array_count_values($department_arr);
         for ($i = 0; $i < sizeof($department_arr); $i++) {
             if ($department_arr[$i] == '') {
                 $msgarray['dept_name'][$i] = 'Please enter department.';
                 $errorflag = 'false';
             } else {
                 if (!preg_match('/^[a-zA-Z0-9.\\- ?]+$/', $department_arr[$i])) {
                     $msgarray['dept_name'][$i] = 'Please enter valid department.';
                     $errorflag = 'false';
                 } else {
                     if ($i > 0 && $departmentArr[$department_arr[$i]] > 1) {
                         $msgarray['dept_name'][$i] = 'Please enter different department.';
                         $errorflag = 'false';
                     } else {
                         $isDeptExist = $deptModel->checkDuplicateDeptName($department_arr[$i]);
                         if ($isDeptExist[0]['count'] > 0) {
                             $msgarray['dept_name'][$i] = ' Department name already exists.';
                             $msgarray['bunit_id'] = $bunit_id;
                             $errorflag = 'false';
                         }
                     }
                 }
             }
             if ($address_arr[$i] == '') {
                 $msgarray['address_name'][$i] = 'Please enter street address.';
                 $errorflag = 'false';
             }
         }
         $msgarray['deptsize'] = sizeof($department_arr);
     }
     if ($errorflag == 'true') {
         try {
             $menumodel = new Default_Model_Menu();
             $orgInfoModel = new Default_Model_Organisationinfo();
             $systempreferencemodel = new Default_Model_Sitepreference();
             $organisationData = $orgInfoModel->getOrganisationInfo();
             $sitePreferenceData = $systempreferencemodel->SitePreferanceData();
             $deptModel = new Default_Model_Departments();
             $actionflag = 1;
             $tableid = '';
             $where = '';
             $date = new Zend_Date();
             for ($i = 0; $i < sizeof($department_arr); $i++) {
                 if (strlen(trim($department_arr[$i])) > 3) {
                     $deptCode = strtoupper(substr(trim($department_arr[$i]), 0, 4));
                 } else {
                     $deptCode = strtoupper(trim($department_arr[$i]));
                 }
                 $data = array('deptname' => trim($department_arr[$i]), 'deptcode' => $deptCode, 'startdate' => NULL, 'country' => !empty($organisationData) ? $organisationData[0]['country'] : NULL, 'state' => !empty($organisationData) ? $organisationData[0]['state'] : NULL, 'city' => !empty($organisationData) ? $organisationData[0]['city'] : NULL, 'address1' => $address_arr[$i], 'timezone' => !empty($sitePreferenceData) ? $sitePreferenceData[0]['timezoneid'] : NULL, 'unitid' => $bunit_id, 'createdby' => $loginUserId, 'createddate' => $date->get('yyyy-MM-dd HH:mm:ss'), 'modifiedby' => $loginUserId, 'modifieddate' => $date->get('yyyy-MM-dd HH:mm:ss'));
                 $Id = $deptModel->SaveorUpdateDepartmentsUnits($data, $where);
                 $tableid = $Id;
                 $menuID = DEPARTMENTS;
                 $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             }
             $wizard_model = new Default_Model_Wizard();
             $wizardData = $wizard_model->getWizardData();
             $wizardarray = array('departments' => 2, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             if ($wizardData['site_config'] == 2 && $wizardData['org_details'] == 2 && $wizardData['servicerequest'] == 2) {
                 $wizardarray['iscomplete'] = 2;
             }
             $wizard_model->SaveorUpdateWizardData($wizardarray, '');
             $this->_helper->getHelper("FlashMessenger")->addMessage("Departments added successfully.");
             $this->_redirect('wizard/configureunitsanddepartments');
         } catch (Exception $e) {
             $msgarray['pa_category_id'] = "Something went wrong, please try again.";
             return $msgarray;
         }
     } else {
         return $msgarray;
     }
 }
Example #3
0
 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;
 }
 public function closeappraisal($appraisalid, $status, $enablestepflag, $buid, $perfflag, $deptid)
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
         $loginuserArr = array('loginuserid' => $loginUserId, 'loginuserrole' => $loginuserRole, 'loginusergroup' => $loginuserGroup);
     }
     $appraisalinitmodel = new Default_Model_Appraisalinit();
     $appraisalqsmodel = new Default_Model_Appraisalqsmain();
     $appraisalempratingsmodel = new Default_Model_Appraisalemployeeratings();
     $usersmodel = new Default_Model_Users();
     $departmentsmodel = new Default_Model_Departments();
     $announcementsModel = new Default_Model_Announcements();
     $deptids = '';
     $title = 'Performance Appraisal';
     $description = 'Performance appraisal initialized';
     $result = array();
     $employeeidArr = array();
     if ($status == 2) {
         $statustext = 'Closed';
     } else {
         $statustext = 'Forcefully Closed';
     }
     if ($appraisalid) {
         $trDb = Zend_Db_Table::getDefaultAdapter();
         $trDb->beginTransaction();
         try {
             /** Start
              * Updating initialization table
              */
             $init_Arr = array('status' => $status, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             $where = array('id=?' => $appraisalid);
             $Id = $appraisalinitmodel->SaveorUpdateAppraisalInitData($init_Arr, $where);
             /**
             						End
             */
             /** Start
              * Sending Mails to employees
              */
             if ($enablestepflag == 1) {
                 $employeeidArr = $appraisalqsmodel->getemployeeIDs($appraisalid);
             } else {
                 $employeeidArr = $appraisalempratingsmodel->getEmployeeIds($appraisalid);
             }
             if (!empty($employeeidArr)) {
                 foreach ($employeeidArr as $emp) {
                     $employeeDetailsArr = $usersmodel->getUserDetailsByID($emp['employee_id'], '');
                     if (!empty($employeeDetailsArr)) {
                         $options['subject'] = APPLICATION_NAME . ': Performance Appraisal ' . $statustext;
                         $options['header'] = 'Performance Appraisal ' . $statustext;
                         $options['toEmail'] = $employeeDetailsArr[0]['emailaddress'];
                         $options['toName'] = $employeeDetailsArr[0]['userfullname'];
                         $options['message'] = 'Dear ' . $employeeDetailsArr[0]['userfullname'] . ', performance appraisal ' . $statustext;
                         $options['cron'] = 'yes';
                         // sapp_Global::_sendEmail($options);
                     }
                 }
             }
             /**
              * End
              */
             /** 
              * Mail to performance Appraisal Group
              */
             if (defined('PER_APPRAISAL_' . $buid) && $buid != '') {
                 $options['subject'] = APPLICATION_NAME . ': Performance Appraisal ' . $statustext;
                 $options['header'] = 'Performance Appraisal';
                 $options['toEmail'] = constant('PER_APPRAISAL_' . $buid);
                 $options['toName'] = 'Performance Appraisal';
                 $options['message'] = 'Performance appraisal initiated ' . $statustext;
                 $options['cron'] = 'yes';
                 //  sapp_Global::_sendEmail($options);
             }
             /**
              * End
              */
             /** Start
              * Announecements
              */
             if ($perfflag == 1) {
                 $deptArr = $departmentsmodel->getAllDeptsForUnit($buid);
                 if (!empty($deptArr)) {
                     foreach ($deptArr as $dept) {
                         $deptids .= $dept['id'] . ',';
                     }
                     $deptids = rtrim($deptids, ',');
                 }
             } else {
                 $deptids = $deptid;
             }
             /*	$announcement_arr = array(
                                           'businessunit_id' => $buid!=''?$buid:NULL,
                                           'department_id' => $deptids!=''?$deptids:NULL,
                                           'title' => $title,
                                           'description' => $description,
                                           'attachments' => NULL,
                                           'status' => 2,
                                           'isactive' => 1,
             			'createdby' => $loginUserId,
             						'createdby_role'=>$loginuserRole,
             			'createdby_group'=>$loginuserGroup,
                                           'modifiedby' => $loginUserId,
             						'modifiedby_role'=>$loginuserRole,
             			'modifiedby_group'=>$loginuserGroup,
             			 'createddate'=>gmdate("Y-m-d H:i:s"),
                                           'modifieddate'=>gmdate("Y-m-d H:i:s")
                               			);
                               			
                               	$Id = $announcementsModel->SaveorUpdateAnnouncementsData($announcement_arr, '');		*/
             /**
              * End
              */
             $trDb->commit();
             $result['msg'] = 'Performance Appraisal ' . $statustext;
             $result['result'] = 'success';
             $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Performance Appraisal " . $statustext));
         } catch (Exception $e) {
             $trDb->rollBack();
             $result['msg'] = $e->getMessage();
             $result['result'] = 'error';
         }
     }
     return $result;
 }
 public function save($appraisalconfigform)
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $appraisalconfigmodel = new Default_Model_Appraisalconfig();
     $departmentsmodel = new Default_Model_Departments();
     $businessunitsmodel = new Default_Model_Businessunits();
     $msgarray = array();
     $resultArr = array();
     //$empstring = '';
     //$prevBusinessunit = '';
     $errorflag = "true";
     $id = $this->_request->getParam('id');
     $businessunit_id = $this->_request->getParam('businessunit_id');
     $performance_app_flag = $this->_request->getParam('performance_app_flag');
     $department_id = $this->_request->getParam('department_id');
     $appraisal_mode = $this->_request->getParam('appraisal_mode');
     $approval_selection = $this->_request->getParam('approval_selection');
     $appraisal_ratings = $this->_request->getParam('appraisal_ratings');
     /** Start
      * Validating selection of department if implementaion is department wise
      */
     if ($performance_app_flag == 0) {
         if ($department_id == '') {
             $msgarray['department_id'] = 'Please select department.';
             $errorflag = "false";
         }
     }
     /**
      End validating selection of department
     */
     /**
      * End Approver level selection
      */
     /** Start
          Validating unique service desk department
         */
     if ($businessunit_id != '' && $id == '') {
         $appraisalconigfArr = $appraisalconfigmodel->checkuniqueAppraisalConfigData($businessunit_id, $performance_app_flag, $department_id);
         if (!empty($appraisalconigfArr)) {
             if ($appraisalconigfArr[0]['count'] > 0) {
                 $msgarray['department_id'] = 'Please select a different department.';
                 $errorflag = "false";
             }
         }
     }
     /** End
      * Validating uniques service desk department
      */
     /**
      * Validating if pending requests are there when changing the implementation
      */
     if ($businessunit_id != '') {
         $implementationdata = $businessunitsmodel->getSingleUnitData($businessunit_id);
         //echo "<pre>"; print_r($implementationdata);echo "</pre>"; die;
         if (!empty($implementationdata)) {
             $prevBusinessunit = $implementationdata['service_desk_flag'];
         }
         if ($performance_app_flag != '') {
             if ($prevBusinessunit != $performance_app_flag) {
                 $pendingRequestdata = $appraisalconfigmodel->getPendingAppraisalConfigData($businessunit_id);
                 if (!empty($pendingRequestdata)) {
                     if ($pendingRequestdata[0]['count'] > 0) {
                         $msgarray['performance_app_flag'] = 'Applicability cannot be changed as requests are in pending state.';
                         $errorflag = "false";
                     }
                 }
             }
         }
     }
     /**
      * End validating pending request checking 
      */
     $db = Zend_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     if ($appraisalconfigform->isValid($this->_request->getPost()) && $errorflag == 'true') {
         try {
             $menumodel = new Default_Model_Menu();
             $actionflag = '';
             $tableid = '';
             $data = array('businessunit_id' => $businessunit_id, 'department_id' => $department_id != '' ? $department_id : NULL, 'performance_app_flag' => $performance_app_flag, 'appraisal_mode' => $appraisal_mode, 'approval_selection' => $approval_selection, 'appraisal_ratings' => $appraisal_ratings, 'module_flag' => 1, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             if ($id != '') {
                 /* for Update record  */
                 $where = array('id=?' => $id);
                 $actionflag = 2;
             } else {
                 /* for Insert new record  */
                 $data['createdby'] = $loginUserId;
                 $data['createddate'] = gmdate("Y-m-d H:i:s");
                 $data['isactive'] = 1;
                 $where = '';
                 $actionflag = 1;
             }
             $Id = $appraisalconfigmodel->SaveorUpdateAppraisalConfigData($data, $where);
             if ($Id == 'update') {
                 $tableid = $id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Configuration updated successfully."));
             } else {
                 $tableid = $Id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Configuration added successfully."));
             }
             $menuidArr = $menumodel->getMenuObjID('/appraisalconfig');
             $menuID = $menuidArr[0]['id'];
             $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             $db->commit();
             $this->_redirect('appraisalconfig');
             //throw new Exception("Some error message");
         } catch (Exception $e) {
             $db->rollBack();
             //echo $e->getMessage();
             // echo $e->getTraceAsString();
             //$msgarray['service_desk_id'] = "Something went wrong, please try again.";
             return $msgarray;
         }
     } else {
         $messages = $appraisalconfigform->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         if (isset($businessunit_id) && $businessunit_id != '') {
             if ($performance_app_flag == 0) {
                 $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
                 if (!empty($departmentlistArr)) {
                     //echo "<pre>";print_r($departmentlistArr); echo "</pre>";
                     foreach ($departmentlistArr as $departmentlist) {
                         $appraisalconfigform->department_id->addMultiOption($departmentlist['id'], utf8_encode($departmentlist['deptname']));
                     }
                 }
             }
             // $department_id = $departmentlist['deptname'];
             //echo "dept:".$department_id; die;
             //echo $performance_app_flag; die;
             if (isset($department_id) && $department_id != 0 && $department_id != '') {
                 $appraisalconfigform->setDefault('department_id', $department_id);
             }
         }
         //echo "<pre>";print_r($msgarray);echo "</pre>"; die;
         return $msgarray;
     }
 }
 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) {
         $departmentsmodel = new Default_Model_Departments();
         $checkemployees = $departmentsmodel->checkemployeestodepartment($id);
         if ($checkemployees == 0) {
             $data = array('isactive' => 0);
             $where = array('id=?' => $id);
             $Id = $departmentsmodel->SaveorUpdateDepartmentsUnits($data, $where);
             if ($Id == 'update') {
                 $menuID = DEPARTMENTS;
                 $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $id);
                 $messages['message'] = 'Department deleted successfully.';
                 $messages['msgtype'] = 'success';
             } else {
                 $messages['message'] = 'Department cannot be deleted.';
                 $messages['msgtype'] = 'error';
             }
         } else {
             $messages['message'] = 'Please re-assign the employees to another department';
             $messages['msgtype'] = 'error';
         }
     } else {
         $messages['message'] = 'Department cannot be deleted.';
         $messages['msgtype'] = 'error';
     }
     $this->_helper->json($messages);
 }
Example #7
0
 public function getdepartmentsAction()
 {
     $ajaxContext = $this->_helper->getHelper('AjaxContext');
     $ajaxContext->addActionContext('getdepartments', 'html')->initContext();
     $businessunit_id = $this->_request->getParam('business_id');
     $con = $this->_request->getParam('con');
     $employeeform = new Default_Form_employee();
     $leavemanagementform = new Default_Form_leavemanagement();
     $flag = '';
     $departmentsmodel = new Default_Model_Departments();
     $appraisalconfigmodel = new Default_Model_Appraisalconfig();
     if ($con == 'leavemanagement') {
         $leavemanagementmodel = new Default_Model_Leavemanagement();
         $departmentidsArr = $leavemanagementmodel->getActiveDepartmentIds();
         $depatrmentidstr = '';
         $newarr = array();
         if (!empty($departmentidsArr)) {
             $where = '';
             for ($i = 0; $i < sizeof($departmentidsArr); $i++) {
                 $newarr1[] = array_push($newarr, $departmentidsArr[$i]['deptid']);
             }
             $depatrmentidstr = implode(",", $newarr);
             foreach ($newarr as $deparr) {
                 $where .= " id!= {$deparr} AND ";
             }
             $where = trim($where, " AND");
             $querystring = "Select d.id,d.deptname from main_departments as d where d.unitid={$businessunit_id} and d.isactive=1 and {$where}  ";
             $querystring .= "  order by d.deptname";
             $uniquedepartmentids = $departmentsmodel->getUniqueDepartments($querystring);
             if (empty($uniquedepartmentids)) {
                 $flag = 'true';
             }
             $this->view->uniquedepartmentids = $uniquedepartmentids;
         } else {
             $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
             if (empty($departmentlistArr)) {
                 $flag = 'true';
             }
             $this->view->departmentlistArr = $departmentlistArr;
         }
     } else {
         if ($con == 'appraisal_config') {
             $departmentlistArr = $appraisalconfigmodel->getExistDepartments($businessunit_id);
             $dept_arr = array();
             foreach ($departmentlistArr as $dept) {
                 $deptid = $dept['department_id'];
                 array_push($dept_arr, $deptid);
             }
             $dept_arr = array_filter($dept_arr);
             $dept_arr = array_unique($dept_arr);
             $dept_list = implode(',', $dept_arr);
             $departmentlistArr = $appraisalconfigmodel->getDepartments($businessunit_id, $dept_list);
             if (empty($departmentlistArr)) {
                 $flag = 'true';
             }
             $this->view->departmentlistArr = $departmentlistArr;
         } else {
             $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
             if (empty($departmentlistArr)) {
                 $flag = 'true';
             }
             $this->view->departmentlistArr = $departmentlistArr;
         }
     }
     $this->view->employeeform = $employeeform;
     $this->view->leavemanagementform = $leavemanagementform;
     $this->view->flag = $flag;
     if ($con != '') {
         $this->view->con = $con;
     }
 }
 public function viewAction()
 {
     $orgInfoModel = new Default_Model_Organisationinfo();
     $getorgData = $orgInfoModel->getorgrecords();
     if (!empty($getorgData)) {
         $orgdata = '';
         $auth = Zend_Auth::getInstance();
         if ($auth->hasIdentity()) {
             $loginUserId = $auth->getStorage()->read()->id;
             $loginuserRole = $auth->getStorage()->read()->emprole;
             $loginuserGroup = $auth->getStorage()->read()->group_id;
         }
         $permission = 'No';
         $id = $this->getRequest()->getParam('id');
         if (is_numeric($id) && $id > 0) {
             $callval = $this->getRequest()->getParam('call');
             if ($callval == 'ajaxcall') {
                 $this->_helper->layout->disableLayout();
             }
             $objName = 'businessunits';
             $businessunitsform = new Default_Form_businessunits();
             $deptModel = new Default_Model_Departments();
             $businessunitsform->removeElement("submit");
             $elements = $businessunitsform->getElements();
             if (count($elements) > 0) {
                 foreach ($elements as $key => $element) {
                     if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") {
                         $element->setAttrib("disabled", "disabled");
                     }
                 }
             }
             $businessunitsmodel = new Default_Model_Businessunits();
             $data = $businessunitsmodel->getSingleUnitData($id);
             if (!empty($data)) {
                 $businessunitsform->populate($data);
                 $countryId = $data['country'];
                 $stateId = $data['state'];
                 $cityId = $data['city'];
                 if ($countryId && $stateId) {
                     $statesmodel = new Default_Model_States();
                     $citiesmodel = new Default_Model_Cities();
                     $statesData = $statesmodel->getBasicStatesList($countryId);
                     $citiesData = $citiesmodel->getBasicCitiesList($stateId);
                     foreach ($statesData as $res) {
                         $businessunitsform->state->addMultiOption($res['state_id_org'], utf8_encode($res['state']));
                     }
                     foreach ($citiesData as $res) {
                         $businessunitsform->city->addMultiOption($res['city_org_id'], utf8_encode($res['city']));
                     }
                     $businessunitsform->setDefault('country', $countryId);
                     $businessunitsform->setDefault('state', $stateId);
                     $businessunitsform->setDefault('city', $cityId);
                 }
                 $st_date = sapp_Global::change_date($data["startdate"], 'view');
                 $businessunitsform->setDefault('start_date', $st_date);
                 $permission = sapp_Global::_checkprivileges(BUSINESSUNITS, $loginuserGroup, $loginuserRole, 'edit');
                 $deptData = $deptModel->getAllDeptsForUnit($id);
                 $this->view->deptData = sizeof($deptData);
                 $this->view->dataArray = $this->departmentGrid($id);
                 $this->view->ermsg = '';
             } else {
                 $this->view->ermsg = 'nodata';
             }
             $this->view->editpermission = $permission;
             $this->view->controllername = $objName;
             $this->view->id = $id;
             $this->view->form = $businessunitsform;
             $this->view->role = $loginuserRole;
         } else {
             $this->view->ermsg = 'nodata';
         }
     } else {
         $orgdata = 'noorgdata';
         $this->view->orgdata = $orgdata;
     }
 }
Example #9
0
 /**
  * 
  * Ajax call to fetch depts for multi business units
  */
 public function getmultideptsAction()
 {
     $bu_id = $this->_getParam('bu_id', null);
     $options = "";
     if (!empty($bu_id)) {
         $bu_id = implode(',', $bu_id);
         $dept_model = new Default_Model_Departments();
         $dept_data = $dept_model->getDepartmentWithCodeList_bu($bu_id);
         if (!empty($dept_data)) {
             foreach ($dept_data as $dept) {
                 $options .= "<option value='" . $dept['id'] . "'>" . $dept['unitcode'] . " " . $dept['deptname'] . "</option>";
             }
         }
     }
     $this->_helper->json(array('options' => $options));
 }
 public function save($servicedeskconfform)
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $servicedeskconfmodel = new Default_Model_Servicedeskconf();
     $employeemodel = new Default_Model_Employee();
     $departmentsmodel = new Default_Model_Departments();
     $businessunitsmodel = new Default_Model_Businessunits();
     $msgarray = array();
     $resultArr = array();
     $empstring = '';
     $prevBusinessunit = '';
     $errorflag = "true";
     $id = $this->_request->getParam('id');
     $businessunit_id = $this->_request->getParam('businessunit_id');
     $service_desk_flag = $this->_request->getParam('service_desk_flag');
     $department_id = $this->_request->getParam('department_id');
     $service_desk_id = $this->_request->getParam('service_desk_id');
     $request_recievers = $this->_request->getParam('request_recievers');
     $approvingauthority = $this->_request->getParam('approvingauthority');
     $approver_1 = $this->_request->getParam('approver_1');
     $approver_2 = $this->_request->getParam('approver_2');
     $approver_3 = $this->_request->getParam('approver_3');
     $cc_mail_recievers = $this->_request->getParam('cc_mail_recievers');
     $attachment = $this->_request->getParam('attachment');
     $description = trim($this->_request->getParam('description'));
     /** Start
      * Validating Request reciever and CC reciever
      * If both have same values then throwing an error
      */
     if (!empty($request_recievers)) {
         if (!empty($cc_mail_recievers)) {
             $resultArr = array_intersect($request_recievers, $cc_mail_recievers);
         }
     }
     if (!empty($resultArr)) {
         $msgarray['cc_mail_recievers'] = 'Executors and request viewers cannot be same.';
         $errorflag = "false";
     }
     /**
      End validating Request reciever and CC reciever
     */
     /** Start
      * Validating selection of department if implementaion is department wise
      */
     if ($service_desk_flag == 0) {
         if ($department_id == '') {
             $msgarray['department_id'] = 'Please select department.';
             $errorflag = "false";
         }
     }
     /**
      End validating selection of department
     */
     /** Start
      * Validating approver level selection.
      */
     if ($approvingauthority != '') {
         if ($approvingauthority == 1) {
             if ($approver_1 == '') {
                 $msgarray['approver_1'] = 'Please select approver 1.';
                 $errorflag = "false";
             }
         } else {
             if ($approvingauthority == 2) {
                 if ($approver_1 == '') {
                     $msgarray['approver_1'] = 'Please select approver 1.';
                     $errorflag = "false";
                 }
                 if ($approver_2 == '') {
                     $msgarray['approver_2'] = 'Please select approver 2.';
                     $errorflag = "false";
                 }
             } else {
                 if ($approver_1 == '') {
                     $msgarray['approver_1'] = 'Please select approver 1.';
                     $errorflag = "false";
                 }
                 if ($approver_2 == '') {
                     $msgarray['approver_2'] = 'Please select approver 2.';
                     $errorflag = "false";
                 }
                 if ($approver_3 == '') {
                     $msgarray['approver_3'] = 'Please select approver 3.';
                     $errorflag = "false";
                 }
             }
         }
     }
     /**
      * End Approver level selection
      */
     /** Start
          Validating unique service desk department
         */
     if ($businessunit_id != '' && $service_desk_id != '' && $id == '') {
         $serviceconfArr = $servicedeskconfmodel->checkuniqueServiceConfData($businessunit_id, $service_desk_flag, $service_desk_id, $department_id);
         if (!empty($serviceconfArr)) {
             if ($serviceconfArr[0]['count'] > 0) {
                 $msgarray['service_desk_id'] = 'Please select a different department.';
                 $errorflag = "false";
             }
         }
     }
     /** End
      * Validating uniques service desk department
      */
     /**
      * Validating if pending requests are there when changing the implementation
      */
     if ($businessunit_id != '') {
         $implementationdata = $businessunitsmodel->getSingleUnitData($businessunit_id);
         if (!empty($implementationdata)) {
             $prevBusinessunit = $implementationdata['service_desk_flag'];
         }
         if ($service_desk_flag != '') {
             if ($prevBusinessunit != $service_desk_flag) {
                 $pendingRequestdata = $servicedeskconfmodel->getPendingServiceReqData($businessunit_id);
                 if (!empty($pendingRequestdata)) {
                     if ($pendingRequestdata[0]['count'] > 0) {
                         $msgarray['service_desk_flag'] = 'Applicability cannot be changed as requests are in pending state.';
                         $errorflag = "false";
                     }
                 }
             }
         }
     }
     /**
      * End validating pending request checking 
      */
     $db = Zend_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     if ($servicedeskconfform->isValid($this->_request->getPost()) && $errorflag == 'true') {
         try {
             $menumodel = new Default_Model_Menu();
             $actionflag = '';
             $tableid = '';
             $req_rec_string = '';
             $cc_string = '';
             $req_rec_string = implode(',', $request_recievers);
             if (!empty($cc_mail_recievers)) {
                 $cc_string = implode(',', $cc_mail_recievers);
             }
             $data = array('businessunit_id' => $businessunit_id, 'department_id' => $department_id != '' ? $department_id : NULL, 'service_desk_flag' => $service_desk_flag, 'service_desk_id' => $service_desk_id, 'request_recievers' => $req_rec_string, 'cc_mail_recievers' => $cc_string != '' ? $cc_string : NULL, 'approver_1' => $approver_1 != '' ? $approver_1 : NULL, 'approver_2' => $approver_2 != '' ? $approver_2 : NULL, 'approver_3' => $approver_3 != '' ? $approver_3 : NULL, 'attachment' => $attachment != '' ? $attachment : NULL, 'description' => $description != '' ? $description : NULL, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             if ($id != '') {
                 $where = array('id=?' => $id);
                 $actionflag = 2;
             } else {
                 $data['createdby'] = $loginUserId;
                 $data['createddate'] = gmdate("Y-m-d H:i:s");
                 $data['isactive'] = 1;
                 $where = '';
                 $actionflag = 1;
             }
             $budata = array('service_desk_flag' => $service_desk_flag, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             $buwhere = array('id=?' => $businessunit_id);
             /* If implementation wise is changed then all the previous records are inactivated and new record is inserted 
              * Else normal update - insert will take place. 
              */
             if ($prevBusinessunit != $service_desk_flag) {
                 $prevBUData = array('isactive' => 0, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                 $prevBUwhere = array('businessunit_id=?' => $businessunit_id);
                 /* Inactivating previous records */
                 $prevBUId = $servicedeskconfmodel->SaveorUpdateServiceConfData($prevBUData, $prevBUwhere);
                 $data['createdby'] = $loginUserId;
                 $data['createddate'] = gmdate("Y-m-d H:i:s");
                 $data['isactive'] = 1;
                 $where = '';
                 $actionflag = 1;
                 /* Inserting new record */
                 $Id = $servicedeskconfmodel->SaveorUpdateServiceConfData($data, $where);
             } else {
                 /* Insert or update based on action */
                 $Id = $servicedeskconfmodel->SaveorUpdateServiceConfData($data, $where);
             }
             /* Updating service desk flag in business unit table */
             $BId = $businessunitsmodel->SaveorUpdateBusinessUnits($budata, $buwhere);
             if ($Id == 'update') {
                 $tableid = $id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Setting updated successfully."));
             } else {
                 $tableid = $Id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Setting added successfully."));
             }
             $menuidArr = $menumodel->getMenuObjID('/servicedeskconf');
             $menuID = $menuidArr[0]['id'];
             $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             $db->commit();
             $this->_redirect('servicedeskconf');
         } catch (Exception $e) {
             $db->rollBack();
             $msgarray['service_desk_id'] = "Something went wrong, please try again.";
             return $msgarray;
         }
     } else {
         $messages = $servicedeskconfform->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         if (isset($businessunit_id) && $businessunit_id != '') {
             $employeeData = $employeemodel->getEmployeesForServiceDesk($businessunit_id, $department_id);
             $servicedeskData = $servicedeskconfmodel->getActiveServiceDepartments($businessunit_id, $department_id);
             if ($id == '') {
                 $servicedeskconfform->service_desk_id->clearMultiOptions();
             }
             $servicedeskconfform->request_recievers->clearMultiOptions();
             $servicedeskconfform->cc_mail_recievers->clearMultiOptions();
             if (!empty($employeeData)) {
                 $servicedeskconfform->request_recievers->addMultiOption('', 'Select executor');
                 $servicedeskconfform->cc_mail_recievers->addMultiOption('', 'Select request viewer');
                 foreach ($employeeData as $empres) {
                     $servicedeskconfform->request_recievers->addMultiOption($empres['user_id'], utf8_encode($empres['userfullname']));
                     $servicedeskconfform->cc_mail_recievers->addMultiOption($empres['user_id'], utf8_encode($empres['userfullname']));
                 }
             }
             if ($id == '') {
                 if (!empty($servicedeskData)) {
                     $servicedeskconfform->service_desk_id->addMultiOption('', 'Select category');
                     foreach ($servicedeskData as $servicedeskres) {
                         $servicedeskconfform->service_desk_id->addMultiOption($servicedeskres['id'], utf8_encode($servicedeskres['service_desk_name']));
                     }
                 }
             }
             if ($service_desk_flag == 0) {
                 $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
                 if (!empty($departmentlistArr)) {
                     foreach ($departmentlistArr as $departmentlist) {
                         $servicedeskconfform->department_id->addMultiOption($departmentlist['id'], utf8_encode($departmentlist['deptname']));
                     }
                 }
             }
             if (isset($service_desk_id) && $service_desk_id != 0 && $service_desk_id != '' && $id == '') {
                 $servicedeskconfform->setDefault('service_desk_id', $service_desk_id);
             }
             if (isset($department_id) && $department_id != 0 && $department_id != '') {
                 $servicedeskconfform->setDefault('department_id', $department_id);
             }
         }
         if (isset($approvingauthority) && $approvingauthority != '') {
             if ($approvingauthority == 1) {
                 $approver1Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring);
                 if (!empty($approver1Data)) {
                     foreach ($approver1Data as $app1res) {
                         $servicedeskconfform->approver_1->addMultiOption($app1res['user_id'], utf8_encode($app1res['userfullname']));
                     }
                 }
             } else {
                 if ($approvingauthority == 2) {
                     $approver1Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring);
                     if (!empty($approver1Data)) {
                         foreach ($approver1Data as $app1res) {
                             $servicedeskconfform->approver_1->addMultiOption($app1res['user_id'], utf8_encode($app1res['userfullname']));
                         }
                     }
                     if (isset($approver_1) && $approver_1 != '') {
                         $empstring = $approver_1;
                         $approver2Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring);
                         if (!empty($approver2Data)) {
                             foreach ($approver2Data as $app2res) {
                                 $servicedeskconfform->approver_2->addMultiOption($app2res['user_id'], utf8_encode($app2res['userfullname']));
                             }
                         }
                     }
                 } else {
                     $approver1Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring);
                     if (!empty($approver1Data)) {
                         foreach ($approver1Data as $app1res) {
                             $servicedeskconfform->approver_1->addMultiOption($app1res['user_id'], utf8_encode($app1res['userfullname']));
                         }
                     }
                     if (isset($approver_1) && $approver_1 != '') {
                         $empstring = $approver_1;
                         $approver2Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring);
                         if (!empty($approver2Data)) {
                             foreach ($approver2Data as $app2res) {
                                 $servicedeskconfform->approver_2->addMultiOption($app2res['user_id'], utf8_encode($app2res['userfullname']));
                             }
                         }
                     }
                     if (isset($approver_2) && $approver_2 != '') {
                         $empstring = $empstring . ',' . $approver_2;
                         $approver3Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring);
                         if (!empty($approver3Data)) {
                             foreach ($approver3Data as $app3res) {
                                 $servicedeskconfform->approver_3->addMultiOption($app3res['user_id'], utf8_encode($app3res['userfullname']));
                             }
                         }
                     }
                 }
             }
             if (isset($approver_1) && $approver_1 != 0 && $approver_1 != '') {
                 $servicedeskconfform->setDefault('approver_1', $approver_1);
             }
             if (isset($approver_2) && $approver_2 != 0 && $approver_2 != '') {
                 $servicedeskconfform->setDefault('approver_2', $approver_2);
             }
             if (isset($approver_3) && $approver_3 != 0 && $approver_3 != '') {
                 $servicedeskconfform->setDefault('approver_3', $approver_3);
             }
         }
         return $msgarray;
     }
 }
 /**
  * This function is used for ajax call to get departments based on
  * business unit id.
  * @parameters
  * @param {Integer} bunitid  =  id of business unit.
  *
  * @return Array of departments in json format.
  */
 public function getdepartmentsAction()
 {
     $bunit_id = $this->_getParam('bunitid', null);
     $dept_model = new Default_Model_Departments();
     $options_data = "";
     $options_data .= sapp_Global::selectOptionBuilder('', 'Select Department');
     if ($bunit_id != '') {
         $dept_data = $dept_model->getAllDeptsForUnit($bunit_id);
         foreach ($dept_data as $dept) {
             $options_data .= sapp_Global::selectOptionBuilder($dept['id'], $dept['deptname']);
         }
     }
     $this->_helper->json(array('options' => $options_data));
 }
 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;
     }
 }
 public function editAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $businessunit_id = $auth->getStorage()->read()->businessunit_id;
         $department_id = $auth->getStorage()->read()->department_id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $this->view->loginuserRole = $loginuserRole;
     $this->view->loginuserGroup = $loginuserGroup;
     $id = $this->getRequest()->getParam('id');
     $callval = $this->getRequest()->getParam('call');
     if ($callval == 'ajaxcall') {
         $this->_helper->layout->disableLayout();
     }
     $appraisalinitform = new Default_Form_Appraisalinit();
     $app_rating_model = new Default_Model_Appraisalratings();
     $appraisalinitform->submit->setLabel('Update');
     $disable_arr = array();
     $ratings = '';
     $eligibilityvalue = '';
     $ratingsflag = 'false';
     $data = array();
     try {
         if ($id != '') {
             if (is_numeric($id) && $id > 0) {
                 $appraisalinitmodel = new Default_Model_Appraisalinit();
                 $checkRatingsExists = $app_rating_model->getAppraisalRatingsbyInitId($id);
                 if (!empty($checkRatingsExists)) {
                     $ratingsflag = 'true';
                 }
                 $this->view->ratingsflag = $ratingsflag;
                 $data = $appraisalinitmodel->getConfigData($id);
                 if (!empty($data)) {
                     $data = $data[0];
                     $performance_app_flag = isset($data['performance_app_flag']) ? $data['performance_app_flag'] : '';
                     $this->view->performance_app_flag = $performance_app_flag;
                     $app_rating_type = isset($data['appraisal_ratings']) ? $data['appraisal_ratings'] : 0;
                     $this->view->init_id = $id;
                     if ($data['initialize_status'] == 1) {
                         $this->appraisalinitialized($data);
                     } else {
                         if ($loginuserRole != SUPERADMINROLE && $loginuserGroup != MANAGEMENT_GROUP) {
                             // $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessunit_id, $department_id);
                             $empSummaryModel = new Default_Model_Employee();
                             $empData = $empSummaryModel->getEmp_from_summary($loginUserId);
                             $appraisalinitform->businessunit_name->setValue($empData['businessunit_name']);
                             if ($performance_app_flag == 0) {
                                 $appraisalinitform->department_name->setValue($empData['department_name']);
                             } else {
                                 $appraisalinitform->removeElement("department_name");
                             }
                         } else {
                             // $appImpleData = sapp_PerformanceHelper::check_per_implmentation($data['businessunit_id'], $data['department_id']);
                             $businessunits = $appraisalinitmodel->getbusinnessunits_admin($data['businessunit_id']);
                             $this->view->businessunits = $businessunits;
                             $dept_model = new Default_Model_Departments();
                             if ($performance_app_flag == 0) {
                                 $dept_data = $dept_model->getParicularDepartmentId($data['department_id']);
                                 if (count($dept_data) > 0) {
                                     $dept_data = $dept_data[0];
                                     $appraisalinitform->department_id->addMultiOption($dept_data['id'], $dept_data['deptname']);
                                 }
                             }
                         }
                         // $this->view->imple_data = $appImpleData;
                         $employmentstatusModel = new Default_Model_Employmentstatus();
                         $employmentStatusData = $employmentstatusModel->getempstatusActivelist();
                         if (!empty($employmentStatusData)) {
                             foreach ($employmentStatusData as $employmentStatusres) {
                                 $appraisalinitform->eligibility->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']);
                                 $appraisalinitform->eligibility_hidden->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']);
                                 $eligibilityvalue .= $employmentStatusres['workcodename'] . ',';
                             }
                             $eligibilityvalue = rtrim($eligibilityvalue, ',');
                         }
                         $category_model = new Default_Model_Appraisalcategory();
                         $category_data = $category_model->getAppraisalCategorysData();
                         foreach ($category_data as $cdata) {
                             $appraisalinitform->category_id->addMultiOption($cdata['id'], $cdata['category_name']);
                         }
                         // Set default values for 'To Year' field
                         $following_year = $data["from_year"] + 1;
                         $appraisalinitform->to_year->addMultiOptions(array($data["from_year"] => $data["from_year"], $following_year => $following_year));
                         $appraisalinitform->populate($data);
                         // if($appImpleData['appraisal_ratings'] == 1)
                         // if($app_rating_type == 1)
                         // $ratings = '1-5';
                         // else
                         // $ratings = '1-10';
                         $appraisalinitform->appraisal_ratings->setValue($app_rating_type);
                         if ($eligibilityvalue != '') {
                             $appraisalinitform->eligibility_value->setValue($eligibilityvalue);
                         }
                         $appraisalinitform->setAttrib('action', BASE_URL . 'appraisalinit/edit/id/' . $id);
                         $appraisalinitform->eligibilityflag->setValue('1');
                         $appraisalinitform->eligibility_hidden->setAttrib("disabled", "disabled");
                         /*$cnt = $appraisalinitmodel->check_delete($id);
                           if($cnt > 0)
                           {
                               $disable_arr[] = "management_appraisal"; 
                           }*/
                         if ($data['enable_step'] == 2) {
                             $appraisalinitform->enable_step->removeMultiOption(1);
                         }
                         $this->view->period_disp = $this->period_helper($data['appraisal_mode'], $data['appraisal_period']);
                         $this->view->data = $data;
                         $this->view->category_id_value = $data['category_id'];
                         $this->view->businessunit_id = $businessunit_id;
                         $this->view->employmentStatusData = $employmentStatusData;
                         $this->view->eligibilityvalue = $eligibilityvalue;
                     }
                 } else {
                     $this->view->ermsg = 'norecord';
                 }
             } else {
                 $this->view->ermsg = 'norecord';
             }
         } else {
             $this->view->ermsg = '';
         }
     } catch (Exception $e) {
         $this->view->ermsg = 'nodata';
     }
     $this->view->eligibility_value = isset($data['eligibility']) ? $data['eligibility'] : '';
     $this->view->form = $appraisalinitform;
     if ($this->getRequest()->getPost()) {
         $result = $this->save($appraisalinitform, $is_edit = 1);
         $this->view->msgarray = $result;
     }
     //$this->view->disable_arr = $disable_arr;
     if (!empty($data) && $data['initialize_status'] == 1) {
         $this->render('edit');
     } else {
         $this->render('form');
     }
 }
 public function saveEmployeeLeaves($addEmpLeavesForm, $loginUserId)
 {
     $addemployeeleavesModel = new Default_Model_Addemployeeleaves();
     $employeeleavesModel = new Default_Model_Employeeleaves();
     $leavemanagementModel = new Default_Model_Leavemanagement();
     $usermodel = new Default_Model_Employee();
     $businessunit_id = $this->_getParam('businessunit_id', null);
     $department_id = $this->_getParam('department_id', null);
     $user_ids = $this->_getParam('user_id', null);
     if ($addEmpLeavesForm->isValid($this->_request->getPost())) {
         try {
             $postedArr = array();
             $id = $this->_request->getParam('id');
             $postedArr = $this->_request->getPost();
             $actionflag = 1;
             $tableid = '';
             if (!empty($user_ids)) {
                 foreach ($user_ids as $key => $val) {
                     $leavetransfercount = 0;
                     $isleavetrasnferset = 0;
                     $userId = $key;
                     $emp_leave_limit = $val;
                     $empDetails = $usermodel->getEmp_from_summary($userId);
                     $prevyeardata = $employeeleavesModel->getPreviousYearEmployeeleaveData($userId);
                     if (!empty($empDetails)) {
                         $userDepartment = $empDetails['department_id'];
                         $leavetransferArr = $leavemanagementModel->getWeekendDetails($userDepartment);
                     }
                     if (!empty($leavetransferArr) && $leavetransferArr[0]['is_leavetransfer'] == 1) {
                         $leavetransfercount = !empty($prevyeardata) ? $prevyeardata[0]['remainingleaves'] : 0;
                         $isleavetrasnferset = 1;
                     }
                     $currentyeardata = $employeeleavesModel->getsingleEmployeeleaveData($userId);
                     if (empty($currentyeardata)) {
                         $empLeaveLimit = $emp_leave_limit + $leavetransfercount;
                     } else {
                         $empLeaveLimit = $emp_leave_limit + $currentyeardata[0]['emp_leave_limit'];
                     }
                     /* Save employee leaves in allotted leaves log */
                     $logID = $employeeleavesModel->saveallotedleaves($postedArr, $emp_leave_limit, $userId, $loginUserId);
                     $Id = $employeeleavesModel->SaveorUpdateEmployeeLeaves($userId, $empLeaveLimit, $isleavetrasnferset, $loginUserId);
                     $menuID = EMPLOYEE;
                     $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $userId);
                     $empLeaveLimit = '';
                 }
             }
             $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee Leave details added successfully."));
             $this->_redirect('addemployeeleaves');
         } catch (Exception $e) {
             $msgarray['businessunit_id'] = "Something went wrong, please try again.";
             return $msgarray;
         }
     } else {
         $messages = $addEmpLeavesForm->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         if (!empty($businessunit_id)) {
             $bu_id = implode(',', $businessunit_id);
             $dept_model = new Default_Model_Departments();
             $dept_data = $dept_model->getDepartmentWithCodeList_bu($bu_id);
             if (!empty($dept_data)) {
                 foreach ($dept_data as $dept) {
                     $addEmpLeavesForm->department_id->addMultiOption($dept['id'], $dept['unitcode'] . " " . $dept['deptname']);
                 }
             }
         }
         if (!empty($department_id)) {
             $dept_id = implode(',', $department_id);
             $emp_data = $addemployeeleavesModel->getMultipleEmployees($dept_id);
             if (!empty($emp_data)) {
                 foreach ($emp_data as $emp) {
                     $addEmpLeavesForm->user_id->addMultiOption($emp['user_id'] . "-" . $emp['department_id'], $emp['userfullname']);
                 }
             }
         }
         return $msgarray;
     }
 }
 public function updateempdetails($employeeform)
 {
     $emproleStr = '';
     $roleArr = array();
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $usersModel = new Default_Model_Usermanagement();
     $employeeModal = new Default_Model_Employee();
     $businessunit_id = $this->_request->getParam('businessunit_id', null);
     $department_id = $this->_request->getParam('department_id', null);
     $reporting_manager = $this->_request->getParam('reporting_manager', null);
     $jobtitle_id = $this->_request->getParam('jobtitle_id', null);
     $position_id = $this->_request->getParam('position_id', null);
     $user_id = $this->_getParam('user_id', null);
     $prefix_id = $this->_getParam('prefix_id', null);
     $extension_number = $this->_getParam('extension_number', null);
     if ($employeeform->isValid($this->_request->getPost())) {
         $id = $this->_request->getParam('id');
         $emp_status_id = $this->_request->getParam('emp_status_id', null);
         $date_of_joining = $this->_request->getParam('date_of_joining', null);
         $date_of_joining = sapp_Global::change_date($date_of_joining, 'database');
         $date_of_leaving = $this->_request->getParam('date_of_leaving', null);
         $date_of_leaving = sapp_Global::change_date($date_of_leaving, 'database');
         $years_exp = $this->_request->getParam('years_exp');
         //FOR USER table
         $employeeId = $this->_getParam('employeeId', null);
         $modeofentry = $this->_getParam('modeofentry', null);
         $hid_modeofentry = $this->_getParam('hid_modeofentry', null);
         $other_modeofentry = $this->_getParam('other_modeofentry', null);
         $userfullname = $this->_getParam('userfullname', null);
         $candidatereferredby = $this->_getParam('candidatereferredby', null);
         $rccandidatename = $this->_getParam('rccandidatename', null);
         $emprole = $this->_getParam('emprole', null);
         //roleid_group_id
         if ($emprole != "") {
             $roleArr = explode('_', $emprole);
             if (!empty($roleArr)) {
                 $emproleStr = $roleArr[0];
             }
         }
         $emailaddress = $this->_getParam('emailaddress', null);
         $tmp_name = $this->_request->getParam('tmp_emp_name', null);
         $act_inact = $this->_request->getParam("act_inact", null);
         //end of user table
         $date = new Zend_Date();
         $menumodel = new Default_Model_Menu();
         $empstatusarray = array(8, 9, 10);
         $actionflag = '';
         $tableid = '';
         if ($modeofentry == 'Direct' || $hid_modeofentry == 'Direct') {
             $candidate_key = 'userfullname';
             $candidate_value = $userfullname;
             $emp_name = $userfullname;
             $candidate_flag = 'no';
         } else {
             $candidate_key = 'rccandidatename';
             $candidate_value = $rccandidatename;
             $emp_name = $tmp_name;
             $candidate_flag = 'yes';
         }
         $trDb = Zend_Db_Table::getDefaultAdapter();
         // starting transaction
         $trDb->beginTransaction();
         try {
             $emppassword = sapp_Global::generatePassword();
             $user_data = array('emprole' => $emproleStr, $candidate_key => $candidate_value, 'emailaddress' => $emailaddress, 'modifiedby' => $loginUserId, 'modifieddate' => Zend_Registry::get('currentdate'), 'emppassword' => md5($emppassword), 'employeeId' => $employeeId, 'modeofentry' => $id == '' ? $modeofentry : "", 'selecteddate' => $date_of_joining, 'candidatereferredby' => $candidatereferredby, 'userstatus' => 'old', 'other_modeofentry' => $other_modeofentry);
             if ($id != '') {
                 $where = array('user_id=?' => $user_id);
                 $actionflag = 2;
                 $user_where = "id = " . $user_id;
                 unset($user_data['candidatereferredby']);
                 unset($user_data['userstatus']);
                 unset($user_data['emppassword']);
                 unset($user_data['employeeId']);
                 unset($user_data['modeofentry']);
                 unset($user_data['other_modeofentry']);
             } else {
                 $data['createdby'] = $loginUserId;
                 $data['createddate'] = gmdate("Y-m-d H:i:s");
                 $data['isactive'] = 1;
                 $user_data['createdby'] = $loginUserId;
                 $user_data['createddate'] = gmdate("Y-m-d H:i:s");
                 $user_data['isactive'] = 1;
                 if ($modeofentry != 'Direct') {
                     $user_data['userfullname'] = $emp_name;
                 }
                 $where = '';
                 $actionflag = 1;
                 $user_where = '';
             }
             $user_status = $usersModel->SaveorUpdateUserData($user_data, $user_where);
             if ($id == '') {
                 $user_id = $user_status;
             }
             $data = array('user_id' => $user_id, 'reporting_manager' => $reporting_manager, 'emp_status_id' => $emp_status_id, 'businessunit_id' => $businessunit_id, 'department_id' => $department_id, 'jobtitle_id' => $jobtitle_id, 'position_id' => $position_id, 'prefix_id' => $prefix_id, 'extension_number' => $extension_number, 'date_of_joining' => $date_of_joining, 'date_of_leaving' => $date_of_leaving != '' ? $date_of_leaving : NULL, 'years_exp' => $years_exp == '' ? null : $years_exp, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             $Id = $employeeModal->SaveorUpdateEmployeeData($data, $where);
             $statuswhere = array('id=?' => $user_id);
             if (in_array($emp_status_id, $empstatusarray)) {
                 $isactivestatus = '';
                 if ($emp_status_id == 8) {
                     $isactivestatus = 2;
                 } else {
                     if ($emp_status_id == 9) {
                         $isactivestatus = 3;
                     } else {
                         if ($emp_status_id == 10) {
                             $isactivestatus = 4;
                         }
                     }
                 }
                 $statusdata = array('isactive' => $isactivestatus);
                 $empstatusId = $usersModel->SaveorUpdateUserData($statusdata, $statuswhere);
             } else {
                 $statusdata = array('isactive' => 1);
                 $empstatusId = $usersModel->SaveorUpdateUserData($statusdata, $statuswhere);
             }
             if ($Id == 'update') {
                 $tableid = $id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee details updated successfully."));
             } else {
                 //start of mailing
                 $base_url = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl();
                 $view = $this->getHelper('ViewRenderer')->view;
                 $this->view->emp_name = $emp_name;
                 $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 of mailing
                 $tableid = $Id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee details added successfully."));
             }
             $menuidArr = $menumodel->getMenuObjID('/employee');
             $menuID = $menuidArr[0]['id'];
             $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             $menuidArr = $menumodel->getMenuObjID('/usermanagement');
             $menuID_user = $menuidArr[0]['id'];
             $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $user_id);
             if ($act_inact == 1) {
                 if ($user_data['isactive'] == 1) {
                     $act_str = array("Activated" => Zend_Registry::get('currentdate'));
                 } else {
                     $act_str = array("Inactivated" => Zend_Registry::get('currentdate'));
                 }
                 $result = sapp_Global::logManager($menuID_user, 4, $loginUserId, $user_id, '', $act_str);
             }
             $trDb->commit();
             $this->_redirect('employee/edit/id/' . $user_id);
         } catch (Exception $e) {
             $trDb->rollBack();
             $msgarray['employeeId'] = "Something went wrong,please try again later.";
             return $msgarray;
         }
     } else {
         $messages = $employeeform->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         $usersModel = new Default_Model_Users();
         if (isset($businessunit_id) && $businessunit_id != 0 && $businessunit_id != '') {
             $departmentsmodel = new Default_Model_Departments();
             $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
             $employeeform->department_id->clearMultiOptions();
             $employeeform->reporting_manager->clearMultiOptions();
             $employeeform->department_id->addMultiOption('', 'Select Department');
             foreach ($departmentlistArr as $departmentlistresult) {
                 $employeeform->department_id->addMultiOption($departmentlistresult['id'], utf8_encode($departmentlistresult['deptname']));
             }
             if (isset($department_id) && $department_id != 0 && $department_id != '') {
                 $employeeform->setDefault('department_id', $department_id);
             }
         }
         if (isset($department_id) && $department_id != 0 && $department_id != '') {
             $reportingManagerArr = $usersModel->getReportingManagerList($department_id, $user_id);
             $employeeform->reporting_manager->addMultiOption('', 'Select Reporting Manager');
             foreach ($reportingManagerArr as $reportingManagerresult) {
                 $employeeform->reporting_manager->addMultiOption($reportingManagerresult['id'], utf8_encode($reportingManagerresult['userfullname']));
             }
             if (isset($reporting_manager) && $reporting_manager != 0 && $reporting_manager != '') {
                 $employeeform->setDefault('reporting_manager', $reporting_manager);
             }
         }
         if (isset($jobtitle_id) && $jobtitle_id != 0 && $jobtitle_id != '') {
             $positionsmodel = new Default_Model_Positions();
             $positionlistArr = $positionsmodel->getPositionList($jobtitle_id);
             $employeeform->position_id->clearMultiOptions();
             $employeeform->position_id->addMultiOption('', 'Select Position');
             foreach ($positionlistArr as $positionlistRes) {
                 $employeeform->position_id->addMultiOption($positionlistRes['id'], utf8_encode($positionlistRes['positionname']));
             }
             if (isset($position_id) && $position_id != 0 && $position_id != '') {
                 $employeeform->setDefault('position_id', $position_id);
             }
         }
         return $msgarray;
     }
 }
 public function buildoptions($businessUnitId, $departmentId, $performanceappflag)
 {
     $businessunitmodel = new Default_Model_Businessunits();
     $deptmodel = new Default_Model_Departments();
     $deptOptions = '';
     $buDataArr = $businessunitmodel->getSingleUnitData($businessUnitId);
     if (!empty($buDataArr)) {
         $buOptions = "<option value=" . $buDataArr['id'] . ">" . utf8_encode($buDataArr['unitname']) . "</option>";
     }
     if ($performanceappflag == 0) {
         if ($departmentId != '') {
             $deptArr = $deptmodel->getSingleDepartmentData($departmentId);
         }
     }
     if (!empty($deptArr)) {
         $deptOptions = "<option value=" . $deptArr['id'] . ">" . utf8_encode($deptArr['deptname']) . "</option>";
     }
     return array('buoptions' => $buOptions, 'deptoptions' => $deptOptions);
 }
Example #17
0
 public static function getbudeptname($appraisalid)
 {
     $appInitModel = new Default_Model_Appraisalinit();
     $businessunitmodel = new Default_Model_Businessunits();
     $deptmodel = new Default_Model_Departments();
     $buname = '';
     $deptname = '';
     $perf_impl_flag = '';
     $appraisaldataArr = array();
     if ($appraisalid) {
         $appraisaldataArr = $appInitModel->getAppDataById($appraisalid);
         if (!empty($appraisaldataArr)) {
             if ($appraisaldataArr['businessunit_id'] != '') {
                 $buDataArr = $businessunitmodel->getSingleUnitData($appraisaldataArr['businessunit_id']);
                 // $perfimplementation = $appInitModel->check_performance_implmentation($appraisaldataArr['businessunit_id']);
                 if (!empty($buDataArr)) {
                     $buname = $buDataArr['unitname'];
                 }
                 /*if(!empty($perfimplementation))
                 		{
                 			$perf_impl_flag = $perfimplementation['performance_app_flag'];
                 		}*/
                 $perf_impl_flag = isset($appraisaldataArr['performance_app_flag']) ? $appraisaldataArr['performance_app_flag'] : 1;
             }
             if ($perf_impl_flag == 0) {
                 if ($appraisaldataArr['department_id'] != '') {
                     $deptArr = $deptmodel->getSingleDepartmentData($appraisaldataArr['department_id']);
                 }
                 if (!empty($deptArr)) {
                     $deptname = $deptArr['deptname'];
                 }
             }
         }
     }
     return array('buname' => $buname, 'deptname' => $deptname, 'perf_app_flag' => $perf_impl_flag, 'appdata' => $appraisaldataArr);
 }
Example #18
0
 public function createLeaveHistoryReportFinalArray($dataArray, $columnArray)
 {
     $empleavetypesArray = array();
     $usersArray = array();
     $repmanagerArray = array();
     $departmentArray = array();
     $reportsModel = new Default_Model_Reports();
     $departmentsmodel = new Default_Model_Departments();
     if (!empty($dataArray)) {
         foreach ($dataArray as $key => $curr) {
             if (isset($curr['leavetypeid'])) {
                 if (!in_array($curr['leavetypeid'], $empleavetypesArray)) {
                     array_push($empleavetypesArray, $curr['leavetypeid']);
                 }
             }
             if (isset($curr['user_id'])) {
                 if (!in_array($curr['user_id'], $usersArray)) {
                     array_push($usersArray, $curr['user_id']);
                 }
             }
             if (isset($curr['rep_mang_id'])) {
                 if (!in_array($curr['rep_mang_id'], $repmanagerArray)) {
                     array_push($repmanagerArray, $curr['rep_mang_id']);
                 }
             }
             if (isset($curr['departmentid'])) {
                 if (!in_array($curr['departmentid'], $departmentArray)) {
                     array_push($departmentArray, $curr['departmentid']);
                 }
             }
         }
     }
     if (!empty($empleavetypesArray)) {
         $empleavetypesArray = $reportsModel->getEmpLeaveNamesByIds($empleavetypesArray);
     }
     if (!empty($usersArray)) {
         $userNameArray = $reportsModel->getUserNamesByIds($usersArray);
     }
     if (!empty($repmanagerArray)) {
         $repManagerNameArray = $reportsModel->getRepManagerNamesByIds($repmanagerArray);
     }
     if (!empty($departmentArray)) {
         $departmentnamesArr = $departmentsmodel->getDepartmentNameFromDeptString($departmentArray);
     }
     $finalArray = array();
     if (!empty($dataArray)) {
         foreach ($dataArray as $key => $curr) {
             if (array_search('employeename', $columnArray) !== false) {
                 $finalArray[$key]['employeename'] = isset($userNameArray[$curr['user_id']]) ? $userNameArray[$curr['user_id']] : '';
             }
             if (array_search("reportingmanagername", $columnArray) !== false) {
                 $finalArray[$key]['reportingmanagername'] = isset($repManagerNameArray[$curr['rep_mang_id']]) ? $repManagerNameArray[$curr['rep_mang_id']] : '';
             }
             if (array_search("leavetype", $columnArray) !== false) {
                 $finalArray[$key]['leavetype'] = isset($empleavetypesArray[$curr['leavetypeid']]) ? $empleavetypesArray[$curr['leavetypeid']] : '';
             }
             if (array_search("deptname", $columnArray) !== false) {
                 $finalArray[$key]['deptname'] = isset($departmentnamesArr[$curr['departmentid']]) ? $departmentnamesArr[$curr['departmentid']] : '';
             }
             if (array_search("leaveday", $columnArray) !== false) {
                 $finalArray[$key]['leaveday'] = $curr['leaveday'];
             }
             if (array_search("leavestatus", $columnArray) !== false) {
                 $finalArray[$key]['leavestatus'] = $curr['leavestatus'];
             }
             if (array_search("from_date", $columnArray) !== false) {
                 $finalArray[$key]['from_date'] = $curr['from_date'];
             }
             if (array_search("to_date", $columnArray) !== false) {
                 $finalArray[$key]['to_date'] = $curr['to_date'];
             }
             if (array_search("reason", $columnArray) !== false) {
                 $finalArray[$key]['reason'] = $curr['reason'];
             }
             if (array_search("appliedleavescount", $columnArray) !== false) {
                 $finalArray[$key]['appliedleavescount'] = $curr['appliedleavescount'];
             }
             if (array_search("applieddate", $columnArray) !== false) {
                 $finalArray[$key]['applieddate'] = $curr['applieddate'];
             }
         }
     }
     return $finalArray;
 }
 public function getuniqueDepartment($businessunit_id)
 {
     $leavemanagementmodel = new Default_Model_Leavemanagement();
     $departmentidsArr = $leavemanagementmodel->getActiveDepartmentIds();
     $departmentsmodel = new Default_Model_Departments();
     $depatrmentidstr = '';
     $newarr = array();
     if (!empty($departmentidsArr)) {
         $where = '';
         for ($i = 0; $i < sizeof($departmentidsArr); $i++) {
             $newarr1[] = array_push($newarr, $departmentidsArr[$i]['deptid']);
         }
         $depatrmentidstr = implode(",", $newarr);
         foreach ($newarr as $deparr) {
             $where .= " id!= {$deparr} AND ";
         }
         $where = trim($where, " AND");
         $querystring = "Select d.id,d.deptname from main_departments as d where d.unitid={$businessunit_id} and d.isactive=1 and {$where}  ";
         $uniquedepartmentids = $departmentsmodel->getUniqueDepartments($querystring);
         return $uniquedepartmentids;
     } else {
         $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
         return $departmentlistArr;
     }
 }
 public function save($appraisalconfigform)
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginUserEmpId = $auth->getStorage()->read()->employeeId;
         $loginUserEmail = $auth->getStorage()->read()->emailaddress;
         $loginUsername = $auth->getStorage()->read()->userfullname;
     }
     $appraisalconfigmodel = new Default_Model_Appraisalconfig();
     $departmentsmodel = new Default_Model_Departments();
     $businessunitsmodel = new Default_Model_Businessunits();
     $msgarray = array();
     $resultArr = array();
     $arrData = array();
     $prevBusinessunit = '';
     $errorflag = "true";
     $id = $this->_request->getParam('id');
     $businessunit_id = $this->_request->getParam('businessunit_id');
     $performance_app_flag = $this->_request->getParam('performance_app_flag');
     $department_id = $this->_request->getParam('department_id');
     $appraisal_mode = $this->_request->getParam('appraisal_mode');
     $approval_selection = $this->_request->getParam('approval_selection');
     $appraisal_ratings = $this->_request->getParam('appraisal_ratings');
     // Validation to check duplicate combinations
     $arrData = array("business_unit_id" => $businessunit_id, "department_id" => $department_id, "id" => $id);
     if ($appraisalconfigmodel->combinationExists($arrData)) {
         $msgarray['businessunit_id'] = 'Business unit or department configuration already exists.';
         $errorflag = "false";
     }
     /** Start
      * Validating selection of department if implementaion is department wise
      */
     if ($performance_app_flag == 0) {
         if ($department_id == '') {
             $msgarray['department_id'] = 'Please select department.';
             $errorflag = "false";
         }
     }
     /**
     			End validating selection of department
     */
     /** Start
                 Validating unique service desk department
         */
     if ($businessunit_id != '' && $id == '') {
         $appraisalconigfArr = $appraisalconfigmodel->checkuniqueAppraisalConfigData($businessunit_id, $performance_app_flag, $department_id);
         if (!empty($appraisalconigfArr)) {
             if ($appraisalconigfArr[0]['count'] > 0) {
                 $msgarray['department_id'] = 'Please select a different department.';
                 $errorflag = "false";
             }
         }
     }
     /** End
      * Validating uniques  department
      */
     $db = Zend_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     if ($appraisalconfigform->isValid($this->_request->getPost()) && $errorflag == 'true') {
         try {
             $actionflag = '';
             $tableid = '';
             $data = array('businessunit_id' => $businessunit_id, 'department_id' => $department_id != '' ? $department_id : NULL, 'performance_app_flag' => $performance_app_flag, 'appraisal_mode' => $appraisal_mode, 'appraisal_ratings' => $appraisal_ratings, 'module_flag' => 1, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             if ($id != '') {
                 /* for Update record  */
                 $where = array('id=?' => $id);
                 $actionflag = 2;
             } else {
                 /* for Insert new record  */
                 $data['createdby'] = $loginUserId;
                 $data['createddate'] = gmdate("Y-m-d H:i:s");
                 $data['isactive'] = 1;
                 $where = '';
                 $actionflag = 1;
             }
             $Id = $appraisalconfigmodel->SaveorUpdateAppraisalConfigData($data, $where);
             if ($Id == 'update') {
                 $tableid = $id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Appraisal settings updated successfully"));
             } else {
                 $tableid = $Id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Appraisal settings added successfully"));
             }
             /*
              *   Logs Storing
              */
             $menuID = APPRAISAL_SETTINGS;
             $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             /*
              *  Logs storing ends
              */
             /** Start
              * Sending Mails to employees
              */
             if ($performance_app_flag == 0) {
                 $appraisal_details = $appraisalconfigmodel->getBunitDept($businessunit_id, $department_id);
             } else {
                 $appraisal_details = $appraisalconfigmodel->getBunit($businessunit_id);
             }
             $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessunit_id, $department_id);
             if (!empty($appraisal_details)) {
                 $bunit = $appraisal_details['unitname'];
                 $dept = $appraisal_details['deptname'];
             }
             $msg_add_update = $Id == 'update' ? "Updated" : "Configured";
             $dept_str = $dept == '' ? " " : "and <b>{$dept}</b> department";
             $emp_id_str = $loginuserRole == SUPERADMINROLE ? " " : "({$loginUserEmpId})";
             //Preparing Employee array for BCc
             $empArr = array();
             if (!empty($employeeDetailsArr)) {
                 $empArrList = '';
                 foreach ($employeeDetailsArr as $emp) {
                     array_push($empArr, $emp['emailaddress']);
                 }
             }
             //Sending mail to Super admin
             $options['subject'] = APPLICATION_NAME . ': Performance Appraisal Configuration ' . ucfirst($msg_add_update);
             $options['header'] = 'Performance Appraisal';
             $options['toEmail'] = SUPERADMIN_EMAIL;
             $options['bcc'] = $empArr;
             $options['toName'] = 'Super Admin';
             $options['message'] = "<div style='padding: 0; text-align: left; font-size:14px; font-family:Arial, Helvetica, sans-serif;'>\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span style='color:#3b3b3b;'>Hi,</span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style='padding:20px 0 0 0;color:#3b3b3b;'>Performance appraisal settings are {$msg_add_update} for <b>{$bunit}</b> business unit {$dept_str} by " . $loginUsername . $emp_id_str . " </div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style='padding:20px 0 10px 0;'>Please <a href=" . BASE_URL . " target='_blank' style='color:#b3512f;'>click here</a> to login  to <b>" . APPLICATION_NAME . "</b> and check the details.</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div> ";
             $mail_id = sapp_Global::_sendEmail($options);
             /**
              * End
              */
             $db->commit();
             $this->_redirect('appraisalconfig');
             throw new Exception("Some error message");
         } catch (Exception $e) {
             $db->rollBack();
             echo $e->getMessage();
             echo $e->getTraceAsString();
             return $msgarray;
         }
     } else {
         $messages = $appraisalconfigform->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         if (isset($businessunit_id) && $businessunit_id != '') {
             if ($performance_app_flag == 0) {
                 $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
                 if (!empty($departmentlistArr)) {
                     foreach ($departmentlistArr as $departmentlist) {
                         $appraisalconfigform->department_id->addMultiOption($departmentlist['id'], utf8_encode($departmentlist['deptname']));
                     }
                 }
             }
             if (isset($department_id) && $department_id != 0 && $department_id != '') {
                 $appraisalconfigform->setDefault('department_id', $department_id);
             }
         }
         return $msgarray;
     }
 }
 public function comeditAction()
 {
     if (defined('EMPTABCONFIGS')) {
         $empOrganizationTabs = explode(",", EMPTABCONFIGS);
         if (in_array('empcommunicationdetails', $empOrganizationTabs)) {
             $empDeptdata = array();
             $employeeData = array();
             $auth = Zend_Auth::getInstance();
             if ($auth->hasIdentity()) {
                 $loginUserId = $auth->getStorage()->read()->id;
                 $loginuserRole = $auth->getStorage()->read()->emprole;
                 $loginuserGroup = $auth->getStorage()->read()->group_id;
             }
             $id = $this->getRequest()->getParam('userid');
             if ($id == '') {
                 $id = $loginUserId;
             }
             $callval = $this->getRequest()->getParam('call');
             if ($callval == 'ajaxcall') {
                 $this->_helper->layout->disableLayout();
             }
             try {
                 if ($id && is_numeric($id) && $id > 0 && $id != $loginUserId) {
                     $employeeModal = new Default_Model_Employee();
                     $empdata = $employeeModal->getsingleEmployeeData($id);
                     if ($empdata == 'norows') {
                         $this->view->rowexist = "norows";
                         $this->view->empdata = "";
                     } else {
                         $this->view->rowexist = "rows";
                         if (!empty($empdata)) {
                             $empDept = $empdata[0]['department_id'];
                             $empcommdetailsform = new Default_Form_empcommunicationdetails();
                             $empcommdetailsModal = new Default_Model_Empcommunicationdetails();
                             $usersModel = new Default_Model_Users();
                             $countriesModel = new Default_Model_Countries();
                             $statesmodel = new Default_Model_States();
                             $citiesmodel = new Default_Model_Cities();
                             $orgInfoModel = new Default_Model_Organisationinfo();
                             $msgarray = array();
                             $orgid = 1;
                             $countryId = '';
                             $stateId = '';
                             $cityId = '';
                             $deptModel = new Default_Model_Departments();
                             if ($empDept != '' && $empDept != 'NULL') {
                                 $empDeptdata = $deptModel->getEmpdepartmentdetails($empDept);
                                 if (!empty($empDeptdata)) {
                                     $countryId = $empDeptdata[0]['country'];
                                     $stateId = $empDeptdata[0]['state'];
                                     $cityId = $empDeptdata[0]['city'];
                                 }
                             } else {
                                 $empDeptdata = $orgInfoModel->getOrganisationDetails($orgid);
                                 if (!empty($empDeptdata)) {
                                     $countryId = $empDeptdata[0]['country'];
                                     $stateId = $empDeptdata[0]['state'];
                                     $cityId = $empDeptdata[0]['city'];
                                 }
                             }
                             if ($countryId != '') {
                                 $countryData = $countriesModel->getActiveCountryName($countryId);
                             }
                             if (!empty($countryData)) {
                                 $empDeptdata[0]['country'] = $countryData[0]['country'];
                             } else {
                                 $empDeptdata[0]['country'] = '';
                             }
                             if ($stateId != '') {
                                 $stateData = $statesmodel->getStateNameData($stateId);
                             }
                             if (!empty($stateData)) {
                                 $empDeptdata[0]['state'] = $stateData[0]['state'];
                             } else {
                                 $empDeptdata[0]['state'] = '';
                             }
                             if ($cityId != '') {
                                 $citiesData = $citiesmodel->getCitiesNameData($cityId);
                             }
                             if (!empty($citiesData)) {
                                 $empDeptdata[0]['city'] = $citiesData[0]['city'];
                             } else {
                                 $empDeptdata[0]['city'] = '';
                             }
                             $countrieslistArr = $countriesModel->getTotalCountriesList();
                             if (sizeof($countrieslistArr) > 0) {
                                 $empcommdetailsform->perm_country->addMultiOption('', 'Select Country');
                                 $empcommdetailsform->current_country->addMultiOption('', 'Select Country');
                                 foreach ($countrieslistArr as $countrieslistres) {
                                     $empcommdetailsform->perm_country->addMultiOption($countrieslistres['id'], utf8_encode($countrieslistres['country_name']));
                                     $empcommdetailsform->current_country->addMultiOption($countrieslistres['id'], utf8_encode($countrieslistres['country_name']));
                                 }
                             } else {
                                 $msgarray['perm_country'] = 'Countries are not configured yet.';
                                 $msgarray['current_country'] = 'Countries are not configured yet.';
                             }
                             $data = $empcommdetailsModal->getsingleEmpCommDetailsData($id);
                             if (!empty($data)) {
                                 $perm_country = $data[0]['perm_country'];
                                 if (isset($_POST['perm_country'])) {
                                     $perm_country = $_POST['perm_country'];
                                 }
                                 $perm_state = $data[0]['perm_state'];
                                 if (isset($_POST['perm_state'])) {
                                     $perm_state = $_POST['perm_state'];
                                 }
                                 $perm_city = $data[0]['perm_city'];
                                 if (isset($_POST['perm_city'])) {
                                     $perm_city = $_POST['perm_city'];
                                 }
                                 if ($perm_country != '') {
                                     $statePermlistArr = $statesmodel->getStatesList($perm_country);
                                     if (sizeof($statePermlistArr) > 0) {
                                         $empcommdetailsform->perm_state->addMultiOption('', 'Select State');
                                         foreach ($statePermlistArr as $statelistres) {
                                             $empcommdetailsform->perm_state->addMultiOption($statelistres['id'], $statelistres['state_name']);
                                         }
                                     }
                                 }
                                 if ($perm_state != '') {
                                     $cityPermlistArr = $citiesmodel->getCitiesList($perm_state);
                                     if (sizeof($cityPermlistArr) > 0) {
                                         $empcommdetailsform->perm_city->addMultiOption('', 'Select City');
                                         foreach ($cityPermlistArr as $cityPermlistres) {
                                             $empcommdetailsform->perm_city->addMultiOption($cityPermlistres['id'], $cityPermlistres['city_name']);
                                         }
                                     }
                                 }
                                 $current_country = $data[0]['current_country'];
                                 if (isset($_POST['current_country'])) {
                                     $current_country = $_POST['current_country'];
                                 }
                                 $current_state = $data[0]['current_state'];
                                 if (isset($_POST['current_state'])) {
                                     $current_state = $_POST['current_state'];
                                 }
                                 $current_city = $data[0]['current_city'];
                                 if (isset($_POST['current_city'])) {
                                     $current_city = $_POST['current_city'];
                                 }
                                 if ($current_country != '') {
                                     $statecurrlistArr = $statesmodel->getStatesList($current_country);
                                     if (sizeof($statecurrlistArr) > 0) {
                                         $empcommdetailsform->current_state->addMultiOption('', 'Select State');
                                         foreach ($statecurrlistArr as $statecurrlistres) {
                                             $empcommdetailsform->current_state->addMultiOption($statecurrlistres['id'], $statecurrlistres['state_name']);
                                         }
                                     }
                                 }
                                 if ($current_state != '') {
                                     $cityCurrlistArr = $citiesmodel->getCitiesList($current_state);
                                     if (sizeof($cityCurrlistArr) > 0) {
                                         $empcommdetailsform->current_city->addMultiOption('', 'Select City');
                                         foreach ($cityCurrlistArr as $cityCurrlistres) {
                                             $empcommdetailsform->current_city->addMultiOption($cityCurrlistres['id'], $cityCurrlistres['city_name']);
                                         }
                                     }
                                 }
                                 $empcommdetailsform->populate($data[0]);
                                 $empcommdetailsform->setDefault('perm_country', $perm_country);
                                 $empcommdetailsform->setDefault('perm_state', $perm_state);
                                 $empcommdetailsform->setDefault('perm_city', $perm_city);
                                 if ($data[0]['current_country'] != '') {
                                     $empcommdetailsform->setDefault('current_country', $current_country);
                                 }
                                 if ($data[0]['current_state'] != '') {
                                     $empcommdetailsform->setDefault('current_state', $current_state);
                                 }
                                 if ($data[0]['current_city'] != '') {
                                     $empcommdetailsform->setDefault('current_city', $current_city);
                                 }
                             }
                             $empcommdetailsform->setAttrib('action', DOMAIN . 'myemployees/comedit/userid/' . $id);
                             $empcommdetailsform->user_id->setValue($id);
                             if (!empty($empdata)) {
                                 $this->view->employeedata = $empdata[0];
                             } else {
                                 $this->view->employeedata = $empdata;
                             }
                             if (!empty($empDeptdata)) {
                                 $this->view->dataArray = $empDeptdata[0];
                             } else {
                                 $this->view->dataArray = $empDeptdata;
                             }
                             $this->view->form = $empcommdetailsform;
                             $this->view->data = $data;
                             $this->view->id = $id;
                             $this->view->msgarray = $msgarray;
                             $this->view->messages = $this->_helper->flashMessenger->getMessages();
                         }
                         $this->view->empdata = $empdata;
                     }
                 } else {
                     $this->view->rowexist = "norows";
                 }
             } catch (Exception $e) {
                 $this->view->rowexist = "norows";
             }
             if ($this->getRequest()->getPost()) {
                 $result = $this->comsave($empcommdetailsform, $id);
                 $this->view->msgarray = $result;
             }
         } else {
             $this->_redirect('error');
         }
     } else {
         $this->_redirect('error');
     }
 }
Example #22
0
 /**
  * This function acts as a service for onchange of business unit to get departments.
  * @param array $params_arr  = array of parameters
  * @return array  Array of department options.
  */
 public function bunitOnchange($params_arr)
 {
     $result = array();
     $status = 0;
     $message = "Invalid business unit.";
     if (isset($params_arr['role_id']) && $params_arr['role_id'] != '' && isset($params_arr['group_id']) && $params_arr['group_id'] != '' && isset($params_arr['businessunit_id']) && $params_arr['businessunit_id'] != '' && isset($params_arr['userid']) && $params_arr['userid'] != '') {
         $role_id = $params_arr['role_id'];
         $group_id = $params_arr['group_id'];
         $userid = $params_arr['userid'];
         $businessunit_id = $params_arr['businessunit_id'];
         if ($role_id == SUPERADMINROLE || $group_id == MANAGEMENT_GROUP || $group_id == HR_GROUP) {
             $privilege_flag = sapp_Global::_checkprivileges(EMPLOYEE, $group_id, $role_id, 'add');
             if ($privilege_flag == 'Yes') {
                 $status = 1;
                 $message = "success";
                 $departmentsmodel = new Default_Model_Departments();
                 $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
                 $dept_str = sapp_Global::selectOptionBuilder("", "Select Department");
                 //echo "<pre>";print_r($departmentlistArr);echo "</pre>";
                 if (!empty($departmentlistArr)) {
                     foreach ($departmentlistArr as $data) {
                         $dept_str .= sapp_Global::selectOptionBuilder($data['id'], $data['deptname']);
                     }
                     $result['departments'] = $dept_str;
                 } else {
                     $status = 0;
                     $message = "Departments are not configured yet.";
                 }
             }
         }
     }
     return array('status' => $status, 'message' => $message, 'result' => $result);
 }