/**
* @return Gpf_SqlBuilder_SelectBuilder
*/
protected function createSelectBuilder() {
$filters = new Gpf_Rpc_FilterCollection($this->params);
$selectBuilder = new Gpf_SqlBuilder_SelectBuilder();
$selectBuilder->select->add('v.'.Gpf_Db_Table_Views::ID, self::ID);
$selectBuilder->select->add('v.'.Gpf_Db_Table_Views::NAME, self::VALUE);
$selectBuilder->from->add(Gpf_Db_Table_Views::getName(), 'v');
$whereCond = new Gpf_SqlBuilder_CompoundWhereCondition();
$whereCond->add('v.' . Gpf_Db_Table_Views::ACCOUNTUSERID, '=', Gpf_Session::getAuthUser()->getUserData()->get(Gpf_Db_Table_Users::ID));
$whereCond->add('v.' . Gpf_Db_Table_Views::ACCOUNTUSERID, '=', '', 'OR');
$selectBuilder->where->addCondition($whereCond);
if ($filters->isFilter('viewtype')) {
$selectBuilder->where->add('v.' . Gpf_Db_Table_Views::VIEWTYPE, '=', $filters->getFilterValue('viewtype'));
}
return $selectBuilder;
}