예제 #1
0
    public function considerCandidateSearch()
    {
        /* Bail out if we don't have a valid job order ID. */
        if (!$this->isRequiredIDValid('jobOrderID', $_GET))
        {
            CommonErrors::fatalModal(COMMONERROR_BADINDEX, $this, 'Invalid job order ID.');
        }

        $jobOrderID = $_GET['jobOrderID'];
        $objJoborder=new JobOrders($this->_siteID);
        $objJoborder->load($jobOrderID);
        $arrExtraFieldData=array();
        $arrExtraFieldDataTmp=$objJoborder->extraFields->getValues($jobOrderID);
        foreach($arrExtraFieldDataTmp as $arrData)
        {
            $arrExtraFieldData[$arrData["fieldName"]]=$arrData;
        }
        /* Execute the search. */
        $search = new SearchCandidates($this->_siteID);
        $arrMappingData=array();
        foreach($objJoborder->candidate_mapping as $mapping)
        {
            if(isset($arrExtraFieldData[$mapping]["value"]))
            {
                $arrMappingData[$mapping]=$arrExtraFieldData[$mapping]["value"];
            }
            else
            {
                $arrMappingData[$mapping]=$objJoborder->$mapping;
            }
        }
        $rs=$search->byJoborderMatching($arrMappingData);
        
        if (!eval(Hooks::get('JO_CONSIDER_CANDIDATE_SEARCH'))) return;

        $pipelines = new Pipelines($this->_siteID);
        $pipelinesRS = $pipelines->getJobOrderPipeline($jobOrderID);

        foreach ($rs as $rowIndex => $row)
        {
            if (ResultSetUtility::findRowByColumnValue($pipelinesRS,
                'candidateID', $row['candidateID']) !== false)
            {
                $rs[$rowIndex]['inPipeline'] = true;
            }
            else
            {
                $rs[$rowIndex]['inPipeline'] = false;
            }

            $rs[$rowIndex]['ownerAbbrName'] = StringUtility::makeInitialName(
                $row['ownerFirstName'],
                $row['ownerLastName'],
                false,
                LAST_NAME_MAXLEN
            );
        }

        $this->_template->assign('rs', $rs);
        $this->_template->assign('isFinishedMode', false);
        $this->_template->assign('isResultsMode', true);
        $this->_template->assign('jobOrderID', $jobOrderID);
        $this->_template->display('./modules/joborders/ConsiderSearchModal.tpl');
    }