/**
     * @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;
    }
Esempio n. 2
0
 function init()
 {
     $this->setTable(Gpf_Db_Table_Views::getInstance());
     parent::init();
 }