AdminListAutocomplete::setFilterFields PHP Method

setFilterFields() public method

public setFilterFields ( $filters )
$filters
    public function setFilterFields($filters)
    {
        $this->filterFields = $filters;
    }

Usage Example

 public function actionList()
 {
     $search = $this->request->getParam("search");
     $session = new CHttpSession();
     $session->open();
     $firmId = $this->request->getParam("firm_id");
     $subspecialtyId = $this->request->getParam("subspecialty_id");
     if ($firmId > 0 && (isset($search['filterid']['subspecialty_id']['value']) && $search['filterid']['subspecialty_id']['value'] > 0)) {
         $session['lastSubspecialtyId'] = $search['filterid']['subspecialty_id']['value'];
         $this->redirect('/oeadmin/LeafletSubspecialtyFirm/list?search[filterid][firm_id][value]=' . $firmId . '&subspecialty_id=' . $search['filterid']['subspecialty_id']['value']);
     }
     $lastSubspecialtyId = $session['lastSubspecialtyId'];
     // check if it's been already set
     if (!($lastSubspecialtyId > 0)) {
         if (isset($search['filterid']['subspecialty_id']['value'])) {
             $session['lastSubspecialtyId'] = $search['filterid']['subspecialty_id']['value'];
         } else {
             $session['lastSubspecialtyId'] = Firm::model()->findByPk(Yii::app()->session['selected_firm_id'])->serviceSubspecialtyAssignment->subspecialty_id;
         }
     }
     // || ($this->request->getParam("subspecialty_id")!=$session['lastSubspecialtyId'] && $search['filterid']['firm_id']['value']=="")
     if ($subspecialtyId > 0 && $subspecialtyId != $session['lastSubspecialtyId'] && isset($search['filterid']['firm_id']['value']) || $subspecialtyId == $session['lastSubspecialtyId'] && $search['filterid']['firm_id']['value'] == "") {
         $session['lastSubspecialtyId'] = "";
         $this->redirect('/oeadmin/LeafletSubspecialtyFirm/list?search[filterid][subspecialty_id][value]=' . $subspecialtyId);
     }
     if (isset($search['filterid']['firm_id']['value']) && $search['filterid']['firm_id']['value'] > 0) {
         $excludeSubspecialty = true;
         $excludeFirm = false;
         $admin = new AdminListAutocomplete(OphTrConsent_Leaflet_Firm::model(), $this);
         $admin->setCustomDeleteURL('/oeadmin/LeafletSubspecialtyFirm/deleteFirm');
     } else {
         $excludeSubspecialty = false;
         $excludeFirm = true;
         $admin = new AdminListAutocomplete(OphTrConsent_Leaflet_Subspecialty::model(), $this);
         $admin->setCustomDeleteURL('/oeadmin/LeafletSubspecialtyFirm/deleteSubspecialty');
     }
     $admin->setListFields(array('id', 'leaflet.name'));
     $admin->setCustomSaveURL('/oeadmin/LeafletSubspecialtyFirm/add');
     $admin->setModelDisplayName('Leaflet-Subspecialty-Firm Assignment');
     if ($subspecialtyId > 0) {
         $defaultSubspecialty = $subspecialtyId;
     } else {
         $defaultSubspecialty = Firm::model()->findByPk(Yii::app()->session['selected_firm_id'])->serviceSubspecialtyAssignment->subspecialty_id;
     }
     $admin->setFilterFields(array(array('label' => 'Subspecialty', 'dropDownName' => 'subspecialty_id', 'defaultValue' => $defaultSubspecialty, 'listModel' => Subspecialty::model(), 'listIdField' => 'id', 'listDisplayField' => 'name', 'excludeSearch' => $excludeSubspecialty), array('label' => 'Firm', 'dropDownName' => 'firm_id', 'defaultValue' => null, 'listModel' => Firm::model(), 'listIdField' => 'id', 'listDisplayField' => 'name', 'emptyLabel' => '-- All --', 'dependsOnFilterName' => 'subspecialty_id', 'dependsOnDbFieldName' => 'subspecialty_id', 'dependsOnJoinedTable' => 'serviceSubspecialtyAssignment', 'excludeSearch' => $excludeFirm)));
     // we set default search options
     if ($this->request->getParam('search') == '') {
         $admin->getSearch()->initSearch(array('filterid' => array('subspecialty_id' => Firm::model()->findByPk(Yii::app()->session['selected_firm_id'])->serviceSubspecialtyAssignment->subspecialty_id)));
     }
     $admin->setAutocompleteField(array('fieldName' => 'leaflet_id', 'allowBlankSearch' => 1, 'jsonURL' => '/oeadmin/LeafletSubspecialtyFirm/search', 'placeholder' => 'search for leaflets'));
     //$admin->searchAll();
     $admin->listModel();
 }
All Usage Examples Of AdminListAutocomplete::setFilterFields