Esempio n. 1
0
    public function save($processesform, $processdata)
    {
        $baseUrl = DOMAIN;
        $baseUrl = rtrim($baseUrl, '/');
        $auth = Zend_Auth::getInstance();
        if ($auth->hasIdentity()) {
            $loginUserId = $auth->getStorage()->read()->id;
            $loginuserRole = $auth->getStorage()->read()->emprole;
        }
        $usermodel = new Default_Model_Users();
        $hrem = 'true';
        $mngmntem = 'true';
        $agencyEmail = '';
        $lmanager1Email = '';
        $lmanager1Name = 'Manager';
        $agencysalutationName = 'Agency';
        $id = $this->getRequest()->getParam('id');
        $idData = $this->getRequest()->getParam('unitId');
        $idArr = array();
        $idArr = explode('-', $idData);
        $specimen_id = $idArr[0];
        $userflag = $idArr[1];
        $msgarray = array();
        if ($idArr[1] == 2) {
            $flag = 'cand';
            $person = 'candidate';
        } else {
            $flag = 'emp';
            $person = 'employee';
        }
        $processesmodel = new Default_Model_Processes();
        $empscreeningModel = new Default_Model_Empscreening();
        $statusFlag = '';
        $close = '';
        $controllername = 'processes';
        $errorflag = 'true';
        $BGStatus = '';
        $oldbgstatus = '';
        $mailsentflag = 0;
        if (!empty($processdata)) {
            $newStatus = $this->getRequest()->getParam('process_status');
            $previousstatus = $processdata[0]['process_status'];
            $agencyid = $processdata[0]['agencyid'];
            $checktype = $processdata[0]['checktypeid'];
            $processStatus = $processesmodel->getProcessStatus($specimen_id, $userflag, $agencyid, $checktype);
            if (!empty($processStatus) && sizeof($processStatus) > 0) {
                $oldstatus = $processStatus[0]['process_status'];
                $BGStatus = $processStatus[0]['bgcheck_status'];
                /* Check - Adding a record with same userid, agencyid and check type */
                $exists = 'false';
                for ($i = 0; $i < sizeof($processStatus); $i++) {
                    if (($processStatus[$i]['process_status'] == 'On hold' || $processStatus[$i]['process_status'] == 'In process') && $processStatus[$i]['process_status'] == $newStatus) {
                        $exists = 'true';
                    }
                }
                if ($newStatus == $previousstatus) {
                    $msgarray['StatusError'] = "Please change the status.";
                    $errorflag = "false";
                } else {
                    if ($BGStatus != 'Complete' && $exists == 'true') {
                        $msgarray['StatusError'] = "The " . $person . " is already assigned to the selected agency. Please re-assign the " . $person . " to another agency.";
                        $errorflag = "false";
                    }
                }
                /* END */
            }
        } else {
            $checktype = $this->_request->getParam('checktype');
            $radio_pocId = $this->_request->getParam('contactRadio');
            $agencyid = $this->_request->getParam('agencyids');
            $newStatus = 'In process';
            $agencyData = array();
            $agencyPOCData = array();
            if (empty($checktype) && $checktype == '') {
                $msgarray['checktype'] = "Please check atleast one screening type";
                $errorflag = "false";
            } else {
                if (empty($radio_pocId) || $radio_pocId == '') {
                    $msgarray['contactRadio'] = "Please select point of contact";
                    $errorflag = "false";
                }
            }
            if ($checktype) {
                $agencyArr = array();
                $agencyArr = $checktype;
                $agencyData = $empscreeningModel->getAgencyData($agencyArr, '', '');
            }
            if (!isset($agencyid) || $agencyid == '') {
                $agencyid = $this->getRequest()->getParam('defaultagencyid');
            }
            if (!isset($agencyid) || $agencyid == '') {
                $msgarray['agencyids'] = "Please select agency.";
                $errorflag = "false";
            }
            if ($agencyid) {
                $agencyPOCData = $empscreeningModel->getAgencyPOCData($agencyid);
            }
            $this->view->agencyData = $agencyData;
            $this->view->agencyPOCData = $agencyPOCData;
            /* Checking for configurations - screening type and agencies */
            $checktypeModal = new Default_Model_Bgscreeningtype();
            $agencymodel = new Default_Model_Agencylist();
            $typesData = $checktypeModal->fetchAll('isactive=1', 'type')->toArray();
            $agencyData = $agencymodel->fetchAll('isactive=1', 'agencyname')->toArray();
            for ($i = 0; $i < sizeof($agencyPOCData); $i++) {
                if ($agencyPOCData[$i]['id'] == $radio_pocId) {
                    $agencyEmail = $agencyPOCData[$i]['email'];
                    $agencyfname = $agencyPOCData[$i]['first_name'];
                    $agencylname = $agencyPOCData[$i]['last_name'];
                    $agencysalutationName = $agencyfname . ' ' . $agencylname;
                }
            }
            if (empty($typesData)) {
                $msgarray['checktype'] = 'Screening types are not configured yet.';
                $errorflag = 'false';
            }
            if (empty($agencyData)) {
                $msgarray['agencyids'] = 'Agencies are not added yet.';
                $errorflag = 'false';
            }
            $this->view->msgarray = $msgarray;
            /* */
            /* Check - Adding a record with same userid, agencyid and check type (for each check type ) */
            if (is_array($checktype) && $errorflag != "false") {
                for ($i = 0; $i < sizeof($checktype); $i++) {
                    $processStatus = array();
                    $processStatus = $processesmodel->getProcessStatus($specimen_id, $userflag, $agencyid, $checktype[$i]);
                    if (!empty($processStatus) && sizeof($processStatus > 0)) {
                        $exists = 'false';
                        for ($i = 0; $i < sizeof($processStatus); $i++) {
                            if ($processStatus[$i]['process_status'] == 'On hold' || $processStatus[$i]['process_status'] == 'In process') {
                                $exists = 'true';
                            }
                        }
                        $oldstatus = $processStatus[0]['process_status'];
                        $BGStatus = $processStatus[0]['bgcheck_status'];
                        if ($exists == 'true' && $BGStatus != 'Complete') {
                            $msgarray['StatusError'] = "The " . $person . " is already assigned to the selected agency. Please re-assign the " . $person . " to another agency.";
                            $errorflag = "false";
                        }
                    }
                    $oldbgstatusData = $processesmodel->getProcessStatus($specimen_id, $userflag, '', '');
                    if (!empty($oldbgstatusData)) {
                        $oldbgstatus = $oldbgstatusData[0]['bgcheck_status'];
                    } else {
                        $oldbgstatus = '';
                    }
                }
            }
            /* END */
        }
        if ($processesform->isValid($this->_request->getPost()) && $errorflag != 'false') {
            $date = new Zend_Date();
            $menumodel = new Default_Model_Menu();
            $actionflag = '';
            $tableid = '';
            /* 	A New process is created for a user whose background check status is in 'Complete' status. Then updating the bg status to 'In process' */
            if (($BGStatus == 'Complete' || $oldbgstatus == 'Complete' || $BGStatus == 'On hold' || $oldbgstatus == 'On hold') && $newStatus == 'In process') {
                $totalstatusData = array('bgcheck_status' => 'In process', 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                $totalstatusWhere = array('specimen_id=?' => $specimen_id, 'flag=?' => $userflag);
                $empscreeningModel->SaveorUpdateDetails($totalstatusData, $totalstatusWhere);
                /* Updating back ground check status to In process in employees/candidates status */
                if ($userflag == 1) {
                    $empData = array('backgroundchk_status' => 'In process', 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    $empWhere = array('id=?' => $specimen_id);
                    $usermodel->addOrUpdateUserModel($empData, $empWhere);
                } else {
                    $candModel = new Default_Model_Candidatedetails();
                    $candData = array('backgroundchk_status' => 'In process', 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    $candWhere = array('id=?' => $specimen_id);
                    $candModel->SaveorUpdateUserData($candData, $candWhere);
                }
                /* END */
                /* Mail to HRD, Line 1 and Line 2 managers that the background checks has been re-opened */
                if ($BGStatus != 'On hold' && $oldbgstatus != 'On hold') {
                    $empData = $empscreeningModel->getEmpPersonalData($specimen_id, $userflag);
                    if ($userflag == 1) {
                        $username = $empData[0]['name'];
                        $lmanager1Email = $empData[0]['rmanager_email'];
                        $lmanager1Name = $empData[0]['reporting_manager'];
                    } else {
                        $username = $empData[0]['candidate_name'];
                        $lmanager1Email = '';
                    }
                    $bid = '';
                    if (isset($empData[0]['businessid'])) {
                        $bid = $empData[0]['businessid'];
                    }
                    if (isset($lmanager1Email) && $lmanager1Email != '') {
                        $manager1 = array($lmanager1Email);
                    } else {
                        $manager1 = array();
                    }
                    if (isset($agencyEmail) && $agencyEmail != '') {
                        $agencyemail1 = array($agencyEmail);
                    } else {
                        $agencyemail1 = array();
                    }
                    if (defined('BG_CHECKS_MNGMNT_' . $bid) && $bid != '') {
                        $mngmntemailId = explode(",", constant('BG_CHECKS_MNGMNT_' . $bid));
                    } else {
                        $mngmntem = 'false';
                        $mngmntemailId = array();
                    }
                    if (defined('BG_CHECKS_HR_' . $bid) && $bid != '') {
                        $hremailId = explode(",", constant('BG_CHECKS_HR_' . $bid));
                    } else {
                        $hrem = 'false';
                        $hremailId = array();
                    }
                    $emailArr = array_merge($agencyemail1, $manager1, $mngmntemailId, $hremailId);
                    for ($i = 0; $i < sizeof($emailArr); $i++) {
                        $salutation = 'Dear Sir/Madam,';
                        if ($i == 0) {
                            $salutation = 'Dear ' . ucfirst($agencysalutationName) . ',';
                            $options['toName'] = ucfirst($agencysalutationName);
                        }
                        if ($i == 1) {
                            $salutation = 'Dear ' . ucfirst($lmanager1Name) . ',';
                            $options['toName'] = ucfirst($lmanager1Name);
                        }
                        if ($i == 2) {
                            $salutation = 'Dear Management,';
                            $options['toName'] = 'Management';
                        }
                        if ($i == 3) {
                            $salutation = 'Dear HR,';
                            $options['toName'] = 'HR';
                        }
                        $options['subject'] = APPLICATION_NAME . ' : Background checks re-opened';
                        $options['header'] = 'Background checks re-opened';
                        $options['toEmail'] = $emailArr[$i];
                        $createdbyName = $usermodel->getUserDetails($loginUserId);
                        if ($i == 0) {
                            $mailsentflag = 1;
                            $options['message'] = '<div>' . $salutation . '<div>The background check for ' . ucfirst($username) . '
													has been re-opened by ' . $createdbyName[0]['userfullname'] . '. </div>
													<div style="padding:20px 0 10px 0;">Please <a href="' . $baseUrl . '/index/popup" target="_blank" style="color:#b3512f;">click here</a> to login and check the details.</div>
												</div>';
                        } else {
                            $options['message'] = '<div>' . $salutation . '<div>The background check for ' . ucfirst($username) . '
													has been re-opened by ' . $createdbyName[0]['userfullname'] . '. </div>
													<div style="padding:20px 0 10px 0;">Please <a href="' . $baseUrl . '/index/popup" target="_blank" style="color:#b3512f;">click here</a> to login and check the details.</div>
												</div>';
                        }
                        $options['cron'] = 'yes';
                        sapp_Global::_sendEmail($options);
                    }
                }
                /* END */
            }
            /* END */
            $data = array('specimen_id' => $specimen_id, 'flag' => $userflag, 'bgagency_id' => $agencyid, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
            if ($id != '') {
                $data['process_status'] = $newStatus;
                $data['explanation'] = NULL;
                $where = array('id=?' => $id);
                $actionflag = 2;
            } else {
                $data['process_status'] = $newStatus;
                $data['bgagency_pocid'] = $radio_pocId;
                $data['createdby'] = $loginUserId;
                $data['createddate'] = gmdate("Y-m-d H:i:s");
                $data['isactive'] = 1;
                $where = '';
                $actionflag = 1;
                if ($newStatus == 'In process' && ($BGStatus != 'Complete' || $oldbgstatus != 'Complete' || $BGStatus != 'On hold' || $oldbgstatus != 'On hold') && $mailsentflag == 0) {
                    $empData = $empscreeningModel->getEmpPersonalData($specimen_id, $userflag);
                    $table = '';
                    if ($userflag == 1) {
                        $username = $empData[0]['name'];
                        $lmanager1Email = $empData[0]['rmanager_email'];
                        $lmanager1Name = $empData[0]['reporting_manager'];
                        $table = '<div>
											<table border="1" style="border-collapse:collapse;">
												<tr><td>Employee ID</td><td>' . $empData[0]['employee_id'] . '</td></tr>
												<tr><td>Employee Email</td><td>' . $empData[0]['email_id'] . '</td></tr>
												<tr><td>Employee Designation</td><td>' . $empData[0]['designation'] . '</td></tr>
											</table>
										</div>';
                    } else {
                        $username = $empData[0]['candidate_name'];
                        $lmanager1Email = '';
                        $table = '<div>Candidate Email : ' . $empData[0]['email'] . '</div>';
                    }
                    if ($agencysalutationName != '') {
                        $salutation = 'Dear ' . ucfirst($agencysalutationName) . ',';
                        $options['toName'] = ucfirst($agencysalutationName);
                    } else {
                        $salutation = 'Dear Sir/Madam,';
                        $options['toName'] = 'Agency';
                    }
                    $createdbyName = $usermodel->getUserDetails($loginUserId);
                    $options['subject'] = APPLICATION_NAME . ' : Background checks initiated';
                    $options['header'] = 'Background checks initiated';
                    $options['toEmail'] = $agencyEmail;
                    $options['message'] = '<div>' . $salutation . '<div>' . ucfirst($username) . ' has been sent for background checks by ' . ucfirst($createdbyName[0]['userfullname']) . '. Please find the details below.</div>' . $table . '
					                    
												<div style="padding:20px 0 10px 0;">Please <a href="' . $baseUrl . '/index/popup" target="_blank" style="color:#b3512f;">click here</a> to login and check the details.</div>
											</div>';
                    $options['cron'] = 'yes';
                    sapp_Global::_sendEmail($options);
                }
            }
            if (is_array($checktype)) {
                for ($i = 0; $i < sizeof($checktype); $i++) {
                    $data['bgcheck_type'] = $checktype[$i];
                    $detailId = $empscreeningModel->SaveorUpdateDetails($data, $where);
                }
            } else {
                $data['bgcheck_type'] = $checktype;
                $detailId = $empscreeningModel->SaveorUpdateDetails($data, $where);
            }
            /* If all the processes are in 'Complete' status, then updating the background check status to 'Complete' and sending mail to HR, reporting manager  */
            $checkAllprocesses = $processesmodel->getProcessStatus($specimen_id, $userflag);
            $completecount = 0;
            $onholdcount = 0;
            for ($i = 0; $i < sizeof($checkAllprocesses); $i++) {
                if ($checkAllprocesses[$i]['process_status'] == 'Complete') {
                    $completecount = $completecount + 1;
                }
            }
            if ($completecount == sizeof($checkAllprocesses)) {
                $totalstatusData = array('bgcheck_status' => 'Complete', 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                $totalstatusWhere = array('specimen_id=?' => $specimen_id, 'flag=?' => $userflag);
                $empscreeningModel->SaveorUpdateDetails($totalstatusData, $totalstatusWhere);
                /* Updating back ground check status to Completed in employees/candidates status */
                if ($userflag == 1) {
                    $usermodel = new Default_Model_Users();
                    $empData = array('backgroundchk_status' => 'Completed', 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    $empWhere = array('id=?' => $specimen_id);
                    $usermodel->addOrUpdateUserModel($empData, $empWhere);
                } else {
                    $candModel = new Default_Model_Candidatedetails();
                    $candData = array('backgroundchk_status' => 'Completed', 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    $candWhere = array('id=?' => $specimen_id);
                    $candModel->SaveorUpdateUserData($candData, $candWhere);
                }
                /* END */
                /* Mail to HRD, Line 1 and Line 2 managers */
                if ($newStatus == 'Complete') {
                    $empData = $empscreeningModel->getEmpPersonalData($specimen_id, $userflag);
                    if ($userflag == 1) {
                        $username = $empData[0]['name'];
                        $lmanager1Email = $empData[0]['rmanager_email'];
                        $lmanager1Name = $empData[0]['reporting_manager'];
                    } else {
                        $username = $empData[0]['name'];
                        $lmanager1Email = '';
                    }
                    $bid = '';
                    if (isset($empData[0]['businessid'])) {
                        $bid = $empData[0]['businessid'];
                    }
                    if (isset($lmanager1Email) && $lmanager1Email != '') {
                        $manager1 = array($lmanager1Email);
                    } else {
                        $manager1 = array();
                    }
                    if (defined('BG_CHECKS_MNGMNT_' . $bid) && $bid != '') {
                        $mngmntemailId = explode(",", constant('BG_CHECKS_MNGMNT_' . $bid));
                    } else {
                        $mngmntemailId = array();
                    }
                    if (defined('BG_CHECKS_HR_' . $bid) && $bid != '') {
                        $hremailId = explode(",", constant('BG_CHECKS_HR_' . $bid));
                    } else {
                        $hremailId = array();
                    }
                    $emailArr = array_merge($manager1, $mngmntemailId, $hremailId);
                    for ($i = 0; $i < sizeof($emailArr); $i++) {
                        $salutation = 'Dear Sir/Madam,';
                        if ($i == 0) {
                            $salutation = 'Dear ' . ucfirst($lmanager1Name) . ',';
                            $options['toName'] = ucfirst($lmanager1Name);
                        } else {
                            if ($i == 1) {
                                $salutation = 'Dear Management,';
                                $options['toName'] = 'Management';
                            } else {
                                $salutation = 'Dear HR,';
                                $options['toName'] = 'HR';
                            }
                        }
                        $options['subject'] = APPLICATION_NAME . ' : Background checks completed';
                        $options['header'] = 'Background checks completed';
                        $options['toEmail'] = $emailArr[$i];
                        $options['message'] = '<div>' . $salutation . '<div>The background check for ' . ucfirst($username) . '
													has been completed.</div>
													<div style="padding:20px 0 10px 0;">Please <a href="' . $baseUrl . '/index/popup" target="_blank" style="color:#b3512f;">click here</a> to login and check the details.</div>
												</div>';
                        $options['cron'] = 'yes';
                        sapp_Global::_sendEmail($options);
                    }
                }
                /* END */
            }
            /* End */
            /* If all the processes are in 'On hold' status, then updating the background check status to 'On hold' */
            for ($i = 0; $i < sizeof($checkAllprocesses); $i++) {
                if ($checkAllprocesses[$i]['process_status'] == 'On hold') {
                    $onholdcount = $onholdcount + 1;
                }
            }
            if ($onholdcount == sizeof($checkAllprocesses)) {
                $totalstatusData = array('bgcheck_status' => 'On hold', 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                $totalstatusWhere = array('specimen_id=?' => $specimen_id, 'flag=?' => $userflag);
                $empscreeningModel->SaveorUpdateDetails($totalstatusData, $totalstatusWhere);
                /* Updating back ground check status to Completed in employees/candidates status */
                if ($userflag == 1) {
                    $usermodel = new Default_Model_Users();
                    $empData = array('backgroundchk_status' => 'On hold', 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    $empWhere = array('id=?' => $specimen_id);
                    $usermodel->addOrUpdateUserModel($empData, $empWhere);
                } else {
                    $candModel = new Default_Model_Candidatedetails();
                    $candData = array('backgroundchk_status' => 'On hold', 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    $candWhere = array('id=?' => $specimen_id);
                    $candModel->SaveorUpdateUserData($candData, $candWhere);
                }
                /* END */
            }
            /* END */
            if ($detailId == 'update') {
                $tableid = $id;
                $this->view->eventact = 'updated';
            } else {
                $tableid = $detailId;
                $this->view->eventact = 'added';
            }
            $actionflag = 2;
            //Edit of the candidate or employee
            $menuidArr = $menumodel->getMenuObjID('/empscreening');
            $menuID = $menuidArr[0]['id'];
            $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $specimen_id . '-' . $userflag);
            $close = 'close';
            $this->view->popup = $close;
        } else {
            $messages = $processesform->getMessages();
            foreach ($messages as $key => $val) {
                foreach ($val as $key2 => $val2) {
                    $msgarray[$key] = $val2;
                    break;
                }
                if (empty($checktypesData)) {
                    $msgarray['checktype'] = 'Screening types are not configured yet.';
                }
                if (empty($checkagencyData)) {
                    $msgarray['agencyids'] = 'Agencies are not added yet.';
                }
            }
            return $msgarray;
        }
        $this->view->statusFlag = $statusFlag;
    }
 public function editAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $idData = $this->getRequest()->getParam('id');
     /* Checking for configurations - screening type and agencies*/
     $msgarray = array();
     $errorflag = 'true';
     $checktypeModal = new Default_Model_Bgscreeningtype();
     $agencymodel = new Default_Model_Agencylist();
     $typesData = $checktypeModal->fetchAll('isactive=1', 'type')->toArray();
     $agencyData = $agencymodel->fetchAll('isactive=1', 'agencyname')->toArray();
     if (empty($typesData)) {
         $msgarray['checktype'] = 'Screening types are not configured yet.';
         $errorflag = 'false';
     }
     if (empty($agencyData)) {
         $msgarray['agencyids'] = 'Agencies are not added yet.';
         $errorflag = 'false';
     }
     $this->view->msgarray = $msgarray;
     /* */
     $empscreeningform = new Default_Form_empscreening();
     $empscreeningModel = new Default_Model_Empscreening();
     $submitButon = $empscreeningform->getElement("submit");
     $submitButon->setAttrib('style', 'display:none;');
     $idArr = array();
     $idArr = explode('-', $idData);
     if (sizeof($idArr) > 1) {
         $id = intVal($idArr[0]);
         $userflag = intVal($idArr[1]);
         $idData = $id . '-' . $userflag;
     } else {
         $id = '';
         $userflag = '';
         $idData = '';
     }
     $errorpagedata = '';
     if ($userflag == 2) {
         $flag = 'cand';
     } else {
         $flag = 'emp';
     }
     if ($userflag == 1 || $userflag == 2 && sapp_Global::_isactivemodule(RESOURCEREQUISITION)) {
         if ($id && $id != $loginUserId) {
             $data = $empscreeningModel->getsingleEmpscreeningData($id, $userflag);
             if (!empty($data) && $data != 'norows') {
                 $empscreeningform->setAttrib('action', BASE_URL . 'empscreening/edit/id/' . $idData);
                 $empscreeningform->removeElement("employee");
                 $empscreeningform->removeElement("checktype");
                 $empscreeningform->removeElement("checkagency");
                 $empscreeningform->populate($data);
                 $specimenId = $data['specimen_id'];
                 $hrEmail = 'false';
                 $mngmntEmail = 'false';
                 $empData = array();
                 $personalData = array();
                 $addressData = array();
                 $companyData = array();
                 if (isset($specimenId) && isset($flag)) {
                     $personalData = $empscreeningModel->getEmpPersonalData($specimenId, $flag);
                     $addressData = $empscreeningModel->getEmpAddressData($specimenId, $flag);
                     $companyData = $empscreeningModel->getEmpCompanyData($specimenId, $flag);
                     if (isset($personalData[0]['businessid'])) {
                         if (defined('BG_CHECKS_HR_' . $personalData[0]['businessid'])) {
                             $hrEmail = constant('BG_CHECKS_HR_' . $personalData[0]['businessid']);
                         }
                         if (defined('BG_CHECKS_MNGMNT_' . $personalData[0]['businessid'])) {
                             $mngmntEmail = constant('BG_CHECKS_MNGMNT_' . $personalData[0]['businessid']);
                         }
                     }
                 }
                 $checkstatuses = $empscreeningModel->checkbgstatus($specimenId, $userflag, 'status');
                 $inprocess = 'no';
                 for ($i = 0; $i < sizeof($checkstatuses); $i++) {
                     if (($checkstatuses[$i]['process_status'] == 'In process' || $checkstatuses[$i]['process_status'] == 'On hold') && $checkstatuses[$i]['explanation'] == '' && $checkstatuses[$i]['bgcheck_status'] != 'Complete') {
                         $inprocess = 'yes';
                     }
                 }
                 $this->view->inprocessStatus = $inprocess;
                 $this->view->personalData = $personalData;
                 $this->view->addressData = $addressData;
                 $this->view->companyData = $companyData;
                 $this->view->hrEmail = $hrEmail;
                 $this->view->mngmntEmail = $mngmntEmail;
                 $this->view->errorpagedata = '';
             } else {
                 $this->view->ermsg = 'nodata';
             }
         }
         if ($loginuserGroup != '' && $loginuserGroup != HR_GROUP && $loginuserGroup != MANAGEMENT_GROUP) {
             $elements = $empscreeningform->getElements();
             if (count($elements) > 0) {
                 foreach ($elements as $key => $element) {
                     if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") {
                         $element->setAttrib("disabled", "disabled");
                     }
                 }
             }
         }
         if (!empty($personalData)) {
             if ($personalData[0]['backgroundchk_status'] == 'Completed') {
                 $empscreeningform->setDefault('bgcheck_status', 'Complete');
             }
             if ($personalData[0]['backgroundchk_status'] == 'In process') {
                 $empscreeningform->setDefault('bgcheck_status', 'In process');
             }
             if ($personalData[0]['backgroundchk_status'] == 'On hold') {
                 $empscreeningform->setDefault('bgcheck_status', 'On hold');
             }
             $processData = $this->processesGrid($idData, $personalData[0]['ustatus']);
             $this->view->dataArray = $processData;
             $this->view->form = $empscreeningform;
             $this->view->ermsg = '';
         } else {
             $this->view->ermsg = 'nodata';
         }
         if ($this->getRequest()->getPost()) {
             $result = $this->save($empscreeningform);
             $this->view->msgarray = $result;
             $this->view->messages = $result;
         }
     } else {
         $errorpagedata = 'nodata';
         $this->view->ermsg = $errorpagedata;
     }
 }