Пример #1
1
 public function init()
 {
     $this->setMethod('post');
     $this->setAttrib('id', 'agencylistreport');
     $this->setAttrib('name', 'agencylistreport');
     $this->setAttrib('action', DOMAIN . 'reports/agencylistreport');
     $agencyname = new Zend_Form_Element_Text('agencynamef');
     $agencyname->setLabel('Agency');
     $agencyname->setAttrib('onblur', 'clearagencyname(this)');
     $agencyname->setAttrib('maxLength', 50);
     $primaryphone = new Zend_Form_Element_Text('primaryphonef');
     $primaryphone->setLabel('Primary Phone');
     $primaryphone->setAttrib('onblur', 'blurelement(this)');
     $primaryphone->setAttrib('maxLength', 15);
     $primaryphone->addFilter(new Zend_Filter_StringTrim());
     $primaryphone->addValidators(array(array('StringLength', false, array('min' => 10, 'max' => 15, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'Primary phone number must contain at most %max% characters', Zend_Validate_StringLength::TOO_SHORT => 'Primary phone number must contain at least %min% characters.')))));
     $primaryphone->addValidator("regex", true, array('pattern' => '/^(?!0{10})[0-9]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid phone number.')));
     $checktype = new Zend_Form_Element_Multiselect('bg_checktypef');
     $checktype->setLabel('Screening Type');
     $checktypeModal = new Default_Model_Bgscreeningtype();
     $typesData = $checktypeModal->fetchAll('isactive=1', 'type');
     foreach ($typesData->toArray() as $data) {
         $checktype->addMultiOption($data['id'], $data['type']);
     }
     $checktype->setRegisterInArrayValidator(false);
     $checktype->setAttrib('onchange', 'changeelement(this)');
     $website = new Zend_Form_Element_Text('website_urlf');
     $website->setLabel('Website Url');
     $website->setAttrib('maxLength', 50);
     $website->addFilter(new Zend_Filter_StringTrim());
     $website->setAttrib('onblur', 'clearagencyname(this)');
     $this->addElements(array($agencyname, $primaryphone, $checktype, $website));
     $this->setElementDecorators(array('ViewHelper'));
 }
Пример #2
1
 public function init()
 {
     $this->setMethod('post');
     $this->setAttrib('id', 'formid');
     $this->setAttrib('name', 'empscreeningreport');
     $this->setAttrib('action', BASE_URL . 'reports/empscreening');
     $specimen = new Zend_Form_Element_Select('specimen');
     $specimen->setLabel('Select Employee/Candidate');
     $specimen->addMultiOption('', 'Select Employee/Candidate');
     $specimen->addMultiOption('1', 'Employee');
     $specimen->addMultiOption('2', 'Candidate');
     $empname = new Zend_Form_Element_Text('empname');
     $empname->setLabel('Employee / Candidate Name');
     $empname->addValidator("regex", true, array('pattern' => '/^([a-zA-Z.\\-]+ ?)+$/', 'messages' => array('regexNotMatch' => 'Please enter only alphabets.')));
     $empname->setAttrib('onblur', 'clearEmpScreeningAutoCompleteNames(this)');
     $agencyname = new Zend_Form_Element_Text('agencyname');
     $agencyname->setLabel('Agency Name');
     $agencyname->setAttrib('class', 'selectoption');
     $agencyname->addValidator("regex", true, array('pattern' => '/^([a-zA-Z.\\-]+ ?)+$/', 'messages' => array('regexNotMatch' => 'Please enter only alphabets.')));
     $agencyname->setAttrib('onblur', 'clearEmpScreeningAutoCompleteNames(this)');
     $screeningtype = new Zend_Form_Element_Multiselect('screeningtype');
     $screeningtype->setLabel('Screening Type');
     $checktypeModal = new Default_Model_Bgscreeningtype();
     $typesData = $checktypeModal->fetchAll('isactive=1', 'type');
     foreach ($typesData->toArray() as $data) {
         $screeningtype->addMultiOption($data['id'], $data['type']);
     }
     $screeningtype->setRegisterInArrayValidator(false);
     $process_status = new Zend_Form_Element_Select('process_status');
     $process_status->setLabel('Select Status');
     $process_status->addMultiOption('', 'Select Status');
     $process_status->addMultiOption('In process', 'In process');
     $process_status->addMultiOption('Complete', 'Complete');
     $process_status->addMultiOption('On hold', 'On hold');
     $month = new Zend_Form_Element_Select('month');
     $month->setLabel('Select Month');
     $month->addMultiOption('', 'Select Month');
     $monthnamesarray = array('1' => 'January', '2' => 'February', '3' => 'March', '4' => 'April', '5' => 'May', '6' => 'June', '7' => 'July', '8' => 'August', '9' => 'September', '10' => 'October', '11' => 'November', '12' => 'December');
     for ($i = 1; $i <= sizeof($monthnamesarray); $i++) {
         $month->addMultiOption($i, $monthnamesarray[$i]);
     }
     $year = new Zend_Form_Element_Select('year');
     $year->setLabel('Select Year');
     $curYear = date("Y");
     $preYear = $curYear - 10;
     $year->addMultiOption('', 'Select Year');
     for ($i = $preYear; $i <= $curYear; $i++) {
         $year->addMultiOption($i, $i);
     }
     $this->addElements(array($specimen, $empname, $agencyname, $screeningtype, $process_status, $month, $year));
     $this->setElementDecorators(array('ViewHelper'));
 }
Пример #3
0
 public function init()
 {
     $this->setMethod('post');
     $this->setAttrib('action', DOMAIN . 'empscreening/add');
     $this->setAttrib('id', 'formid');
     $this->setAttrib('name', 'empscreening');
     $id = new Zend_Form_Element_Hidden('id');
     $employee = new Zend_Form_Element_Select('employee');
     $employee->setLabel('employee');
     $employee->setRequired(true)->addErrorMessage('Please select employee.');
     $employee->setAttrib('onchange', 'getemployeeData(this)');
     $employee->setRegisterInArrayValidator(false);
     $bgcheck_status = new Zend_Form_Element_Select('bgcheck_status');
     $bgcheck_status->setLabel('employee');
     $bgcheck_status->setRequired(true)->addErrorMessage('Please select bgcheck status.');
     $bgcheck_status->addMultiOption('0', 'Select status');
     $bgcheck_status->addMultiOption('In process', 'In process');
     $bgcheck_status->addMultiOption('On hold', 'On hold');
     $bgcheck_status->addMultiOption('Complete', 'Complete');
     $bgcheck_status->setRegisterInArrayValidator(false);
     $checktype = new Zend_Form_Element_MultiCheckbox('checktype');
     $checktype->setAttrib('onclick', 'displayAgencyList()');
     $bgcheckModal = new Default_Model_Bgscreeningtype();
     $checktypesData = $bgcheckModal->fetchAll('isactive=1', 'type');
     foreach ($checktypesData->toArray() as $data) {
         $checktype->addMultiOption($data['id'], $data['type']);
     }
     $checktype->setSeparator(PHP_EOL);
     $checkagency = new Zend_Form_Element_Hidden('checkagency');
     $agency = new Zend_Form_Element_Hidden('agencyids');
     $agencyData = Zend_Controller_Front::getInstance()->getRequest()->getParam('checkagency', null);
     if ($agencyData == 'checked') {
         $agency->setRequired(true);
         $agency->addValidator('NotEmpty', false, array('messages' => 'Please select agency.'));
     }
     $submit = new Zend_Form_Element_Submit('submit');
     $submit->setAttrib('id', 'submitbutton');
     $submit->setLabel('Save');
     $this->addElements(array($id, $employee, $bgcheck_status, $checkagency, $checktype, $agency, $submit));
     $this->setElementDecorators(array('ViewHelper'));
 }
