public static function getInstance() { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; }
protected function buildFrom() { $this->_selectBuilder->from->add(Gpf_Db_Table_ActiveViews::getName(), 'av'); $this->_selectBuilder->from->addLeftJoin(Gpf_Db_Table_Views::getName(), 'v', 'av.'.Gpf_Db_Table_ActiveViews::ACTIVEVIEWID.' = v.'.Gpf_Db_Table_Views::ID); $this->_selectBuilder->where->add('av.'.Gpf_Db_Table_ActiveViews::ACCOUNTUSERID, '=', Gpf_Session::getAuthUser()->getUserData()->get(Gpf_Db_Table_Users::ID)); $whereCond = new Gpf_SqlBuilder_CompoundWhereCondition(); $whereCond->add('v.'.Gpf_Db_Table_Views::ACCOUNTUSERID, '!=', '', 'OR'); $whereCond->add('av.'.Gpf_Db_Table_ActiveViews::ACTIVEVIEWID, '=', Gpf_View_ViewService::DEFAULT_VIEW_ID, 'OR'); $this->_selectBuilder->where->addCondition($whereCond); }
/** * @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; }
/** * @service * @anonym * * @param $gridcode */ public function getViews(Gpf_Rpc_Params $params) { $gridCode = $params->get("gridcode"); $viewsTable = Gpf_Db_Table_Views::getInstance(); $viewColumnsTable = Gpf_Db_Table_ViewColumns::getInstance(); $viewGrid = Gpf::newObj($gridCode); $views = $viewsTable->getAllViews($gridCode); $views->addColumn("columns"); $views->addColumn("defaultview"); $hasDefaultView = false; foreach ($views as $view) { $columns = $viewGrid->getAllViewColumns(); $viewColumnsTable->fillViewColumns($columns, $view->get('id')); $view->set('columns', $columns->toObject()); if (($view->get(Gpf_Db_Table_Views::NAME) == self::DEFAULT_VIEW_NAME) && ($view->get(Gpf_Db_Table_Views::ACCOUNTUSERID)=='')) { $hasDefaultView = true; $view->set('defaultview', Gpf::YES); } } if ($views->getSize() == 0) { $views->setHeader(array("id", "name", "rowsperpage", "columns", "defaultview")); } if (!$hasDefaultView) { $view = $views->createRecord(); $view->set('id', self::DEFAULT_VIEW_ID); $view->set('name', $this->_(self::DEFAULT_VIEW_NAME)); $view->set('rowsperpage', 30); $view->set('columns', $viewGrid->getDefaultViewColumns()->toObject()); $view->set('defaultview', Gpf::YES); $views->add($view); } return $views; }
function init() { $this->setTable(Gpf_Db_Table_Views::getInstance()); parent::init(); }