/** * Get the filter to use with the model for searching including model sorts, etc.. * * @param boolean $useRequest Use the request as source (when false, the session is used) * @return array or false */ public function getSearchFilter($useRequest = true) { $filter = parent::getSearchFilter($useRequest); $with = isset($filter['show_with_track']) ? $filter['show_with_track'] : false; $without = isset($filter['show_without_track']) ? $filter['show_without_track'] : false; if ($with) { if (!$without) { $filter[] = "EXISTS (SELECT * FROM gems__respondent2track\n WHERE gr2o_id_user = gr2t_id_user AND gr2o_id_organization = gr2t_id_organization)"; } } elseif ($without) { $filter[] = "NOT EXISTS (SELECT * FROM gems__respondent2track\n WHERE gr2o_id_user = gr2t_id_user AND gr2o_id_organization = gr2t_id_organization)"; } else { $filter[] = '1=0'; } if (!isset($filter['show_with_track'])) { $filter['show_with_track'] = 1; } unset($filter['show_with_track'], $filter['show_without_track']); return $filter; }
/** * Get the filter to use with the model for searching * * @param boolean $useRequest Use the request as source (when false, the session is used) * @return array or false */ public function getSearchFilter($useRequest = true) { $filter = parent::getSearchFilter($useRequest); $where = \Gems_Snippets_AutosearchFormSnippet::getPeriodFilter($filter, $this->db); if ($where) { $filter[] = $where; } return $filter; }
/** * Get the filter to use with the model for searching including model sorts, etc.. * * @param boolean $useRequest Use the request as source (when false, the session is used) * @return array or false */ public function getSearchFilter($useRequest = true) { $filter = parent::getSearchFilter($useRequest); if (isset($filter['gr2t_id_track']) && $filter['gr2t_id_track']) { switch ($filter['gr2t_id_track']) { case 'show_without_track': $filter[] = "NOT EXISTS (SELECT * FROM gems__respondent2track\n WHERE gr2o_id_user = gr2t_id_user AND gr2o_id_organization = gr2t_id_organization)"; // Intentional fall through // Intentional fall through case 'show_all': unset($filter['gr2t_id_track']); break; case 'show_with_track': unset($filter['gr2t_id_track']); // Intentional fall through // Intentional fall through default: $model = $this->getModel(); if (!$model->hasAlias('gems__respondent2track')) { $model->addTable('gems__respondent2track', array('gr2o_id_user' => 'gr2t_id_user', 'gr2o_id_organization' => 'gr2t_id_organization')); } if (!$model->hasAlias('gems__tracks')) { $model->addTable('gems__tracks', array('gr2t_id_track' => 'gtr_id_track')); } } } if (!isset($filter['show_with_track'])) { $filter['show_with_track'] = 1; } unset($filter['__active_tracks']); return $filter; }