Example #1
0
 /**
  * Creates a view.
  */
 public function actionCreate()
 {
     $this->layout = false;
     $view = new View();
     if (isset($_POST['query'])) {
         $query = $_POST['query'];
         try {
             $cmd = $this->db->createCommand($query);
             $cmd->prepare();
             $cmd->execute();
             $response = new AjaxResponse();
             $response->addNotification('success', Yii::t('core', 'successAddView'), null, $query);
             $response->refresh = true;
             $response->executeJavaScript('sideBar.loadViews(schema);');
             $this->sendJSON($response);
         } catch (CDbException $ex) {
             $errorInfo = $cmd->getPdoStatement()->errorInfo();
             $view->addError(null, Yii::t('core', 'sqlErrorOccured', array('{errno}' => $errorInfo[1], '{errmsg}' => $errorInfo[2])));
         }
     } else {
         $query = 'CREATE VIEW ' . $this->db->quoteTableName('name_of_view') . ' AS' . "\n" . '-- Definition start' . "\n\n" . '-- Definition end';
     }
     CHtml::generateRandomIdPrefix();
     $this->render('form', array('view' => $view, 'query' => $query));
 }