public static function manager_questions_privileges($questionarray, $appraisalid, $checkArr, $initializationdata) { ?> <div class="cofig_title" style="margin-left: 0px;">Configure Appraisal Parameters for All Employees</div> <ul class="tabs_all_button" style="margin-left: 0px;"> <li class="active divider" id="alldiv" onclick="showhideqsdiv(1)" >All</li> <li id="selecteddiv" onclick="showhideqsdiv(2)">Selected</li> </ul> <?php if (isset($initializationdata['poppermission']) && $initializationdata['poppermission'] == 'yes') { ?> <div class="addnewqs" onclick="addmanagerqspopup(1,'<?php echo $appraisalid; ?> ');"> + Add New Question </div> <?php sapp_PerformanceHelper::manager_question_div(1); } ?> <div id="hiddenquestiondiv" style="display:none;" class="qstnscrldiv"> <div class="total-form-controller" id="childqsdiv"> <table width="100%" border="0" cellspacing="0" cellpadding="0" style="clear: both; margin-top: 0px; width: 100%;" id="questiontable" class="requisition-table employee_appraisal-table"> <tr> <th class="question_field">Questions</th> <th class="field_width"> <div class="comments_div_fiel">Manager Comments</div> <div class="comments_div_fiel">Manager Ratings</div> <div class="comments_div_fiel">Employee Comments</div> <div class="comments_div_fiel">Employee Ratings</div> </th> </tr> </table> </div> </div> <div id="questiondiv" class="qstnscrldiv"> <div class="total-form-controller_" id="parentqsdiv"> <table width="100%" border="0" cellspacing="0" cellpadding="0" style="clear: both; margin-top: 0px; width: 100%;" class="requisition-table employee_appraisal-table"> <tr> <th class="check_field"><input type="checkbox" class ="selectallcls" name="selectall" value="selectall" id="selectall">Check All</th> <th class="question_field">Questions</th> <th class="field_width"> <div class="comments_div_fiel"> <input type="checkbox" class ="mgrcmntcls" name="mgrcmnt" value="" id="mgrcmnt">Manager Comments</div> <div class="comments_div_fiel"><input type="checkbox" class ="mgrratingcls" name="mgrrating" value="" id="mgrrating">Manager Ratings</div> <div class="comments_div_fiel" style="width:45%;"> <input type="checkbox" class ="empcmntcls" name="empcmnt" value="" id="empcmnt">Employee Comments</div> <div class="comments_div_fiel"><input type="checkbox" class ="empratingcls" name="empratings" value="" id="empratings" >Employee Ratings</div> </th> </tr> <?php foreach ($questionarray as $key => $question) { $check = ''; $mgrcheck = ''; $mgrrate = ''; $empratcheck = ''; $empcmntcheck = ''; if (!empty($checkArr)) { if (array_key_exists($question['id'], $checkArr)) { $check = 'checked'; $checkid = $checkArr[$question['id']]; for ($i = 0; $i < sizeof($checkid); $i++) { if ($checkid['MC'] == 1) { $mgrcheck = 'checked'; } if ($checkid['MR'] == 1) { $mgrrate = 'checked'; } if ($checkid['ER'] == 1) { $empratcheck = 'checked'; } if ($checkid['EC'] == 1) { $empcmntcheck = 'checked'; } } } } else { $check = 'checked'; $mgrcheck = 'checked'; $mgrrate = 'checked'; $empratcheck = 'checked'; $empcmntcheck = 'checked'; } ?> <tr id="questiontr_<?php echo $question['id']; ?> "> <td class="check_field"><input type="checkbox" class ="checkallcls" ques_id ="<?php echo $question['id']; ?> " id="check_<?php echo $question['id']; ?> " name="check[]" value="<?php echo $question['id']; ?> " <?php echo $check; ?> onclick="checkmgrchildtd(this)"></td> <td class="question_field" id="queshtml_<?php echo $question['id']; ?> "> <div> <span class="appri_ques"><?php echo $question['question']; ?> </span> <span class="appri_desc"><?php echo $question['description']; ?> </span> </div> </td> <td class="field_width"> <div class="comments_div_fiel"><input type="checkbox" class ="mgrcmntcls qprivileges_<?php echo $question['id']; ?> " ques_id ="<?php echo $question['id']; ?> " id="mgrcmnt_<?php echo $question['id']; ?> " name="mgrcmnt[<?php echo $question['id']; ?> ]" value="1" <?php echo $mgrcheck; ?> onclick="checkparenttd(this)">Manager Comments</div> <div class="comments_div_fiel"><input type="checkbox" class ="mgrratingcls qprivileges_<?php echo $question['id']; ?> " ques_id ="<?php echo $question['id']; ?> " id="mgrrating_<?php echo $question['id']; ?> " name="mgrrating[<?php echo $question['id']; ?> ]" value="1" <?php echo $mgrrate; ?> onclick="checkparenttd(this)" >Manager Ratings</div> <div class="comments_div_fiel" style="width:45%;"> <input type="checkbox" class ="empcmntcls qprivileges_<?php echo $question['id']; ?> " ques_id ="<?php echo $question['id']; ?> " id="empcmnt_<?php echo $question['id']; ?> " name="empcmnt[<?php echo $question['id']; ?> ]" value="1" <?php echo $empcmntcheck; ?> onclick="checkmgrparenttd(this)">Employee Comments</div> <div class="comments_div_fiel"> <input type="checkbox" class ="empratingcls qprivileges_<?php echo $question['id']; ?> " ques_id ="<?php echo $question['id']; ?> " id="empratings_<?php echo $question['id']; ?> " name="empratings[<?php echo $question['id']; ?> ]" value="1" <?php echo $empratcheck; ?> onclick="checkmgrparenttd(this)">Employee Ratings</div> </td> <?php sapp_PerformanceHelper::check_manager_selected_Qs($check, $empratcheck, $empcmntcheck, $question['id']); ?> </tr> <?php } ?> </table> <input type="hidden" id="appraisalid" name="appraisalid" value="<?php echo $appraisalid; ?> "> <input type="hidden" id="initializeflag" name="initializeflag" value=""> <input type="hidden" id="initializestep" name="initializestep" value="<?php echo $initializationdata['initialize_status']; ?> "> <input type="hidden" id="questioncount" name="questioncount" value="<?php echo sizeof($questionarray); ?> "> </div> </div> <script type="text/javascript"> $(document).ready(function() { $('#questiondiv').alternateScroll({ 'horizontal-bar-class': 'styled-h-bar'}); $('#hiddenquestiondiv').alternateScroll({ 'horizontal-bar-class': 'styled-h-bar'}); $('#selectall').click(function(event) { $('.checkallcls').prop('checked',$(this).prop('checked')); if(this.checked) { $('.checkallcls').each(function() { var id = $(this).attr('ques_id'); appendmgrcheckboxtext(id); }); }else { //$('.mgrcmntcls').prop('checked',false); //$('.empcmntcls').prop('checked',false); //$('.mgrratingcls').prop('checked',false); //$('.empratingcls').prop('checked',false); $("tr[id^=hiddentr_]").remove(); appendheighttodiv(2); } }); $('#mgrcmnt').click(function(event) { //on click if(this.checked) { $('.checkallcls').each(function() { var id = $(this).attr('ques_id'); if(this.checked) { $("#mgrcmnt_"+id).prop('checked', true); } appendcheckboxtext(id); }); }else { $('.mgrcmntcls').prop('checked',$(this).prop('checked')); $("tr[id^=hiddentr_]").remove(); appendheighttodiv(1); } }); $('#mgrrating').click(function(event) { //on click if(this.checked) { $('.checkallcls').each(function() { var id = $(this).attr('ques_id'); if(this.checked) { $("#mgrrating_"+id).prop('checked', true); } appendcheckboxtext(id); }); }else { $('.mgrratingcls').prop('checked',$(this).prop('checked')); $("tr[id^=hiddentr_]").remove(); appendheighttodiv(1); } }); $('#empcmnt').click(function(event) { //on click if(this.checked) { $('.checkallcls').each(function() { var id = $(this).attr('ques_id'); if(this.checked) { $("#empcmnt_"+id).prop('checked', true); } appendmgrcheckboxtext(id); }); }else { $('.empcmntcls').prop('checked',$(this).prop('checked')); $("tr[id^=hiddentr_]").remove(); appendheighttodiv(2); } }); $('#empratings').click(function(event) { //on click if(this.checked) { $('.checkallcls').each(function() { var id = $(this).attr('ques_id'); if(this.checked) { $("#empratings_"+id).prop('checked', true); } appendmgrcheckboxtext(id); }); }else { $('.empratingcls').prop('checked',$(this).prop('checked')); $("tr[id^=hiddentr_]").remove(); appendheighttodiv(2); } }); $('.checkallcls').click(function(event) { //on click if(!$(this).prop('checked')) { // $('.empratingcls').prop('checked',$(this).prop('checked')); // $('.empratingcls').prop('checked',$(this).prop('checked')); // $('.empratingcls').prop('checked',$(this).prop('checked')); } }); <?php if (empty($checkArr)) { ?> $('#selectall').prop('checked',true); $('#mgrcmnt').prop('checked',true); $('#mgrrating').prop('checked',true); $('#empcmnt').prop('checked',true); $('#empratings').prop('checked',true); <?php } ?> checkparentclass(); }); </script> <?php }
public function checkffduedate() { $ffinitModel = new Default_Model_Feedforwardinit(); $ffEmpRatModel = new Default_Model_Feedforwardemployeeratings(); $ffDataArr = $ffinitModel->getFFbyBUDept('', 'yes'); $ffIdArr = array(); $ffIdList = ''; $current_day = new DateTime('now'); $current_day->sub(new DateInterval('P1D')); if (!empty($ffDataArr)) { foreach ($ffDataArr as $ffval) { if ($ffval['status'] == 1) { if ($ffval['ff_due_date']) { $due_date = new DateTime($ffval['ff_due_date']); } else { $due_date = ''; } $interval = $current_day->diff($due_date); $interval->format('%d'); $interval = $interval->days; if ($interval <= 2) { array_push($ffIdArr, $ffval['id']); } } } } if (!empty($ffIdArr)) { $ffIdList = implode(',', $ffIdArr); } if ($ffIdList != '') { $ffEmpsStatusData = $ffEmpRatModel->getEmpsFFStatus($ffIdList, 'cron'); if (!empty($ffEmpsStatusData)) { $empIdArr = array(); foreach ($ffEmpsStatusData as $empval) { array_push($empIdArr, $empval['emailaddress']); } $optionArr = array('subject' => 'Manager Feedforward submission pending', 'header' => 'Feedforward', 'toemail' => SUPERADMIN_EMAIL, 'toname' => 'Super Admin', 'bcc' => $empIdArr, '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;'>Mangaer feedforward is pending.</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 your <b>" . APPLICATION_NAME . "</b> account to check the details.</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div> ", 'cron' => 'yes'); sapp_PerformanceHelper::saveCronMail($optionArr); } } }
public function addAction() { $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; } $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $errorMsg = ''; $empSummaryModel = new Default_Model_Employee(); $empData = $empSummaryModel->getEmp_from_summary($loginUserId); $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessunit_id, $department_id); //echo "<pre>";print_r($appImpleData);echo "</pre>"; $appInitModel = new Default_Model_Appraisalinit(); $appraisalInitForm = new Default_Form_Appraisalinit(); if (count($appImpleData) > 0) { $this->view->imple_data = $appImpleData; $checkActiveApp = $appInitModel->checkAppraisalExists($businessunit_id, $department_id); if (count($checkActiveApp) == 0) { $appraisalInitForm->businessunit_name->setValue($empData['businessunit_name']); if ($appImpleData['performance_app_flag'] == 0) { $appraisalInitForm->department_name->setValue($empData['department_name']); } else { $appraisalInitForm->removeElement("department_name"); } $appraisalInitForm->businessunit_id->setValue($empData['businessunit_id']); $appraisalInitForm->department_id->setValue($empData['department_id']); $appraisalInitForm->appraisal_mode->setValue($appImpleData['appraisal_mode']); $employmentstatusModel = new Default_Model_Employmentstatus(); $employmentStatusData = $employmentstatusModel->getempstatusActivelist(); if (!empty($employmentStatusData)) { foreach ($employmentStatusData as $employmentStatusres) { $appraisalInitForm->eligibility->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); } } else { $msgarray['eligibility'] = 'Employment status is not configured yet.'; } } else { $errorMsg = 'Appraisal process is already initialized.'; } } else { $errorMsg = 'Appraisal process is not yet configured.'; } $msgarray = array(); $appraisalInitForm->setAttrib('action', DOMAIN . 'appraisalinit/add'); $this->view->form = $appraisalInitForm; $this->view->msgarray = $msgarray; $this->view->ermsg = $errorMsg; if ($this->getRequest()->getPost()) { $result = $this->save($appraisalInitForm); $this->view->msgarray = $result; } $this->render('form'); }
/** * * Edit function to prepopulate the data. * */ public function editAction($id = '') { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; $businessUnit = $auth->getStorage()->read()->businessunit_id; $department = $auth->getStorage()->read()->department_id; } $appInitModel = new Default_Model_Appraisalinit(); $msgarray = array(); $buOptions = ''; $deptOptions = ''; if ($id == '') { $id = $this->getRequest()->getParam('id'); } if ($loginuserRole != SUPERADMINROLE && $loginuserGroup != MANAGEMENT_GROUP) { $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $appraisalratingsform = new Default_Form_Appraisalratings(); $appraisalratingsmodel = new Default_Model_Appraisalratings(); $performanceappflag = ''; $appraisalratingsform->submit->setLabel('Update'); $res = $appraisalratingsmodel->checkAccessAddratings($businessUnit, $department); foreach ($res as $result) { $appraisal_rating = $result['appraisal_ratings']; } $appraisal_rating = $appraisal_rating == 1 ? 5 : 10; try { if ($id) { if (is_numeric($id) && $id > 0) { $data = $appraisalratingsmodel->getAppraisalRatingsbyInitId($id); if (!empty($data)) { //$data = $data[0]; //echo "<pre>"; print_r($data);echo "</pre>"; // $appraisal_rating = 1; $appInitdata = $appInitModel->getConfigData($data[0]['pa_initialization_id']); $appraisalratingsform->setAttrib('action', DOMAIN . 'appraisalratings/edit/id/' . $id); /* Fetch business unit and department name*/ $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessUnit, $department); $performanceappflag = $appImpleData['performance_app_flag']; $optionsArray = $this->buildoptions($businessUnit, $department, $performanceappflag); $buOptions = $optionsArray['buoptions']; $deptOptions = isset($optionsArray['deptoptions']) ? $optionsArray['deptoptions'] : ''; /* End */ $this->view->performanceappflag = $performanceappflag; $this->view->buOptions = $buOptions; $this->view->deptOptions = $deptOptions; $this->view->data = $data; $this->view->checkActiveApp = $appInitdata[0]; $this->view->appraisal_rating = $appraisal_rating; } else { $this->view->ermsg = 'norecord'; } } else { $this->view->ermsg = 'norecord'; } } else { $this->view->ermsg = 'nodata'; } } catch (Exception $e) { $this->view->ermsg = 'nodata'; } $this->view->form = $appraisalratingsform; if ($this->getRequest()->getPost()) { $result = $this->save($appraisalratingsform); $this->view->msgarray = $result; } $this->render('form'); } else { $buOptions = ''; $deptOptions = ''; $businessUnitId = ''; $department = ''; $deptArr = array(); $flag = 2; $appraisaldataArr = $appInitModel->getAppDataById($id); if (!empty($appraisaldataArr)) { $businessUnitId = $appraisaldataArr['businessunit_id']; $departmentId = $appraisaldataArr['department_id'] != 'null' ? $appraisaldataArr['department_id'] : ''; $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessUnitId, $departmentId); $performanceappflag = $appImpleData['performance_app_flag']; $optionsArray = $this->buildoptions($businessUnitId, $departmentId, $performanceappflag); $buOptions = $optionsArray['buoptions']; $deptOptions = isset($optionsArray['deptoptions']) ? $optionsArray['deptoptions'] : ''; } if ($this->getRequest()->getPost()) { $result = $this->save($appraisalratingsform); $this->view->msgarray = $result; } $this->view->appraislaid = $id; $this->view->performanceappflag = $performanceappflag; $this->view->businessUnitId = $businessUnitId; $this->view->departmentId = $departmentId; $this->view->buOptions = $buOptions; $this->view->deptOptions = $deptOptions; $this->view->flag = $flag; $this->render('managementform'); } }
public function submitmanagerAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; $loginuserFullname = $auth->getStorage()->read()->userfullname; $loginuserEmail = $auth->getStorage()->read()->emailaddress; $loginUserEmpId = $auth->getStorage()->read()->employeeId; } $post_values = $this->getRequest()->getPost(); $result = array('status' => 'fail', 'msg' => 'Something went wrong, please try again.'); $questions = ''; if (count($post_values) > 0) { $appraisal_id = $post_values['appraisal_id']; $manager_id = $post_values['manager_id']; if ($appraisal_id != '' && $manager_id != '') { $appraisal_id = sapp_Global::_decrypt($appraisal_id); $manager_id = sapp_Global::_decrypt($manager_id); $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { $app_init_model = new Default_Model_Appraisalinit(); $appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $qsdataArr = $appraisalPrivMainModel->getAppraisalQuestionsMain($appraisal_id); if (!empty($qsdataArr)) { foreach ($qsdataArr as $qs) { if (!empty($qs['manager_qs'])) { $questions .= $qs['manager_qs'] . ','; } } $questions = rtrim($questions, ','); } $questions = implode(',', array_keys(array_flip(explode(',', $questions)))); $submit_manager = $app_init_model->submitmanager($appraisal_id, $manager_id); sapp_PerformanceHelper::update_QsParmas_Allemps($questions, ''); /* * Logs Storing */ $actionflag = ''; $tableid = ''; $menuID = APPRAISAL_MANAGER; $actionflag = 1; sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /* * Logs storing ends */ //to get initialization details using appraisal Id for Business Unit,Department,To Year $appraisalratingsmodel = new Default_Model_Appraisalratings(); $appraisal_details = $appraisalratingsmodel->getappdata($appraisal_id); if (!empty($appraisal_details)) { $bunit = $appraisal_details['unitname']; $dept = $appraisal_details['deptname']; $to_year = $appraisal_details['to_year']; } /** Start * Sending Mails to employees */ $appraisalconfigmodel = new Default_Model_Appraisalconfig(); $app_manager_model = new Default_Model_Appraisalmanager(); $getBunit_dept = $app_manager_model->getBunitDept($appraisal_id); if (!empty($getBunit_dept)) { $unitID = $getBunit_dept['businessunit_id']; $deptID = $getBunit_dept['department_id']; } $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($unitID, $deptID); $dept_str = $dept == '' ? " " : "and <b>{$dept}</b> department"; $emp_id_str = $loginuserRole == SUPERADMINROLE ? " " : "({$loginUserEmpId})"; $empArr = array(); if (!empty($employeeDetailsArr)) { $empArrList = ''; foreach ($employeeDetailsArr as $emp) { array_push($empArr, $emp['emailaddress']); } } // Sending mail to HR $options['subject'] = APPLICATION_NAME . ': Manager Appraisal Submitted.'; $options['header'] = 'Performance Appraisal : Manager Appraisal ' . $to_year; $options['toEmail'] = $loginuserEmail; $options['bcc'] = $empArr; $options['toEmail'] = $loginuserEmail; $options['toName'] = $loginuserFullname; $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;'> " . $loginuserFullname . $emp_id_str . " has submitted the Manager appraisal form for the year <b>{$to_year}</b> for <b>{$bunit}</b> business unit {$dept_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 your <b>" . APPLICATION_NAME . "</b> account 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 */ $trDb->commit(); $result['status'] = 'success'; $result['msg'] = "Submitted successfully"; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization Submitted successfully. ")); } catch (Exception $e) { $trDb->rollBack(); $result['status'] = 'error'; $result['msg'] = $e->getMessage(); } } } $this->_helper->json($result); }
public function employeeAction() { $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; } $errorMsg = ''; $msgarray = array(); $bunitdataArr = array(); $flag = ''; $appInitModel = new Default_Model_Appraisalinit(); $app_status_array = array(1 => APP_PENDING_EMP, 2 => APP_PENDING_L1, 3 => APP_PENDING_L2, 4 => APP_PENDING_L3, 5 => APP_PENDING_L4, 6 => APP_PENDING_L5, 7 => APP_COMPLETED); if ($loginuserRole != SUPERADMINROLE && $loginuserGroup != MANAGEMENT_GROUP) { $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessunit_id, $department_id); if (count($appImpleData) > 0) { $this->view->imple_data = $appImpleData; $checkActiveApp = $appInitModel->checkAppraisalExists($businessunit_id, $department_id, $appImpleData['performance_app_flag']); if (count($checkActiveApp) > 0) { $checkActiveApp = $checkActiveApp[0]; if ($checkActiveApp['enable_step'] == 2 && $checkActiveApp['status'] == 1) { $this->view->checkActiveApp = $checkActiveApp; $flag = 1; } else { if ($checkActiveApp['enable_step'] == 1) { $errorMsg = 'Appraisal process is enabled to managers.'; } if ($checkActiveApp['status'] == 2) { $errorMsg = 'Appraisal process is closed.'; } } } else { $errorMsg = 'Active Appraisal process is not there.'; } } else { $errorMsg = 'Appraisal process is not yet configured.'; } } else { $bunitModel = new Default_Model_Businessunits(); $buids = ''; $bunitdataArr = array(); $activeAppraisalManagerArr = $appInitModel->getAppraisalForMgrEmp(2); if (!empty($activeAppraisalManagerArr)) { foreach ($activeAppraisalManagerArr as $mgrArr) { $buids .= $mgrArr['businessunit_id'] . ','; } $buids = rtrim($buids, ','); if ($buids != '') { $bustr = implode(',', array_unique(explode(',', $buids))); $bunitdataArr = $bunitModel->getBusinessUnits($bustr); } } $this->view->bunitdataarr = $bunitdataArr; $flag = 2; } $this->view->app_status_array = $app_status_array; $this->view->msgarray = $msgarray; $this->view->ermsg = $errorMsg; $this->view->flag = $flag; }
public function performancesteps($perfArray) { $request = Zend_Controller_Front::getInstance(); $controllerName = $request->getRequest()->getControllerName(); $actionName = $request->getRequest()->getActionName(); $step1_link = ""; $step2_link = ''; $step3_link = ''; if ($perfArray['appraisalid'] != '') { if ($perfArray['context'] == 'edit') { $step1_link = BASE_URL . "appraisalinit/edit/id/" . $perfArray['appraisalid']; $step2_link = BASE_URL . "appraisalinit/confmanagers/i/" . sapp_Global::_encrypt($perfArray['appraisalid']); if ($perfArray['step2status'] == 'Completed') { $step3_link = BASE_URL . "appraisalinit/assigngroups/i/" . sapp_Global::_encrypt($perfArray['appraisalid']); } } else { $step1_link = BASE_URL . "appraisalinit/view/id/" . $perfArray['appraisalid']; $step2_link = BASE_URL . "appraisalinit/viewconfmanagers/i/" . sapp_Global::_encrypt($perfArray['appraisalid']); if ($perfArray['step2status'] == 'Completed') { $step3_link = BASE_URL . "appraisalinit/viewassigngroups/i/" . sapp_Global::_encrypt($perfArray['appraisalid']); } } } ?> <script type="text/javascript" src="<?php echo MEDIA_PATH; ?> js/pa.js"></script> <div class="per_steps"> <ul class="toggle_ul"> <li id="initstep_1" class="step_1 incomplete" ><div class="step_round">Step<span class="num_txt">1</span></div> <div class="left_tab_content"> <div class="completed_icon"></div> <h3 class="tab_title">Initialization</h3> <span class="tab_txt">Initialize appraisal for a department or a business unit and enable to managers or employees</span> <?php if ($perfArray['step1status'] == 'Completed') { ?> <div class="status_txt complete_status"><?php echo $perfArray['step1status']; ?> </div> <?php } else { ?> <div class="status_txt in_progress"><?php echo $perfArray['step1status']; ?> </div> <?php } ?> </div> </li> <li id="initstep_2" class="step_2 incomplete"><div class="step_round">Step<span class="num_txt">2</span></div> <div class="left_tab_content"> <div class="completed_icon"></div> <h3 class="tab_title">Configure Line Managers</h3> <span class="tab_txt">Configure line managers by using the existing organization hierarchy or by assigning line managers to employees manually </span> <?php if ($perfArray['step2status'] == 'Completed') { ?> <div class="status_txt complete_status"><?php echo $perfArray['step2status']; ?> </div> <?php } else { ?> <div class="status_txt in_progress"><?php echo $perfArray['step2status']; ?> </div> <?php } ?> </div> </li> <li id="initstep_3" class="step_3 incomplete"><div class="step_round">Step<span class="num_txt">3</span></div> <div class="left_tab_content"> <div class="completed_icon"></div> <h3 class="tab_title">Configure Appraisal Parameters</h3> <span class="tab_txt">Set the appraisal parameters for all the employees or for an employee group for a department or a business unit</span> <?php if ($perfArray['step3status'] == 'Completed') { ?> <div class="status_txt complete_status"><?php echo $perfArray['step3status']; ?> </div> <?php } else { ?> <div class="status_txt in_progress"><?php echo $perfArray['step3status']; ?> </div> <?php } ?> </div> </li> </ul> <input type="hidden" id="ratingsflag" value="<?php echo $perfArray['ratingsflag'] == 'false' ? 2 : 1; ?> " > <?php if (isset($perfArray['appraisalid']) && $perfArray['appraisalid'] != '') { if ($actionName != 'view' && $actionName != 'edit') { ?> <div class="appdetails"> <?php sapp_PerformanceHelper::displayappdetails($perfArray['appraisalid']); ?> </div> <?php } } ?> <?php if (isset($perfArray['ratingsflag']) && $perfArray['ratingsflag'] == 'false') { ?> <div class='ml-alert-1-error' style="clear: both;position: relative;top: 17px;width: 92%;"> <div class='style-1-icon error'></div> Ratings not added for the appraisal. <a target ="_blank" href="<?php echo BASE_URL . 'appraisalratings/add'; ?> " style="color:#A31414;text-decoration: none;font-weight: bold;">Click here</a> to configure ratings. </div> <?php } ?> <script type="text/javascript" > $(document).ready(function(){ <?php if ($step1_link != '') { ?> $('#initstep_1').click(function(){ $.blockUI({ width:'50px',message: $("#spinner").html() }); window.location = '<?php echo $step1_link; ?> '; }); <?php } ?> <?php if ($step2_link != '') { ?> $('#initstep_2').click(function(){ $.blockUI({ width:'50px',message: $("#spinner").html() }); window.location = '<?php echo $step2_link; ?> '; }); <?php } if ($step3_link != '') { ?> $('#initstep_3').click(function(){ $.blockUI({ width:'50px',message: $("#spinner").html() }); window.location = '<?php echo $step3_link; ?> '; }); <?php } ?> <?php if ($perfArray['step1status'] == 'Completed') { ?> $("#initstep_1").removeClass('incomplete').addClass('complete'); <?php } ?> <?php if ($perfArray['step2status'] == 'Completed') { ?> $("#initstep_2").removeClass('incomplete').addClass('complete'); <?php } ?> <?php if ($perfArray['step3status'] == 'Completed') { ?> $("#initstep_3").removeClass('incomplete').addClass('complete'); <?php } ?> var currentpage = '<?php echo $perfArray['currentpage']; ?> '; $("#"+currentpage).addClass('active'); <?php if ($perfArray['currentpage'] != 'initstep_1') { ?> <?php if ($perfArray['context'] == 'edit') { ?> $(".breadcrumbs").append('<span class="arrows">›</span> <span>Edit</span>'); <?php } else { ?> $(".breadcrumbs").append('<span class="arrows">›</span> <span>View</span>'); <?php } ?> <?php } ?> <?php if ($perfArray['appraisalid'] == '') { ?> // $('#initstep_1').click(function(){ // jAlert("Configure appraisal details."); // }); $('#initstep_2').click(function(){ jAlert("Complete step 1 to configure step 2."); }); $('#initstep_3').click(function(){ jAlert("Complete step 2 to configure step 3."); }); <?php } ?> }); </script> <?php }
public function save($feedforwardInitForm) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; $loginUserEmpId = $auth->getStorage()->read()->employeeId; $loginUserfullname = $auth->getStorage()->read()->userfullname; } $feedforwardInitModel = new Default_Model_Feedforwardinit(); $msgarray = array(); $check_array = array(); $appraisal_id = ''; $id = $this->_request->getParam('id'); $appraisal_mode = $this->_request->getParam('appraisal_mode'); $ff_due_date = sapp_Global::change_date($this->_request->getParam('ff_due_date'), 'database'); $employee_name_view = $this->_request->getParam('employee_name_view'); $enable_to = $this->_request->getParam('enable_to'); $initialize_status = $this->_request->getParam('initialize_status'); $status = $this->_request->getParam('status'); $x_init_status = $this->_request->getParam('x_init_status'); $check = $this->_request->getParam('check'); $empcmnt = $this->_request->getParam('empcmnt'); if ($empcmnt) { $empcmnt_keys = array_keys($empcmnt); } else { $empcmnt_keys = array(); } if (sizeof($check) > 0) { foreach ($check as $qid) { if (in_array($qid, $empcmnt_keys)) { $check_array[$qid] = array('EC' => 1, 'ER' => 1); } else { $check_array[$qid] = array('EC' => 0, 'ER' => 1); } } } if (!empty($enable_to)) { if (in_array(1, $enable_to)) { $enable_to = 1; } else { $enable_to = 0; } } if ($x_init_status != 1) { if ($feedforwardInitForm->isValid($this->_request->getPost())) { try { $data = array('ff_due_date' => $ff_due_date, 'employee_name_view' => $employee_name_view, 'enable_to' => $enable_to, 'status' => $status, 'initialize_status' => $initialize_status, 'questions' => $check != '' ? implode(',', $check) : NULL, 'qs_privileges' => count($check_array) > 0 ? json_encode($check_array, true) : NULL, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($id != '') { $where = array('id=?' => $id); $actionflag = 2; $appraisal_id = $this->_request->getParam('appraisal_id'); } else { $appraisalinitmodel = new Default_Model_Appraisalinit(); $appData = $appraisalinitmodel->getappdata_forview($appraisal_mode); $data['pa_configured_id'] = $appData['id']; $data['businessunit_id'] = $appData['businessunit_id']; $data['department_id'] = $appData['department_id']; $data['ff_mode'] = $appData['appraisal_mode']; $data['ff_period'] = $appData['appraisal_period']; $data['ff_from_year'] = $appData['from_year']; $data['ff_to_year'] = $appData['to_year']; $data['appraisal_id'] = $appraisal_mode; $data['createdby_role'] = $loginuserRole; $data['createdby_group'] = $loginuserGroup; $data['createdby'] = $loginUserId; $data['createddate'] = gmdate("Y-m-d H:i:s"); $data['isactive'] = 1; $where = ''; $actionflag = 1; $appraisal_id = $appraisal_mode; } $Id = $feedforwardInitModel->SaveorUpdateFeedforwardInitData($data, $where); if ($Id == 'update') { $tableid = $id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization updated successfully.")); } else { $tableid = $Id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization added successfully.")); } if ($initialize_status == 1) { sapp_PerformanceHelper::update_QsParmas_Allemps($data['questions'], ''); $this->ffinitialize($appraisal_id, $tableid, $enable_to, $check); } $this->_redirect('feedforwardinit'); } catch (Exception $e) { $msgarray['appraisal_mode'] = "Something went wrong, please try again."; return $msgarray; } } else { $messages = $feedforwardInitForm->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } $msgarray['check_array'] = $check_array; return $msgarray; } } else { $data = array('status' => $status, 'ff_due_date' => $ff_due_date); $where = array('id=?' => $id); $Id = $feedforwardInitModel->SaveorUpdateFeedforwardInitData($data, $where); if ($status == 2) { if ($Id == 'update') { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization closed successfully.")); $this->_redirect('feedforwardinit'); } } else { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization updated successfully.")); $this->_redirect('feedforwardinit'); } } }
public function checkffduedate() { $ffinitModel = new Default_Model_Feedforwardinit(); $ffEmpRatModel = new Default_Model_Feedforwardemployeeratings(); $ffDataArr = $ffinitModel->getFFbyBUDept('', 'yes'); $current_day = new DateTime('now'); $current_day->sub(new DateInterval('P1D')); if (!empty($ffDataArr)) { foreach ($ffDataArr as $ffval) { if ($ffval['status'] == 1) { if ($ffval['ff_due_date']) { $due_date = new DateTime($ffval['ff_due_date']); } else { $due_date = ''; } $ffEmpsStatusData = $ffEmpRatModel->getEmpsFFStatus($ffval['id'], 'cron'); if (!empty($ffEmpsStatusData)) { foreach ($ffEmpsStatusData as $empval) { if ($empval['ff_status'] != APP_COMPLETED) { $interval = $current_day->diff($due_date); $interval->format('%d'); $interval = $interval->days; if ($interval <= 1) { $optionArr = array('subject' => 'Feed Forward Pending', 'header' => 'Feed Forward', 'toemail' => $empval['userfullname'], 'toname' => $empval['emailaddress'], 'message' => 'Dear ' . $empval['userfullname'] . ', feed forward is pending.', 'cron' => 'yes'); sapp_PerformanceHelper::saveCronMail($optionArr); } } } } } } } }
public function initialize($appraisalid, $initflag) { $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); $loginUserEmpId = $auth->getStorage()->read()->employeeId; $loginUserfullname = $auth->getStorage()->read()->userfullname; } $appraisalQsModel = new Default_Model_Appraisalquestions(); $appraisalQsTmpModel = new Default_Model_Appraisalqstemp(); $app_init_model = new Default_Model_Appraisalinit(); $appraisalPrivTempModel = new Default_Model_Appraisalqstemp(); $appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $appraisalempratingsmodel = new Default_Model_Appraisalemployeeratings(); $app_manager_model = new Default_Model_Appraisalmanager(); $usersmodel = new Default_Model_Users(); $departmentsmodel = new Default_Model_Departments(); $announcementsModel = new Default_Model_Announcements(); $deptids = ''; $questions = ''; $title = 'Performance Appraisal'; $description = 'Performance appraisal initialized'; $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { $data = $app_init_model->getConfigData($appraisalid); $appraisaldata = $data[0]; $qsdataArr = $appraisalPrivTempModel->getAppraisalQuestions($appraisalid); if (!empty($qsdataArr)) { foreach ($qsdataArr as $qs) { $questions .= $qs['hr_qs'] . ','; } $questions = rtrim($questions, ','); } $questions = implode(',', array_keys(array_flip(explode(',', $questions)))); $initdata = array('initialize_status' => 2, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $initwhere = array('id=?' => $appraisalid); if ($initflag == 1) { $initdata['initialize_status'] = 1; $insertQstable = $appraisalQsModel->insertQsData($appraisalid, $loginuserArr); $updateTmptable = $appraisalPrivTempModel->updateQsTempData($appraisalid, $loginuserArr); $con = $app_init_model->SaveorUpdateAppraisalInitData($initdata, $initwhere); if ($appraisaldata['enable_step'] == 2) { /** * Start * Inserting or Updating employee ratings table when enabled to employees * If record exists then updating else inserting */ $employeeidArr = $appraisalPrivMainModel->getemployeeIDs($appraisalid); if (!empty($employeeidArr)) { foreach ($employeeidArr as $emp) { $emprating_Arr = array('pa_initialization_id' => $appraisalid, 'employee_id' => $emp['employee_id'], 'line_manager_1' => $emp['line_manager_1'] != '' ? $emp['line_manager_1'] : NULL, 'line_manager_2' => $emp['line_manager_2'] != '' ? $emp['line_manager_2'] : NULL, 'line_manager_3' => $emp['line_manager_3'] != '' ? $emp['line_manager_3'] : NULL, 'line_manager_4' => $emp['line_manager_4'] != '' ? $emp['line_manager_4'] : NULL, 'line_manager_5' => $emp['line_manager_5'] != '' ? $emp['line_manager_5'] : NULL, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $employeeexistArr = $appraisalempratingsmodel->checkEmployeeExists($appraisalid, $emp['employee_id']); if ($employeeexistArr[0]['empcount'] > 0) { $qwhere = " employee_id = '" . $emp['employee_id'] . "' and pa_initialization_id='" . $appraisalid . "' and isactive=1"; } else { $emprating_Arr['createdby'] = $loginUserId; $emprating_Arr['createdby_role'] = $loginuserRole; $emprating_Arr['createdby_group'] = $loginuserGroup; $emprating_Arr['createddate'] = gmdate("Y-m-d H:i:s"); $qwhere = ''; } $appraisalempratingsmodel->SaveorUpdateAppraisalSkillsData($emprating_Arr, $qwhere); /** * End */ } } } /* * Logs Storing */ if ($con == 'update') { $actionflag = 2; } else { $actionflag = 1; } $tableid = ''; $menuID = INITIALIZE_APPRAISAL; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /* * Logs storing ends */ /** * Sending mails to HR,Super Admin,Management,(managers OR employees) based on enable step. */ $appraisalratingsmodel = new Default_Model_Appraisalratings(); //to get initialization details using appraisal Id for Business Unit,Department,To Year $appraisal_details = $appraisalratingsmodel->getappdata($appraisalid); if (!empty($appraisal_details)) { $businessUnit = $appraisal_details['businessunit_id']; $department = $appraisal_details['deptid']; $bunit = $appraisal_details['unitname']; $dept = $appraisal_details['deptname']; $to_year = $appraisal_details['to_year']; $appraisalconfigmodel = new Default_Model_Appraisalconfig(); if ($department != '') { $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessUnit, $department); } else { $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessUnit, ''); } $dept_str = $dept == '' ? " " : "and department <b>{$dept}</b> "; $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']); } } $mail_str = $appraisaldata['enable_step'] == 1 ? 'to managers' : 'to employees'; $empmgrArr = array(); if ($appraisaldata['enable_step'] == 1) { $getLine1ManagerId = $appraisalPrivMainModel->getLine1ManagerIdMain($appraisalid); foreach ($getLine1ManagerId as $mgr) { array_push($empmgrArr, $mgr['emailaddress']); } } else { $empIdArr = array(); $empIdList = ''; $employeeidArr = $appraisalPrivMainModel->getemployeeIDs($appraisalid); //fetching Employee Ids if (!empty($employeeidArr)) { foreach ($employeeidArr as $emp) { array_push($empIdArr, $emp['employee_id']); } $empIdList = implode(',', $empIdArr); //Preparing Employee Id List $empDetailsArr = $app_manager_model->getUserDetailsByEmpID($empIdList); //Fetching employee details if (!empty($empDetailsArr)) { foreach ($empDetailsArr as $emp) { array_push($empmgrArr, $emp['emailaddress']); //preparing Bcc array } } } } $totalArr = array_merge($empArr, $empmgrArr); //Sending mail to Super admin $options['subject'] = APPLICATION_NAME . ': Performance Appraisal Initialization'; $options['header'] = 'Performance Appraisal Initialization : ' . $to_year; $options['toEmail'] = SUPERADMIN_EMAIL; $options['toName'] = 'Super Admin'; $options['bcc'] = $totalArr; $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 has been initialized {$mail_str} for the year <b>{$to_year}</b> for business unit <b>{$bunit}</b> {$dept_str} by " . $loginUserfullname . $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 your <b>" . APPLICATION_NAME . "</b> account to 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); } if ($appraisaldata['enable_step'] == 2) { $appImpleData = sapp_PerformanceHelper::check_per_implmentation($appraisaldata['businessunit_id'], $appraisaldata['department_id']); } sapp_PerformanceHelper::update_QsParmas_Allemps($questions, $appraisaldata['category_id']); } else { $app_init_model->SaveorUpdateAppraisalInitData($initdata, $initwhere); } $trDb->commit(); if ($initflag == 1) { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => 'Appraisal initialized successfully')); } else { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => 'Appraisal configurations are saved to be initialized later')); } return 'success'; } catch (Exception $e) { $trDb->rollBack(); return 'error'; } }
public function initialize($appraisalid, $initflag) { $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); } $appraisalQsModel = new Default_Model_Appraisalquestions(); $appraisalQsTmpModel = new Default_Model_Appraisalqstemp(); $app_init_model = new Default_Model_Appraisalinit(); $appraisalPrivTempModel = new Default_Model_Appraisalqstemp(); $appraisalPrivMainModel = 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 = ''; $questions = ''; $title = 'Performance Appraisal'; $description = 'Performance appraisal initialized'; $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { $data = $app_init_model->getConfigData($appraisalid); $appraisaldata = $data[0]; $qsdataArr = $appraisalPrivTempModel->getAppraisalQuestions($appraisalid); if (!empty($qsdataArr)) { foreach ($qsdataArr as $qs) { $questions .= $qs['hr_qs'] . ','; } $questions = rtrim($questions, ','); } $questions = implode(',', array_keys(array_flip(explode(',', $questions)))); $initdata = array('initialize_status' => 2, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $initwhere = array('id=?' => $appraisalid); if ($initflag == 1) { $initdata['initialize_status'] = 1; $insertQstable = $appraisalQsModel->insertQsData($appraisalid, $loginuserArr); $updateTmptable = $appraisalPrivTempModel->updateQsTempData($appraisalid, $loginuserArr); $app_init_model->SaveorUpdateAppraisalInitData($initdata, $initwhere); /** * Sending mails to managers OR employees based on enable step. */ if ($appraisaldata['enable_step'] == 1) { /** * Start * Sending Mails to Managers if enabled to managers */ $getLine1ManagerId = $appraisalPrivMainModel->getLine1ManagerIdMain($appraisalid); if (!empty($getLine1ManagerId)) { foreach ($getLine1ManagerId as $val) { $options['subject'] = APPLICATION_NAME . ': Appraisal process initiated'; $options['header'] = 'Performance Appraisal'; $options['toEmail'] = $val['emailaddress']; $options['toName'] = $val['userfullname']; $options['message'] = 'Dear ' . $val['userfullname'] . ', Appraisal process initiated'; $options['cron'] = 'yes'; // sapp_Global::_sendEmail($options); } } /** * Mail to performance appraisal group */ if (defined('PER_APPRAISAL_' . $appraisaldata['businessunit_id']) && $appraisaldata['businessunit_id'] != '') { $options['subject'] = APPLICATION_NAME . ': Appraisal process initiated to managers.'; $options['header'] = 'Performance Appraisal'; $options['toEmail'] = constant('PER_APPRAISAL_' . $appraisaldata['businessunit_id']); $options['toName'] = 'Performance Appraisal'; $options['message'] = 'Appraisal process initiated to managers.'; $options['cron'] = 'yes'; // sapp_Global::_sendEmail($options); } /** * End */ } else { /** * Start * Inserting or Updating employee ratings table when enabled to employees * If record exists then updating else inserting */ $employeeidArr = $appraisalPrivMainModel->getemployeeIDs($appraisalid); if (!empty($employeeidArr)) { foreach ($employeeidArr as $emp) { $emprating_Arr = array('pa_initialization_id' => $appraisalid, 'employee_id' => $emp['employee_id'], 'line_manager_1' => $emp['line_manager_1'] != '' ? $emp['line_manager_1'] : NULL, 'line_manager_2' => $emp['line_manager_2'] != '' ? $emp['line_manager_2'] : NULL, 'line_manager_3' => $emp['line_manager_3'] != '' ? $emp['line_manager_3'] : NULL, 'line_manager_4' => $emp['line_manager_4'] != '' ? $emp['line_manager_4'] : NULL, 'line_manager_5' => $emp['line_manager_5'] != '' ? $emp['line_manager_5'] : NULL, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $employeeexistArr = $appraisalempratingsmodel->checkEmployeeExists($appraisalid, $emp['employee_id']); if ($employeeexistArr[0]['empcount'] > 0) { $qwhere = " employee_id = '" . $emp['employee_id'] . "' and pa_initialization_id='" . $appraisalid . "' and isactive=1"; } else { $emprating_Arr['createdby'] = $loginUserId; $emprating_Arr['createdby_role'] = $loginuserRole; $emprating_Arr['createdby_group'] = $loginuserGroup; $emprating_Arr['createddate'] = gmdate("Y-m-d H:i:s"); $qwhere = ''; } $appraisalempratingsmodel->SaveorUpdateAppraisalSkillsData($emprating_Arr, $qwhere); /** * End */ /** Start * Sending Mails to employees */ $employeeDetailsArr = $usersmodel->getUserDetailsByID($emp['employee_id'], ''); if (!empty($employeeDetailsArr)) { $options['subject'] = APPLICATION_NAME . ': Appraisal process initiated'; $options['header'] = 'Performance Appraisal'; $options['toEmail'] = $employeeDetailsArr[0]['emailaddress']; $options['toName'] = $employeeDetailsArr[0]['userfullname']; $options['message'] = 'Dear ' . $employeeDetailsArr[0]['userfullname'] . ', Appraisal process initiated'; $options['cron'] = 'yes'; // sapp_Global::_sendEmail($options); } /** * End */ } } /** * Mail to performance appraisal group */ if (defined('PER_APPRAISAL_' . $appraisaldata['businessunit_id']) && $appraisaldata['businessunit_id'] != '') { $options['subject'] = APPLICATION_NAME . ': Appraisal process initiated to employees.'; $options['header'] = 'Performance Appraisal'; $options['toEmail'] = constant('PER_APPRAISAL_' . $appraisaldata['businessunit_id']); $options['toName'] = 'Performance Appraisal'; $options['message'] = 'Appraisal process initiated to employees.'; $options['cron'] = 'yes'; // sapp_Global::_sendEmail($options); } /** * End */ } /** * End Sending Mails and updating emp ratings table */ if ($appraisaldata['enable_step'] == 2) { $appImpleData = sapp_PerformanceHelper::check_per_implmentation($appraisaldata['businessunit_id'], $appraisaldata['department_id']); /** Start * Announecements */ if ($appImpleData['performance_app_flag'] == 1) { $deptArr = $departmentsmodel->getAllDeptsForUnit($appraisaldata['businessunit_id']); if (!empty($deptArr)) { foreach ($deptArr as $dept) { $deptids .= $dept['id'] . ','; } $deptids = rtrim($deptids, ','); } } else { $deptids = $appraisaldata['department_id']; } /* $announcement_arr = array( 'businessunit_id' => $appraisaldata['businessunit_id']!=''?$appraisaldata['businessunit_id']: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 */ } sapp_PerformanceHelper::update_QsParmas_Allemps($questions, $appraisaldata['category_id']); } else { $app_init_model->SaveorUpdateAppraisalInitData($initdata, $initwhere); } $trDb->commit(); if ($initflag == 1) { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => 'Appraisal initialized successfully')); } else { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => 'Appraisal configurations are saved to be initialized later')); } return 'success'; } catch (Exception $e) { $trDb->rollBack(); return 'error'; } }
public function submitmanagerAction() { // $auth = Zend_Auth::getInstance(); // if($auth->hasIdentity()) // { // $loginUserId = $auth->getStorage()->read()->id; // $loginuserRole = $auth->getStorage()->read()->emprole; // $loginuserGroup = $auth->getStorage()->read()->group_id; // } $post_values = $this->getRequest()->getPost(); $result = array('status' => 'fail', 'msg' => 'Something went wrong, please try again.'); $questions = ''; if (count($post_values) > 0) { $appraisal_id = $post_values['appraisal_id']; $manager_id = $post_values['manager_id']; if ($appraisal_id != '' && $manager_id != '') { $appraisal_id = sapp_Global::_decrypt($appraisal_id); $manager_id = sapp_Global::_decrypt($manager_id); $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { // $menumodel = new Default_Model_Menu(); // $actionflag = ''; // $tableid = ''; $app_init_model = new Default_Model_Appraisalinit(); $appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $qsdataArr = $appraisalPrivMainModel->getAppraisalQuestionsMain($appraisal_id); if (!empty($qsdataArr)) { foreach ($qsdataArr as $qs) { if (!empty($qs['manager_qs'])) { $questions .= $qs['manager_qs'] . ','; } } $questions = rtrim($questions, ','); } $questions = implode(',', array_keys(array_flip(explode(',', $questions)))); $submit_manager = $app_init_model->submitmanager($appraisal_id, $manager_id); sapp_PerformanceHelper::update_QsParmas_Allemps($questions, ''); $trDb->commit(); $result['status'] = 'success'; $result['msg'] = "Submitted successfully"; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization Submitted successfully. ")); /* $menuidArr = $menumodel->getMenuObjID('/appraisalmanager'); $menuID = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID,$actionflag,$loginUserId,$tableid); /** Start * Sending Mails to employees */ /* $app_manager_model = new Default_Model_Appraisalmanager(); $employeeDetailsArr = $app_manager_model->getUserDetailsByID($businessUnit,''); // 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 */ } catch (Exception $e) { $trDb->rollBack(); $result['status'] = 'error'; $result['msg'] = $e->getMessage(); } } } $this->_helper->json($result); }