/** * Adding new forum. * @param integer $cid parent category ID * @return string|\yii\web\Response */ public function actionNewForum($cid = null) { $category = Category::findOne((int) $cid); if (empty($category)) { $this->error(Yii::t('podium/flash', 'Sorry! We can not find Category with this ID.')); return $this->redirect(['admin/categories']); } if (User::can(Rbac::PERM_CREATE_FORUM)) { $model = new Forum(); $model->category_id = $category->id; $model->visible = 1; $model->sort = 0; if ($model->load(Yii::$app->request->post()) && $model->save()) { Log::info('Forum added', $model->id, __METHOD__); $this->success(Yii::t('podium/flash', 'New forum has been created.')); return $this->redirect(['admin/forums', 'cid' => $category->id]); } else { return $this->render('forum', ['model' => $model, 'forums' => Forum::find()->where(['category_id' => $category->id])->orderBy(['sort' => SORT_ASC, 'id' => SORT_ASC])->all(), 'categories' => Category::find()->orderBy(['sort' => SORT_ASC, 'id' => SORT_ASC])->all()]); } } else { $this->error(Yii::t('podium/flash', 'You are not allowed to perform this action.')); return $this->redirect(['admin/forums', 'cid' => $category->id]); } }
/** * Adding new forum. * @param integer $cid parent category ID * @return string|\yii\web\Response */ public function actionNewForum($cid = null) { $category = Category::findOne((int) $cid); if (empty($category)) { $this->error('Sorry! We can not find Category with this ID.'); return $this->redirect(['admin/categories']); } $model = new Forum(); $model->category_id = $category->id; $model->visible = 1; $model->sort = 0; if ($model->load(Yii::$app->request->post()) && $model->save()) { Log::info('Forum added', !empty($model->id) ? $model->id : '', __METHOD__); $this->success('New forum has been created.'); return $this->redirect(['admin/forums', 'cid' => $category->id]); } else { return $this->render('forum', ['model' => $model, 'forums' => Forum::find()->where(['category_id' => $category->id])->orderBy(['sort' => SORT_ASC, 'id' => SORT_ASC])->all(), 'categories' => Category::find()->orderBy(['sort' => SORT_ASC, 'id' => SORT_ASC])->all()]); } }