Пример #4
0
    /**
     * @name save
     *
     * This function is used to save the data that comes from add and edit actions.
     *  @author Asma
     *  @version 1.0
     */
    public function save($agencylistform)
    {
        $baseUrl = BASE_URL;
        $baseUrl = rtrim($baseUrl, '/');
        $auth = Zend_Auth::getInstance();
        if ($auth->hasIdentity()) {
            $loginUserId = $auth->getStorage()->read()->id;
        }
        $id = $this->_request->getParam('id');
        $agencyEmail = '';
        $agencyContactNum = '';
        $agencyuserid = '';
        $agencylistmodel = new Default_Model_Agencylist();
        $pocModel = new Default_Model_Bgpocdetails();
        $usersModel = new Default_Model_Users();
        $statesmodel = new Default_Model_States();
        $citiesmodel = new Default_Model_Cities();
        $pocData_1 = array();
        $pocData_2 = array();
        $pocData_3 = array();
        $contact_type_1 = $this->_request->getParam('contact_type_1');
        $contact_type_2 = $this->_request->getParam('contact_type_2');
        $contact_type_3 = $this->_request->getParam('contact_type_3');
        $checktypeModal = new Default_Model_Bgscreeningtype();
        $errorflag = "true";
        $primaryphone = $this->_request->getParam('primaryphone');
        $secondaryphone = $this->_request->getParam('secondaryphone');
        if ($primaryphone == $secondaryphone && $secondaryphone != '' && $primaryphone != '') {
            $msgarray['secondaryphone'] = 'Primary and secondary phone numbers must not be same.';
            $errorflag = 'false';
        }
        if ($agencylistform->isValid($this->_request->getPost())) {
            if ($contact_type_1 == 1 || $contact_type_2 == 1 || $contact_type_3 == 1) {
                if ($contact_type_1 == 1 && $contact_type_2 == 1 || $contact_type_1 == 1 && $contact_type_3 == 1 || $contact_type_2 == 1 && $contact_type_3 == 1 || $contact_type_1 == 1 && $contact_type_2 == 1 && $contact_type_3 == 1) {
                    $msgarray['contacttype'] = "Please set one contact type as primary.";
                    $errorflag = "false";
                }
            } else {
                $msgarray['contacttype'] = "Please set one contact type as primary.";
                $errorflag = "false";
            }
        }
        /* Check for duplicate entry of mobile and email*/
        $pocid_1 = $this->_request->getParam('pocid_1');
        $mobile_1 = $this->_request->getParam('mobile_1');
        $email_1 = $this->_request->getParam('email_1');
        if ($mobile_1 != '' && $email_1 != '') {
            $exists_M1 = $pocModel->checkMobileDuplicates($pocid_1, $mobile_1);
            if ($exists_M1) {
                $msgarray['mobile_1'] = "Mobile number already exists.";
                $errorflag = "false";
            }
            $exists_E1 = $pocModel->checkEmailDuplicates($pocid_1, $email_1);
            if ($exists_E1) {
                $msgarray['email_1'] = "Email already exists.";
                $errorflag = "false";
            }
        }
        $pocid_2 = $this->_request->getParam('pocid_2');
        $mobile_2 = $this->_request->getParam('mobile_2');
        $email_2 = $this->_request->getParam('email_2');
        if ($mobile_2 != '' && $email_2 != '') {
            $exists_M2 = $pocModel->checkMobileDuplicates($pocid_2, $mobile_2);
            if ($exists_M2) {
                $msgarray['mobile_2'] = "Mobile number already exists.";
                $errorflag = "false";
            }
            $exists_E2 = $pocModel->checkEmailDuplicates($pocid_2, $email_2);
            if ($exists_E2) {
                $msgarray['email_2'] = "Email already exists.";
                $errorflag = "false";
            }
        }
        $pocid_3 = $this->_request->getParam('pocid_3');
        $mobile_3 = $this->_request->getParam('mobile_3');
        $email_3 = $this->_request->getParam('email_3');
        if ($mobile_3 != '' && $email_3 != '') {
            $exists_M3 = $pocModel->checkMobileDuplicates($pocid_3, $mobile_3);
            if ($exists_M3) {
                $msgarray['mobile_3'] = "Mobile number already exists.";
                $errorflag = "false";
            }
            $exists_E3 = $pocModel->checkEmailDuplicates($pocid_3, $email_3);
            if ($exists_E3) {
                $msgarray['email_3'] = "Email already exists.";
                $errorflag = "false";
            }
        }
        $contact_type_1 = $this->_request->getParam('contact_type_1');
        $contact_type_2 = $this->_request->getParam('contact_type_2');
        $contact_type_3 = $this->_request->getParam('contact_type_3');
        if ($contact_type_1 == 1) {
            $agid = $id;
            $agencyEmail = $email_1;
            $agencyContactNum = $mobile_1;
            $pocuseremail = $pocModel->checkEmailInUsers($email_1, $agid);
            if (!empty($pocuseremail)) {
                $msgarray['email_1'] = "Email already exists.";
                $errorflag = "false";
            }
        } else {
            if ($contact_type_2 == 1) {
                $agencyEmail = $email_2;
                $agencyContactNum = $mobile_2;
                $pocuseremail = $pocModel->checkEmailInUsers($email_2, $agid);
                if (!empty($pocuseremail)) {
                    $msgarray['email_2'] = "Email already exists.";
                    $errorflag = "false";
                }
            } else {
                if ($contact_type_3 == 1) {
                    $agencyEmail = $email_3;
                    $agencyContactNum = $mobile_3;
                    $pocuseremail = $pocModel->checkEmailInUsers($email_3, $agid);
                    if (!empty($pocuseremail)) {
                        $msgarray['email_3'] = "Email already exists.";
                        $errorflag = "false";
                    }
                }
            }
        }
        if ($mobile_1 != '' && ($mobile_2 != '' || $mobile_3 != '')) {
            if ($mobile_2 != '' && $mobile_1 == $mobile_2) {
                $msgarray['mobile_2'] = "Contact 1 and contact 2 mobile numbers cannot be same.";
                $errorflag = "false";
            }
            if ($mobile_3 != '' && $mobile_1 == $mobile_3) {
                $msgarray['mobile_3'] = "Contact 1 and contact 3 mobile numbers cannot be same.";
                $errorflag = "false";
            }
            if ($mobile_3 != '' && $mobile_2 != '' && $mobile_2 == $mobile_3) {
                $msgarray['mobile_3'] = "Contact 2 and contact 3 mobile numbers cannot be same.";
                $errorflag = "false";
            }
        }
        if ($email_1 != '' && ($email_2 != '' || $email_3 != '')) {
            if ($email_2 != '' && $email_1 == $email_2) {
                $msgarray['email_2'] = "Contact 1 and contact 2 emails cannot be same.";
                $errorflag = "false";
            }
            if ($email_3 != '' && $email_1 == $email_3) {
                $msgarray['email_3'] = "Contact 1 and contact 3 emails cannot be same.";
                $errorflag = "false";
            }
            if ($email_3 != '' && $email_2 != '' && $email_2 == $email_3) {
                $msgarray['email_3'] = "Contact 2 and contact 3 emails cannot be same.";
                $errorflag = "false";
            }
        }
        /* Duplicate check END */
        $country_1 = $this->_request->getParam('country_1');
        $state_1 = intVal($this->_request->getParam('state_1'));
        $city_1 = intVal($this->_request->getParam('city_1'));
        if (isset($country_1) && $country_1 != 0 && $country_1 != '') {
            $statesData = $statesmodel->getStatesList($country_1);
            foreach ($statesData as $res) {
                $agencylistform->state_1->addMultiOption($res['id'], utf8_encode($res['state_name']));
            }
            if (isset($state_1) && $state_1 != 0 && $state_1 != '') {
                $agencylistform->setDefault('state_1', $state_1);
            }
        }
        if (isset($state_1) && $state_1 != 0 && $state_1 != '') {
            $citiesData = $citiesmodel->getCitiesList($state_1);
            foreach ($citiesData as $res) {
                $agencylistform->city_1->addMultiOption($res['id'], utf8_encode($res['city_name']));
            }
            if (isset($city_1) && $city_1 != 0 && $city_1 != '') {
                $agencylistform->setDefault('city_1', $city_1);
            }
        }
        $country_2 = $this->_request->getParam('country_2');
        $state_2 = intVal($this->_request->getParam('state_2'));
        $city_2 = intVal($this->_request->getParam('city_2'));
        if (isset($country_2) && $country_2 != 0 && $country_2 != '') {
            $statesData = $statesmodel->getStatesList($country_2);
            foreach ($statesData as $res) {
                $agencylistform->state_2->addMultiOption($res['id'], utf8_encode($res['state_name']));
            }
            if (isset($state_2) && $state_2 != 0 && $state_2 != '') {
                $agencylistform->setDefault('state_2', $state_2);
            }
        }
        if (isset($state_2) && $state_2 != 0 && $state_2 != '') {
            $citiesData = $citiesmodel->getCitiesList($state_2);
            foreach ($citiesData as $res) {
                $agencylistform->city_2->addMultiOption($res['id'], utf8_encode($res['city_name']));
            }
            if (isset($city_2) && $city_2 != 0 && $city_2 != '') {
                $agencylistform->setDefault('city_2', $city_2);
            }
        }
        $country_3 = $this->_request->getParam('country_3');
        $state_3 = intVal($this->_request->getParam('state_3'));
        $city_3 = intVal($this->_request->getParam('city_3'));
        if (isset($country_3) && $country_3 != 0 && $country_3 != '') {
            $statesData = $statesmodel->getStatesList($country_3);
            foreach ($statesData as $res) {
                $agencylistform->state_3->addMultiOption($res['id'], utf8_encode($res['state_name']));
            }
            if (isset($state_3) && $state_3 != 0 && $state_3 != '') {
                $agencylistform->setDefault('state_3', $state_3);
            }
        }
        if (isset($state_3) && $state_3 != 0 && $state_3 != '') {
            $citiesData = $citiesmodel->getCitiesList($state_3);
            foreach ($citiesData as $res) {
                $agencylistform->city_3->addMultiOption($res['id'], utf8_encode($res['city_name']));
            }
            if (isset($city_3) && $city_3 != 0 && $city_3 != '') {
                $agencylistform->setDefault('city_3', $city_3);
            }
        }
        $typesData = $checktypeModal->fetchAll('isactive=1', 'type')->toArray();
        if (!empty($typesData)) {
            $this->view->configure = '';
        } else {
            $msgarray['bg_checktype'] = 'Screening types are not configured yet.';
            $errorflag = 'false';
            $this->view->configure = 'notconfigured';
        }
        $rolesData = $agencylistmodel->getagencyrole();
        if (!empty($rolesData)) {
            $this->view->rolesconfigure = '';
        } else {
            $msgarray['emprole'] = 'Roles are not configured yet.';
            $errorflag = 'false';
            $this->view->rolesconfigure = 'notconfigured';
        }
        /* Email address validation */
        $email_1 = $this->_request->getParam('email_1');
        $isvalidemail = filter_var($email_1, FILTER_VALIDATE_EMAIL);
        if ($email_1 == $isvalidemail) {
        } else {
            $msgarray['email_1'] = "Please enter valid email.";
            $errorflag = "false";
        }
        $email_2 = $this->_request->getParam('email_2');
        if ($email_2 != '') {
            $isvalidemail = filter_var($email_2, FILTER_VALIDATE_EMAIL);
            if ($email_2 == $isvalidemail) {
            } else {
                $msgarray['email_2'] = "Please enter valid email.";
                $errorflag = "false";
            }
        }
        $email_3 = $this->_request->getParam('email_3');
        if ($email_3 != '') {
            $isvalidemail = filter_var($email_3, FILTER_VALIDATE_EMAIL);
            if ($email_3 == $isvalidemail) {
            } else {
                $msgarray['email_3'] = "Please enter valid email.";
                $errorflag = "false";
            }
        }
        /* Email address validation END	 */
        /* Website validation */
        $id = $this->_request->getParam('id');
        $website_url = $this->_request->getParam('website_url');
        $websiteExistance = $agencylistmodel->checkSiteDuplicates($website_url, $id);
        if (!empty($websiteExistance)) {
            $eid = isset($websiteExistance['employeeId']) ? $websiteExistance['employeeId'] : 'An agency';
            if ($websiteExistance['isactive'] == '1') {
                $msgarray['website_url'] = $eid . " with the given website URL already exists.";
            } else {
                $msgarray['website_url'] = $eid . " with the given website URL already exists but it might be inactive. Please activate it from manage external users.";
            }
            $errorflag = "false";
        }
        /* Website validation END */
        if ($agencylistform->isValid($this->_request->getPost()) && $errorflag != 'false') {
            $agencyname = $this->_request->getParam('agencyname');
            $address = $this->_request->getParam('address');
            $primaryphone = $this->_request->getParam('primaryphone');
            $secondaryphone = $this->_request->getParam('secondaryphone');
            $bg_checktype = $this->_request->getParam('bg_checktype');
            $bg_checktype = implode(',', $bg_checktype);
            $website_url = $this->_request->getParam('website_url');
            $pocid_1 = $this->_request->getParam('pocid_1');
            $firstname_1 = $this->_request->getParam('firstname_1');
            $lastname_1 = $this->_request->getParam('lastname_1');
            $mobile_1 = $this->_request->getParam('mobile_1');
            $email_1 = $this->_request->getParam('email_1');
            $location_1 = $this->_request->getParam('location_1');
            $country_1 = $this->_request->getParam('country_1');
            $state_1 = $this->_request->getParam('state_1');
            $city_1 = $this->_request->getParam('city_1');
            $contact_type_1 = $this->_request->getParam('contact_type_1');
            $pocid_2 = $this->_request->getParam('pocid_2');
            $firstname_2 = $this->_request->getParam('firstname_2');
            $lastname_2 = $this->_request->getParam('lastname_2');
            $mobile_2 = $this->_request->getParam('mobile_2');
            $email_2 = $this->_request->getParam('email_2');
            $location_2 = $this->_request->getParam('location_2');
            $country_2 = $this->_request->getParam('country_2');
            $state_2 = $this->_request->getParam('state_2');
            $city_2 = $this->_request->getParam('city_2');
            $contact_type_2 = $this->_request->getParam('contact_type_2');
            $pocid_3 = $this->_request->getParam('pocid_3');
            $firstname_3 = $this->_request->getParam('firstname_3');
            $lastname_3 = $this->_request->getParam('lastname_3');
            $mobile_3 = $this->_request->getParam('mobile_3');
            $email_3 = $this->_request->getParam('email_3');
            $location_3 = $this->_request->getParam('location_3');
            $country_3 = $this->_request->getParam('country_3');
            $state_3 = $this->_request->getParam('state_3');
            $city_3 = $this->_request->getParam('city_3');
            $contact_type_3 = $this->_request->getParam('contact_type_3');
            $emprole = $this->_request->getParam('emprole');
            if (empty($websiteExistance)) {
                $date = new Zend_Date();
                if ($contact_type_1 == 1) {
                    $agencyEmail = $email_1;
                    $agencyContactNum = $mobile_1;
                    $pocfn = $firstname_1;
                    $pocln = $lastname_1;
                } else {
                    if ($contact_type_2 == 1) {
                        $agencyEmail = $email_2;
                        $agencyContactNum = $mobile_2;
                        $pocfn = $firstname_2;
                        $pocln = $lastname_2;
                    } else {
                        if ($contact_type_3 == 1) {
                            $agencyEmail = $email_3;
                            $agencyContactNum = $mobile_3;
                            $pocfn = $firstname_3;
                            $pocln = $lastname_3;
                        }
                    }
                }
                $primary_poc_name = ucfirst($pocfn);
                /* Create user for the agency */
                if ($id == '') {
                    $pswd = uniqid();
                    $userdata = array('emprole' => $emprole, 'userstatus' => 'old', 'firstname' => $firstname_1, 'lastname' => $lastname_1, 'userfullname' => $firstname_1 . ' ' . $lastname_1, 'emailaddress' => $agencyEmail, 'contactnumber' => $agencyContactNum, 'emppassword' => md5($pswd), 'isactive' => 1, 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    $userWhere = '';
                    $usersModel = new Default_Model_Users();
                    $usersTableId = $usersModel->addOrUpdateUserModel($userdata, $userWhere);
                    $agencyuserid = $usersTableId;
                    $idcodeModel = new Default_Model_Identitycodes();
                    $idcode = $idcodeModel->getallcodes('bgcheck');
                    $userdata = array('employeeId' => $idcode . $usersTableId, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    $userWhere = array('id=?' => $usersTableId);
                    $usersTableId = $usersModel->addOrUpdateUserModel($userdata, $userWhere);
                    $options['subject'] = APPLICATION_NAME . ' :: Agency is created';
                    $options['header'] = 'Greetings from ' . APPLICATION_NAME;
                    $options['toEmail'] = $agencyEmail;
                    $options['toName'] = $pocfn . ' ' . $pocln;
                    $options['message'] = '<div>Dear ' . $pocfn . ',</div>
											<div>' . ucfirst($agencyname) . ' agency has been created. The credentials to login to your ' . APPLICATION_NAME . ' account are:
												<div>Login ID : ' . $idcode . $agencyuserid . ' </div>
												<div>Password : '******'</div>
												<div></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 agency details.</div>
											</div>';
                    $result = sapp_Global::_sendEmail($options);
                    $emailids = $agencylistmodel->getAllHRManagementEMails();
                    foreach ($emailids as $email) {
                        $options['subject'] = APPLICATION_NAME . ' :: Agency is created';
                        $options['header'] = 'Agency created';
                        $options['toEmail'] = $email['groupEmail'];
                        $options['toName'] = $email['group_name'];
                        if ($email['group_id'] == 4) {
                            $salutation = 'Dear HR,';
                            $options['toName'] = 'HR';
                        } else {
                            $salutation = 'Dear Management,';
                            $options['toName'] = 'Management';
                        }
                        $options['message'] = '<div>
													<div>' . $salutation . ' </div>
													<div></div>	
													' . ucfirst($agencyname) . ' agency has been created with ' . $pocfn . ' ' . $pocln . ' as primary point of contact.
													<div></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 agency details.</div>
												</div>';
                        $options['cron'] = 'yes';
                        $result = sapp_Global::_sendEmail($options);
                    }
                } else {
                    $agencyInfo = $agencylistmodel->getSingleagencyPOCData($id);
                    $userid = $agencyInfo[0]['user_id'];
                    $agencyoldname = $agencyInfo[0]['agencyname'];
                    $userdata = array('emprole' => $emprole, 'userfullname' => $agencyname, 'emailaddress' => $agencyEmail, 'contactnumber' => $agencyContactNum, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    $userWhere = array('id=?' => $userid);
                    $usersModel->addOrUpdateUserModel($userdata, $userWhere);
                    if ($agencyoldname != $agencyname) {
                        $agencynamemsg = '<div>Hello ' . ucfirst($primary_poc_name) . ',</div><div>Your agency name is changed to ' . ucfirst($agencyname) . '.</div>';
                    } else {
                        $agencynamemsg = '<div>Hello ' . ucfirst($primary_poc_name) . ',</div><div>Your agency information has been modified. Please find the details below:</div>';
                    }
                    $options['subject'] = APPLICATION_NAME . ' :: Agency details are updated';
                    $options['header'] = 'Agency information';
                    $options['toEmail'] = $agencyEmail;
                    $options['toName'] = $pocfn . ' ' . $pocln;
                    $options['message'] = '<div>' . $agencynamemsg . '
											<div><table border="1" style="border-collapse:collapse;"><tr><td>Primary email</td><td>' . $agencyEmail . '</td></tr><tr><td>Primary Contact Number</td><td>' . $agencyContactNum . '</td></tr></table></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 agency details.
											</div>
											</div>';
                    $options['cron'] = 'yes';
                    $result = sapp_Global::_sendEmail($options);
                }
                $actionflag = '';
                $tableid = '';
                $data = array('user_id' => $agencyuserid, 'agencyname' => $agencyname, 'address' => $address, 'primaryphone' => $primaryphone, 'secondaryphone' => $secondaryphone, 'bg_checktype' => $bg_checktype, 'website_url' => $website_url, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                if ($id != '') {
                    unset($data['user_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;
                }
                $agencyId = $agencylistmodel->SaveorUpdateAgency($data, $where);
                if ($agencyId == 'update') {
                    $tableid = $id;
                } else {
                    $tableid = $agencyId;
                }
                $menuID = AGENCYLIST;
                $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
                if ($firstname_1 != '' && $mobile_1 != '') {
                    $pocData_1 = array('bg_agencyid' => $tableid, 'first_name' => $firstname_1, 'last_name' => $lastname_1, 'contact_no' => $mobile_1, 'email' => $email_1, 'location' => $location_1, 'country' => $country_1, 'state' => $state_1, 'city' => $city_1, 'contact_type' => $contact_type_1, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    if ($pocid_1 != '') {
                        $pocWhere_1 = array('id=?' => $pocid_1);
                        $actionflag = 2;
                    } else {
                        $pocData_1['createdby'] = $loginUserId;
                        $pocData_1['createddate'] = gmdate("Y-m-d H:i:s");
                        $pocData_1['isactive'] = 1;
                        $pocWhere_1 = '';
                        $actionflag = 1;
                    }
                    $savedpocId_1 = $pocModel->SaveorUpdatePOCDetails($pocData_1, $pocWhere_1);
                    if ($savedpocId_1 == 'update') {
                        $newpocid_1 = $pocid_1;
                    } else {
                        $newpocid_1 = $savedpocId_1;
                    }
                }
                if ($firstname_2 != '' && $mobile_2 != '') {
                    $pocData_2 = array('bg_agencyid' => $tableid, 'first_name' => $firstname_2, 'last_name' => $lastname_2, 'contact_no' => $mobile_2, 'email' => $email_2, 'location' => $location_2, 'country' => $country_2, 'state' => $state_2, 'city' => $city_2, 'contact_type' => $contact_type_2, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    if ($pocid_2 != '') {
                        $pocWhere_2 = array('id=?' => $pocid_2);
                        $actionflag = 2;
                    } else {
                        $pocData_2['createdby'] = $loginUserId;
                        $pocData_2['createddate'] = gmdate("Y-m-d H:i:s");
                        $pocData_2['isactive'] = 1;
                        $pocWhere_2 = '';
                        $actionflag = 1;
                    }
                    $savedpocId_2 = $pocModel->SaveorUpdatePOCDetails($pocData_2, $pocWhere_2);
                    if ($savedpocId_2 == 'update') {
                        $newpocid_2 = $pocid_2;
                    } else {
                        $newpocid_2 = $savedpocId_2;
                    }
                }
                if ($firstname_3 != '' && $mobile_3 != '') {
                    $pocData_3 = array('bg_agencyid' => $tableid, 'first_name' => $firstname_3, 'last_name' => $lastname_3, 'contact_no' => $mobile_3, 'email' => $email_3, 'location' => $location_3, 'country' => $country_3, 'state' => $state_3, 'city' => $city_3, 'contact_type' => $contact_type_3, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                    if ($pocid_3 != '') {
                        $pocWhere_3 = array('id=?' => $pocid_3);
                        $actionflag = 2;
                    } else {
                        $pocData_3['createdby'] = $loginUserId;
                        $pocData_3['createddate'] = gmdate("Y-m-d H:i:s");
                        $pocData_3['isactive'] = 1;
                        $pocWhere_3 = '';
                        $actionflag = 1;
                    }
                    $savedpocId_3 = $pocModel->SaveorUpdatePOCDetails($pocData_3, $pocWhere_3);
                    if ($savedpocId_3 == 'update') {
                        $newpocid_3 = $pocid_3;
                    } else {
                        $newpocid_3 = $savedpocId_3;
                    }
                }
                if ($agencyId == 'update') {
                    $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Agency data updated successfully."));
                } else {
                    $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Agency data added successfully."));
                }
                $this->_redirect('agencylist');
            } else {
                $msgarray['message'] = 'An Agency, with the given website address, already exists.';
                $msgarray['msgtype'] = 'error';
                return $msgarray;
            }
        } else {
            $messages = $agencylistform->getMessages();
            if (isset($msgarray['mobile_1']) && !isset($messages['mobile_1'])) {
                $messages['mobile_1'] = $msgarray['mobile_1'];
            }
            if (isset($msgarray['email_1']) && !isset($messages['email_1'])) {
                $messages['email_1'] = $msgarray['email_1'];
            }
            if (isset($msgarray['mobile_2']) && !isset($messages['mobile_2'])) {
                $messages['mobile_2'] = $msgarray['mobile_2'];
            }
            if (isset($msgarray['email_2']) && !isset($messages['email_2'])) {
                $messages['email_2'] = $msgarray['email_2'];
            }
            if (isset($msgarray['mobile_3']) && !isset($messages['mobile_3'])) {
                $messages['mobile_3'] = $msgarray['mobile_3'];
            }
            if (isset($msgarray['email_3']) && !isset($messages['email_3'])) {
                $messages['email_3'] = $msgarray['email_3'];
            }
            $i = 0;
            $msgarray['error1dv'] = '';
            $msgarray['error2dv'] = '';
            $msgarray['error3dv'] = '';
            foreach ($messages as $key => $val) {
                if (strpos($key, '_1') !== false) {
                    $msgarray['error1dv'] = 'first';
                }
                if (strpos($key, '_2') !== false) {
                    $msgarray['error2dv'] = 'second';
                }
                if (strpos($key, '_3') !== false) {
                    $msgarray['error3dv'] = 'third';
                }
                if (!isset($msgarray[$key])) {
                    foreach ($val as $key2 => $val2) {
                        $msgarray[$key] = $val2;
                        break;
                    }
                }
                $i = $i + 1;
                if (empty($typesData)) {
                    $msgarray['bg_checktype'] = 'Screening types are not configured yet.';
                }
                if (empty($rolesData)) {
                    $msgarray['emprole'] = 'Roles are not configured yet.';
                }
            }
            return $msgarray;
        }
    }
 public function addpopupAction()
 {
     Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/");
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $controllername = 'bgscreeningtype';
     $msgarray = array();
     $bgscreeningtypeform = new Default_Form_bgscreeningtype();
     $bgscreeningtypeform->setAttrib('action', DOMAIN . 'bgscreeningtype/addpopup');
     $this->view->form = $bgscreeningtypeform;
     if ($this->getRequest()->getPost()) {
         $id = $this->_request->getParam('id');
         $type = $this->_request->getParam('type');
         $bgscreeningtypemodel = new Default_Model_Bgscreeningtype();
         $typeExistance = $bgscreeningtypemodel->checktypeduplicates($type, $id);
         $flag = 'true';
         if ($typeExistance) {
             $msgarray['type'] = 'Screening type already exists.';
             $flag = 'false';
         }
         if ($bgscreeningtypeform->isValid($this->_request->getPost()) && $flag == 'true') {
             $id = $this->_request->getParam('id');
             $type = $this->_request->getParam('type');
             $description = $this->_request->getParam('description');
             if (!$typeExistance) {
                 $date = new Zend_Date();
                 $menumodel = new Default_Model_Menu();
                 $actionflag = '';
                 $tableid = '';
                 $data = array('type' => $type, 'description' => $description, '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;
                 }
                 $Id = $bgscreeningtypemodel->SaveorUpdateScreeningtype($data, $where);
                 $tableid = $Id;
                 $menuidArr = $menumodel->getMenuObjID('/bgscreeningtype');
                 $menuID = $menuidArr[0]['id'];
                 $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
                 $screeningData = $bgscreeningtypemodel->fetchAll('isactive = 1', 'type')->toArray();
                 $opt = '';
                 foreach ($screeningData as $record) {
                     $opt .= sapp_Global::selectOptionBuilder($record['id'], $record['type']);
                 }
                 $this->view->screeningData = $opt;
                 $this->view->eventact = 'added';
                 $close = 'close';
                 $this->view->popup = $close;
             } else {
                 $msgarray['message'] = 'Screening type already exists.';
                 $msgarray['msgtype'] = 'error';
             }
         } else {
             $messages = $bgscreeningtypeform->getMessages();
             foreach ($messages as $key => $val) {
                 foreach ($val as $key2 => $val2) {
                     $msgarray[$key] = $val2;
                     break;
                 }
             }
         }
     }
     $this->view->controllername = $controllername;
     $this->view->msgarray = $msgarray;
     $this->view->messages = $msgarray;
 }
Пример #6
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;
    }
Пример #7
0
 public function empscreeningAction()
 {
     $form = new Default_Form_empscreeningreport();
     $msgarray = array();
     $reportsmodel = new Default_Model_Reports();
     $checktypeModal = new Default_Model_Bgscreeningtype();
     $specimen = $this->_request->getParam('specimen');
     $empname = $this->_request->getParam('empname');
     $agencyname = $this->_request->getParam('agencyname');
     $screeningtype = $this->_request->getParam('screeningtype');
     $process_status = $this->_request->getParam('process_status');
     $month = $this->_request->getParam('month');
     $year = $this->_request->getParam('year');
     $pageno = intval($this->_request->getParam('pageno', 1));
     $perPage = intval($this->_request->getParam('perpage', PERPAGE));
     if ($perPage == 0) {
         $perPage = PERPAGE;
     }
     $by = $this->_request->getParam('by', 'Desc');
     $sortby = $this->_request->getParam('sortby', 'modifieddate');
     $columnby = $this->_request->getParam('columnby');
     $columnsortby = $this->_request->getParam('columnsortby');
     $checkedheaders = $this->_request->getParam('checkedheaders');
     $typesData = $checktypeModal->fetchAll('isactive=1', 'type')->toArray();
     if (empty($typesData)) {
         $msgarray['screeningtype'] = 'Screening types are not configured yet.';
     } else {
         $msgarray['screeningtype'] = '';
     }
     $searchQuery = '';
     if ($checkedheaders != '') {
         $selectColumns = explode(',', $checkedheaders);
     }
     if ($columnby != '') {
         $by = $columnby;
     }
     if ($columnsortby != '') {
         $sortby = $columnsortby;
     }
     if ($specimen != '') {
         $searchQuery .= 'specimen_flag = "' . $specimen . '" AND ';
     }
     if ($empname != '') {
         $searchQuery .= 'specimen_name = "' . $empname . '" AND ';
     }
     if ($agencyname != '') {
         $searchQuery .= 'agencyname = "' . $agencyname . '" AND ';
     }
     if ($screeningtype != '' && $screeningtype != 'null') {
         $searchbgcheck = '(';
         $bgcheckarray = explode(',', $screeningtype);
         if (count($bgcheckarray) > 0) {
             foreach ($bgcheckarray as $bgcheck) {
                 $searchbgcheck = $searchbgcheck . 'screeningtypeid = ' . $bgcheck . ' OR screeningtypeid = ' . $bgcheck . ' OR screeningtypeid = ' . $bgcheck . ' OR ';
             }
             $searchbgcheck = $searchbgcheck != '' ? substr($searchbgcheck, 0, -3) . ')' : $searchbgcheck;
         }
         $searchQuery .= $searchbgcheck . ' AND';
     }
     if ($process_status != '') {
         $searchQuery .= 'process_status = "' . $process_status . '" AND ';
     }
     if ($month != '') {
         $searchQuery .= 'month_name = "' . $month . '" AND ';
     }
     if ($year != '') {
         $searchQuery .= 'year_year = "' . $year . '" AND ';
     }
     $searchQuery = rtrim($searchQuery, " AND");
     $selectColumnLabels = array();
     $empscreeningLabelsArr = array('specimen_name' => 'Specimen', 'specimen_flag_name' => 'Specimen type', 'agencyname' => 'Agency', 'screeningtype_name' => 'Screening type', 'process_status' => 'Process Status', 'createdname' => 'Sent by', 'createddate' => 'Sent on', 'isactive_text' => 'Status');
     if (empty($selectColumns)) {
         $selectColumns = array('specimen_name', 'specimen_flag_name', 'agencyname', 'screeningtype_name', 'process_status', 'createdname', 'createddate', 'isactive_text');
         $selectColumnLabels = $empscreeningLabelsArr;
     } else {
         foreach ($empscreeningLabelsArr as $key => $val) {
             foreach ($selectColumns as $column) {
                 if ($column == $key) {
                     $selectColumnLabels[$key] = $val;
                 }
             }
         }
     }
     $empscreeningArr = $reportsmodel->getEmpscreeningInfo($sortby, $by, $pageno, $perPage, $searchQuery);
     $empscreeningCount = $reportsmodel->getEmpscreeningCount($searchQuery);
     if ($empscreeningCount > 0) {
         $lastpage = ceil($empscreeningCount / $perPage);
     } else {
         $lastpage = '';
         $empscreeningCount = '';
     }
     $finalArray = $this->createEmpscreeningReportFinalArray($empscreeningArr, $selectColumns);
     $empscreeningArr = $finalArray;
     $this->view->selectColumnLabels = $selectColumnLabels;
     $this->view->empscreeningLabels = $empscreeningLabelsArr;
     $this->view->empscreeningArr = $empscreeningArr;
     $this->view->pageno = $pageno;
     $this->view->perpage = $perPage;
     $this->view->lastpage = $lastpage;
     $this->view->by = $by;
     $this->view->sortby = $sortby;
     $this->view->totalcount = $empscreeningCount;
     $this->view->msgarray = $msgarray;
     $this->view->form = $form;
 }
 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;
     }
 }
Пример #9
0
 public function init()
 {
     $this->setMethod('post');
     $this->setAttrib('id', 'formid');
     $this->setAttrib('name', 'agencylist');
     $this->setAttrib('action', BASE_URL . 'agencylist/edit/id/1');
     $id = new Zend_Form_Element_Hidden('id');
     $pocid_1 = new Zend_Form_Element_Hidden('pocid_1');
     $pocid_2 = new Zend_Form_Element_Hidden('pocid_2');
     $pocid_3 = new Zend_Form_Element_Hidden('pocid_3');
     $agencyname = new Zend_Form_Element_Text('agencyname');
     $agencyname->setAttrib('maxLength', 50);
     $agencyname->addFilter(new Zend_Filter_StringTrim());
     $agencyname->setRequired(true);
     $agencyname->addValidator('NotEmpty', false, array('messages' => 'Please enter agency name.'));
     $agencyname->addValidator("regex", true, array('pattern' => '/^(?![0-9]{4})[a-zA-Z0-9.\\- ?]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid agency name.')));
     $address = new Zend_Form_Element_Textarea('address');
     $address->setAttrib('rows', 10);
     $address->setAttrib('cols', 50);
     $address->setRequired(true);
     $address->addValidator('NotEmpty', false, array('messages' => 'Please enter address.'));
     $primaryphone = new Zend_Form_Element_Text('primaryphone');
     $primaryphone->setAttrib('maxLength', 15);
     $primaryphone->addFilter(new Zend_Filter_StringTrim());
     $primaryphone->setRequired(true);
     $primaryphone->addValidator('NotEmpty', false, array('messages' => 'Please enter primary phone number.'));
     $primaryphone->addValidators(array(array('StringLength', false, array('min' => 10, 'max' => 15, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'Primary phone number must contain at most %max% characters', Zend_Validate_StringLength::TOO_SHORT => 'Primary phone number must contain at least %min% characters.')))));
     $primaryphone->addValidator("regex", true, array('pattern' => '/^(?!0{10})[0-9]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid phone number.')));
     $primaryphone->addValidator(new Zend_Validate_Db_NoRecordExists(array('table' => 'main_bgagencylist', 'field' => 'primaryphone', 'exclude' => 'id!="' . Zend_Controller_Front::getInstance()->getRequest()->getParam('id') . '" and isactive=1')));
     $primaryphone->getValidator('Db_NoRecordExists')->setMessage('Primary phone number already exists.');
     $secondaryphone = new Zend_Form_Element_Text('secondaryphone');
     $secondaryphone->setAttrib('maxLength', 15);
     $secondaryphone->addFilter(new Zend_Filter_StringTrim());
     $secondaryphone->addValidators(array(array('StringLength', false, array('min' => 10, 'max' => 15, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'Secondary phone number must contain at most %max% characters', Zend_Validate_StringLength::TOO_SHORT => 'Secondary phone number must contain at least %min% characters.')))));
     $secondaryphone->addValidator("regex", true, array('pattern' => '/^(?!0{10})[0-9]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid phone number.')));
     $checktype = new Zend_Form_Element_Multiselect('bg_checktype');
     $checktype->setRequired(true)->addErrorMessage('Please select screening type.');
     $checktype->addValidator('NotEmpty', false, array('messages' => 'Please select screening type.'));
     $checktypeModal = new Default_Model_Bgscreeningtype();
     $typesData = $checktypeModal->fetchAll('isactive=1', 'type');
     foreach ($typesData->toArray() as $data) {
         $checktype->addMultiOption($data['id'], $data['type']);
     }
     $checktype->setRegisterInArrayValidator(false);
     $emprole = new Zend_Form_Element_Select('emprole');
     $emprole->setRequired(true)->addErrorMessage('Please select role.');
     $emprole->addValidator('NotEmpty', false, array('messages' => 'Please select role.'));
     $emprole->addMultiOption('', 'Select Role');
     $agencyModal = new Default_Model_Agencylist();
     $roleData = $agencyModal->getagencyrole();
     foreach ($roleData as $data) {
         $emprole->addMultiOption($data['id'], $data['rolename']);
     }
     $emprole->setRegisterInArrayValidator(false);
     $website = new Zend_Form_Element_Text('website_url');
     $website->setAttrib('maxLength', 50);
     $website->addFilter(new Zend_Filter_StringTrim());
     $website->setRequired(true);
     $website->addValidator('NotEmpty', false, array('messages' => 'Please enter website URL.'));
     $website->addValidator("regex", true, array('pattern' => '/^(http:\\/\\/www|https:\\/\\/www|www)+\\.([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,3})$/', 'messages' => array('regexNotMatch' => 'Please enter valid URL.')));
     $firstname_1 = new Zend_Form_Element_Text('firstname_1');
     $firstname_1->setAttrib('maxLength', 50);
     $firstname_1->addFilter(new Zend_Filter_StringTrim());
     $firstname_1->setRequired(true);
     $firstname_1->addValidator('NotEmpty', false, array('messages' => 'Please enter first name.'));
     $firstname_1->addValidator("regex", true, array('pattern' => '/^[a-zA-Z.\\- ?]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid name.')));
     $lastname_1 = new Zend_Form_Element_Text('lastname_1');
     $lastname_1->setAttrib('maxLength', 50);
     $lastname_1->addFilter(new Zend_Filter_StringTrim());
     $lastname_1->setRequired(true);
     $lastname_1->addValidator('NotEmpty', false, array('messages' => 'Please enter last name.'));
     $lastname_1->addValidator("regex", true, array('pattern' => '/^[a-zA-Z.\\- ?]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid name.')));
     $mobile_1 = new Zend_Form_Element_Text('mobile_1');
     $mobile_1->setAttrib('maxLength', 10);
     $mobile_1->addFilter(new Zend_Filter_StringTrim());
     $mobile_1->setRequired(true);
     $mobile_1->addValidator('NotEmpty', false, array('messages' => 'Please enter 10 digit mobile number.'));
     $mobile_1->addValidators(array(array('StringLength', false, array('min' => 10, 'max' => 10, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'Mobile number must contain at most %max% characters', Zend_Validate_StringLength::TOO_SHORT => 'Mobile number must contain at least %min% characters.')))));
     $mobile_1->addValidator("regex", true, array('pattern' => '/^(?!0{10})[0-9]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid phone number.')));
     $email_1 = new Zend_Form_Element_Text('email_1');
     $email_1->setAttrib('maxLength', 50);
     $email_1->addFilter(new Zend_Filter_StringTrim());
     $email_1->setRequired(true);
     $email_1->addValidator('NotEmpty', false, array('messages' => 'Please enter email.'));
     $location_1 = new Zend_Form_Element_Text('location_1');
     $location_1->setAttrib('maxLength', 50);
     $location_1->addFilter(new Zend_Filter_StringTrim());
     $location_1->setRequired(true);
     $location_1->addValidator('NotEmpty', false, array('messages' => 'Please enter location.'));
     $country_1 = new Zend_Form_Element_Select('country_1');
     $country_1->setLabel('country');
     $country_1->setRequired(true);
     $country_1->addValidator('NotEmpty', false, array('messages' => 'Please select country.'));
     $country_1->setAttrib('onchange', 'displayParticularState_normal(this,"","state_1","city_1")');
     $countryModal = new Default_Model_Countries();
     $countriesData = $countryModal->getTotalCountriesList('isactive=1', 'country_name');
     $country_1->addMultiOption('', 'Select country');
     foreach ($countriesData as $data) {
         $country_1->addMultiOption($data['id'], utf8_encode($data['country_name']));
     }
     $country_1->setRegisterInArrayValidator(false);
     $state_1 = new Zend_Form_Element_Select('state_1');
     $state_1->setAttrib('class', 'selectoption');
     $state_1->setAttrib('onchange', 'displayParticularCity_normal(this,"","city_1","")');
     $state_1->setRegisterInArrayValidator(false);
     $state_1->addMultiOption('', 'Select State');
     $state_1->setRequired(true);
     $state_1->addValidator('NotEmpty', false, array('messages' => 'Please select state.'));
     $city_1 = new Zend_Form_Element_Select('city_1');
     $city_1->setAttrib('class', 'selectoption');
     $city_1->setAttrib('onchange', 'displayCityCode(this)');
     $city_1->setRegisterInArrayValidator(false);
     $city_1->addMultiOption('', 'Select City');
     $city_1->setRequired(true);
     $city_1->addValidator('NotEmpty', false, array('messages' => 'Please select city.'));
     $contact_type_1 = new Zend_Form_Element_Select('contact_type_1');
     $contact_type_1->setLabel('contact_type_1')->setMultiOptions(array('' => 'Select Contact Type', '1' => 'Primary', '2' => 'Secondary'));
     $contact_type_1->setRegisterInArrayValidator(false);
     $contact_type_1->setRequired(true);
     $contact_type_1->addValidator('NotEmpty', false, array('messages' => 'Please select contact type.'));
     $firstname_2 = new Zend_Form_Element_Text('firstname_2');
     $firstname_2->setAttrib('maxLength', 50);
     $firstname_2->addFilter(new Zend_Filter_StringTrim());
     $lastname_2 = new Zend_Form_Element_Text('lastname_2');
     $lastname_2->setAttrib('maxLength', 50);
     $lastname_2->addFilter(new Zend_Filter_StringTrim());
     $mobile_2 = new Zend_Form_Element_Text('mobile_2');
     $mobile_2->setAttrib('maxLength', 10);
     $mobile_2->addFilter(new Zend_Filter_StringTrim());
     $email_2 = new Zend_Form_Element_Text('email_2');
     $email_2->setAttrib('maxLength', 50);
     $email_2->addFilter(new Zend_Filter_StringTrim());
     $location_2 = new Zend_Form_Element_Text('location_2');
     $location_2->setAttrib('maxLength', 50);
     $location_2->addFilter(new Zend_Filter_StringTrim());
     $country_2 = new Zend_Form_Element_Select('country_2');
     $country_2->setLabel('country');
     $country_2->setAttrib('onchange', 'displayParticularState_normal(this,"","state_2","city_2")');
     $countryModal = new Default_Model_Countries();
     $countriesData = $countryModal->getTotalCountriesList('isactive=1', 'country_name');
     $country_2->addMultiOption('', 'Select country');
     foreach ($countriesData as $data) {
         $country_2->addMultiOption($data['id'], utf8_encode($data['country_name']));
     }
     $state_2 = new Zend_Form_Element_Select('state_2');
     $state_2->setAttrib('class', 'selectoption');
     $state_2->setAttrib('onchange', 'displayParticularCity_normal(this,"","city_2","")');
     $state_2->addMultiOption('', 'Select State');
     $city_2 = new Zend_Form_Element_Select('city_2');
     $city_2->setAttrib('class', 'selectoption');
     $city_2->setAttrib('onchange', 'displayCityCode(this)');
     $city_2->addMultiOption('', 'Select City');
     $contact_type_2 = new Zend_Form_Element_Select('contact_type_2');
     $contact_type_2->setLabel('contact_type_2')->setMultiOptions(array('' => 'select contact type', '1' => 'Primary', '2' => 'Secondary'));
     $secondpocid = new Zend_Form_Element_Hidden('secondpocid');
     $valfirstname_2 = Zend_Controller_Front::getInstance()->getRequest()->getParam('firstname_2', null);
     $vallastname_2 = Zend_Controller_Front::getInstance()->getRequest()->getParam('lastname_2', null);
     $valmobile_2 = Zend_Controller_Front::getInstance()->getRequest()->getParam('mobile_2', null);
     $valemail_2 = Zend_Controller_Front::getInstance()->getRequest()->getParam('email_2', null);
     $vallocation_2 = Zend_Controller_Front::getInstance()->getRequest()->getParam('location_2', null);
     $valcountry_2 = Zend_Controller_Front::getInstance()->getRequest()->getParam('country_2', null);
     $valstate_2 = Zend_Controller_Front::getInstance()->getRequest()->getParam('state_2', null);
     $valcity_2 = Zend_Controller_Front::getInstance()->getRequest()->getParam('city_2', null);
     $valcontact_type_2 = Zend_Controller_Front::getInstance()->getRequest()->getParam('contact_type_2', null);
     if ($valfirstname_2 != '' || $vallastname_2 != '' || $valmobile_2 != '' || $valemail_2 != '' || $vallocation_2 != '' || $valcountry_2 != '' || $valstate_2 != '' || $valcity_2 != '' || $valcontact_type_2 != '') {
         $firstname_2->setRequired(true);
         $firstname_2->addValidator('NotEmpty', false, array('messages' => 'Please enter first name.'));
         $lastname_2->setRequired(true);
         $lastname_2->addValidator('NotEmpty', false, array('messages' => 'Please enter last name.'));
         $mobile_2->setRequired(true);
         $mobile_2->addValidator('NotEmpty', false, array('messages' => 'Please enter 10 digit mobile number.'));
         $email_2->setRequired(true);
         $email_2->addValidator('NotEmpty', false, array('messages' => 'Please enter email.'));
         $location_2->setRequired(true);
         $location_2->addValidator('NotEmpty', false, array('messages' => 'Please enter location.'));
         $country_2->setRequired(true);
         $country_2->addValidator('NotEmpty', false, array('messages' => 'Please select country.'));
         $country_2->setRegisterInArrayValidator(false);
         $state_2->setRequired(true);
         $state_2->addValidator('NotEmpty', false, array('messages' => 'Please select state.'));
         $state_2->setRegisterInArrayValidator(false);
         $city_2->setRequired(true);
         $city_2->addValidator('NotEmpty', false, array('messages' => 'Please select city.'));
         $city_2->setRegisterInArrayValidator(false);
         $contact_type_2->setRequired(true);
         $contact_type_2->addValidator('NotEmpty', false, array('messages' => 'Please select contact type.'));
         $contact_type_2->setRegisterInArrayValidator(false);
     }
     $firstname_2->addValidator("regex", true, array('pattern' => '/^[a-zA-Z.\\- ?]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid name.')));
     $lastname_2->addValidator("regex", true, array('pattern' => '/^[a-zA-Z.\\- ?]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid name.')));
     $mobile_2->addValidators(array(array('StringLength', false, array('min' => 10, 'max' => 10, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'Mobile number must contain at most %max% characters', Zend_Validate_StringLength::TOO_SHORT => 'Mobile number must contain at least %min% characters.')))));
     $mobile_2->addValidator("regex", true, array('pattern' => '/^(?!0{10})[0-9]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid phone number.')));
     $firstname_3 = new Zend_Form_Element_Text('firstname_3');
     $firstname_3->setAttrib('maxLength', 50);
     $firstname_3->addFilter(new Zend_Filter_StringTrim());
     $lastname_3 = new Zend_Form_Element_Text('lastname_3');
     $lastname_3->setAttrib('maxLength', 50);
     $lastname_3->addFilter(new Zend_Filter_StringTrim());
     $mobile_3 = new Zend_Form_Element_Text('mobile_3');
     $mobile_3->setAttrib('maxLength', 10);
     $mobile_3->addFilter(new Zend_Filter_StringTrim());
     $email_3 = new Zend_Form_Element_Text('email_3');
     $email_3->setAttrib('maxLength', 50);
     $email_3->addFilter(new Zend_Filter_StringTrim());
     $location_3 = new Zend_Form_Element_Text('location_3');
     $location_3->setAttrib('maxLength', 50);
     $location_3->addFilter(new Zend_Filter_StringTrim());
     $country_3 = new Zend_Form_Element_Select('country_3');
     $country_3->setLabel('country');
     $country_3->setAttrib('onchange', 'displayParticularState_normal(this,"","state_3","city_3")');
     $countryModal = new Default_Model_Countries();
     $countriesData = $countryModal->getTotalCountriesList('isactive=1', 'country_name');
     $country_3->addMultiOption('', 'Select country');
     foreach ($countriesData as $data) {
         $country_3->addMultiOption($data['id'], utf8_encode($data['country_name']));
     }
     $state_3 = new Zend_Form_Element_Select('state_3');
     $state_3->setAttrib('class', 'selectoption');
     $state_3->setAttrib('onchange', 'displayParticularCity_normal(this,"","city_3","")');
     $state_3->addMultiOption('', 'Select State');
     $city_3 = new Zend_Form_Element_Select('city_3');
     $city_3->setAttrib('class', 'selectoption');
     $city_3->setAttrib('onchange', 'displayCityCode(this)');
     $city_3->addMultiOption('', 'Select City');
     $contact_type_3 = new Zend_Form_Element_Select('contact_type_3');
     $contact_type_3->setLabel('contact_type_3')->setMultiOptions(array('' => 'select contact type', '1' => 'Primary', '2' => 'Secondary'));
     $thirdpocid = new Zend_Form_Element_Hidden('thirdpocid');
     $thirdData = Zend_Controller_Front::getInstance()->getRequest()->getParam('thirdpocid', null);
     $valfirstname_3 = Zend_Controller_Front::getInstance()->getRequest()->getParam('firstname_3', null);
     $vallastname_3 = Zend_Controller_Front::getInstance()->getRequest()->getParam('lastname_3', null);
     $valmobile_3 = Zend_Controller_Front::getInstance()->getRequest()->getParam('mobile_3', null);
     $valemail_3 = Zend_Controller_Front::getInstance()->getRequest()->getParam('email_3', null);
     $vallocation_3 = Zend_Controller_Front::getInstance()->getRequest()->getParam('location_3', null);
     $valcountry_3 = Zend_Controller_Front::getInstance()->getRequest()->getParam('country_3', null);
     $valstate_3 = Zend_Controller_Front::getInstance()->getRequest()->getParam('state_3', null);
     $valcity_3 = Zend_Controller_Front::getInstance()->getRequest()->getParam('city_3', null);
     $valcontact_type_3 = Zend_Controller_Front::getInstance()->getRequest()->getParam('contact_type_3', null);
     if ($valfirstname_3 != '' || $vallastname_3 != '' || $valmobile_3 != '' || $valemail_3 != '' || $vallocation_3 != '' || $valcountry_3 != '' || $valstate_3 != '' || $valcity_3 != '' || $valcontact_type_3 != '') {
         $firstname_3->setRequired(true);
         $firstname_3->addValidator('NotEmpty', false, array('messages' => 'Please enter first name.'));
         $lastname_3->setRequired(true);
         $lastname_3->addValidator('NotEmpty', false, array('messages' => 'Please enter last name.'));
         $mobile_3->setRequired(true);
         $mobile_3->addValidator('NotEmpty', false, array('messages' => 'Please enter  10 digit mobile number.'));
         $email_3->setRequired(true);
         $email_3->addValidator('NotEmpty', false, array('messages' => 'Please enter email.'));
         $location_3->setRequired(true);
         $location_3->addValidator('NotEmpty', false, array('messages' => 'Please enter location.'));
         $country_3->setRequired(true);
         $country_3->addValidator('NotEmpty', false, array('messages' => 'Please select country.'));
         $country_3->setRegisterInArrayValidator(false);
         $state_3->setRequired(true);
         $state_3->addValidator('NotEmpty', false, array('messages' => 'Please select state.'));
         $state_3->setRegisterInArrayValidator(false);
         $city_3->setRequired(true);
         $city_3->addValidator('NotEmpty', false, array('messages' => 'Please select city.'));
         $city_3->setRegisterInArrayValidator(false);
         $contact_type_3->setRequired(true);
         $contact_type_3->addValidator('NotEmpty', false, array('messages' => 'Please select contact type.'));
         $contact_type_3->setRegisterInArrayValidator(false);
     }
     $firstname_3->addValidator("regex", true, array('pattern' => '/^[a-zA-Z.\\- ?]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid name.')));
     $lastname_3->addValidator("regex", true, array('pattern' => '/^[a-zA-Z.\\- ?]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid name.')));
     $mobile_3->addValidators(array(array('StringLength', false, array('min' => 10, 'max' => 10, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'Mobile number must contain at most %max% characters', Zend_Validate_StringLength::TOO_SHORT => 'Mobile number must contain at least %min% characters.')))));
     $mobile_3->addValidator("regex", true, array('pattern' => '/^(?!0{10})[0-9]+$/', 'messages' => array('regexNotMatch' => 'Please enter valid phone number.')));
     $submit = new Zend_Form_Element_Submit('submit');
     $submit->setAttrib('id', 'submitbutton');
     $submit->setLabel('Save');
     $this->addElements(array($id, $pocid_1, $pocid_2, $pocid_3, $agencyname, $address, $primaryphone, $secondaryphone, $checktype, $website, $firstname_1, $lastname_1, $mobile_1, $email_1, $location_1, $country_1, $state_1, $city_1, $contact_type_1, $firstname_2, $lastname_2, $mobile_2, $email_2, $location_2, $country_2, $state_2, $city_2, $contact_type_2, $secondpocid, $firstname_3, $lastname_3, $mobile_3, $email_3, $location_3, $country_3, $state_3, $city_3, $contact_type_3, $thirdpocid, $emprole, $submit));
     $this->setElementDecorators(array('ViewHelper'));
 }