/** * function __construct * <pre> * Initialize the Class ... * </pre> * @param $sortBy [STRING] the field name to sort list by * @return [void] */ function __construct($sortBy = '') { $searchManager = new RowManager_FamilyManager(); // NOTE: if you need to narrow the field of the search then uncommnet // the following and set the proper search criteria. //$searchManager->setValueByFieldName('module_isCommonLook', '1' ); $searchManager->setSortOrder($sortBy); parent::__construct($searchManager); }
/** * function __construct * <pre> * Initialize the Class ... * </pre> * @param $sortBy [STRING] the field name to sort list by * @return [void] */ function __construct($requireRegion = false, $getOnlyNS = false, $includeChildren = false, $includeAlumni = false, $sortBy = '', $excludeSpouse = false) { $this->requireRegion = $requireRegion; $multiTableManager = new MultiTableManager(); // ----- STEP ONE: Deal with the ren table $renManager = new RowManager_HrdbRenManager(); /* if( $getOnlyNS ) { $renManager->setEmployeeStatus('NS'); } */ $multiTableManager->addRowManager($renManager); if ($getOnlyNS) { // we also need to $condition = $multiTableManager->constructSearchCondition($renManager->getFieldEmployeeStatus(), OP_EQUAL, 'NS'); $condition .= ' OR '; $condition .= $multiTableManager->constructSearchCondition($renManager->getFieldEmployeeStatus(), OP_EQUAL, 'ANS'); $multiTableManager->addSearchCondition($condition); } if (!$includeChildren) { $multiTableManager->constructSearchCondition($renManager->getFieldIdentifierFamilyPosition(), OP_NOT_EQUAL, "Child", true); } if ($excludeSpouse) { $multiTableManager->constructSearchCondition($renManager->getFieldIdentifierFamilyPosition(), OP_NOT_EQUAL, 'Spouse', true); } // STEP ONE COMPLETE // ----- STEP TWO: Join with the family table $familyManager = new RowManager_FamilyManager(); if (!$includeAlumni) { // we want only those who are not alumni $familyManager->setAlumni(false); } $multiTableManager->addRowManager($familyManager, new JoinPair($renManager->getJoinOnFamilyID(), $familyManager->getJoinOnFamilyID())); // STEP TWO COMPLETE // ------ STEP THREE: Check if region is needed if ($requireRegion) { // assignment $assManager = new RowManager_HrdbAssignmentManager(); $multiTableManager->addRowManager($assManager, new JoinPair($renManager->getJoinOnAssignmentID(), $assManager->getJoinOnAssignmentID())); // city $cityManager = new RowManager_HrdbCityManager(); $multiTableManager->addRowManager($cityManager, new JoinPair($assManager->getJoinOnCityID(), $cityManager->getJoinOnCityID())); // province $provinceManager = new RowManager_ProvinceManager(); $multiTableManager->addRowManager($provinceManager, new JoinPair($cityManager->getJoinOnProvinceID(), $provinceManager->getJoinOnProvinceID())); // region $regionManager = new RowManager_HrdbRegionManager(); $multiTableManager->addRowManager($regionManager, new JoinPair($provinceManager->getJoinOnRegionID(), $regionManager->getJoinOnRegionID())); } // STEP THREE COMPLETE $multiTableManager->setSortOrder($sortBy); parent::__construct($multiTableManager, 'RowManager_HrdbRenManager'); }