/var/www/vhosts/nabawater/backend/controllers
Edit: /var/www/vhosts/nabawater/backend/controllers/FaqController.php (6571B)
render('index', [
'searchModel' => $searchModel,
'dataProvider' => $searchModel->search(Yii::$app->request->queryParams),
]);
}
/**
*
* @throws \yii\base\InvalidParamException
* @throws \yii\base\Exception
*
*@Title("List/View Create")
*/
public function actionCreate()
{
$model = new Faq();
$modelLang = new FaqLang();
$post = Yii::$app->getRequest()->post();
$appLanguages = Language::getAppLanguages();
if ($model->load($post) && $model->validate() && $modelLang->load($post) && $modelLang->validate()) {
$model->save();
foreach($appLanguages as $langCode => $langName) {
$modelTranslation = new FaqLang();
$modelTranslation->loadTranslationAttribute($post, $langCode);
$modelTranslation->faq_id = $model->getPrimaryKey();
$modelTranslation->save();
}
Com::successFlash(Yii::t('backend','Created Successfully'));
return $this->redirect(['index']);
}
return $this->render('create', [
'model' => $model,
'modelLang' => $modelLang,
'appLanguages' => $appLanguages
]);
}
// $this->redirect(['index']);
/**
* @param $id
* @return string
* @throws \yii\base\InvalidParamException
*
*@Title("List/View Update")
*/
public function actionUpdate($id)
{
$model = Faq::findOne(['faq_key' => $id]);
$modelLang = new FaqLang();
$post = Yii::$app->getRequest()->post();
FaqLang::updateTranslationAttribute($modelLang, $model->getPrimaryKey());
$appLanguages = Language::getAppLanguages();
if ($model->load($post) && $model->validate() && $modelLang->load($post) && $modelLang->validate()) {
$model->save();
foreach ($appLanguages as $langCode => $langName) {
$modelTranslation = FaqLang::findOne([
'faq_id' => $model->getPrimaryKey(),
'language_code' => $langCode
]);
if ($modelTranslation === null) {
$modelTranslation = new FaqLang();
$modelTranslation->faq_id = $model->getPrimaryKey();
}
$modelTranslation->loadTranslationAttribute($post, $langCode);
$modelTranslation->save();
}
Com::successFlash(Yii::t('backend','Updated Successfully'));
return $this->redirect(['index']);
}
return $this->render('update', [
'modelLang' => $modelLang,
'model' => $model,
'appLanguages' => $appLanguages
]);
}
/**
* @param $id
* @return string
* @throws \yii\base\InvalidParamException
*
*@Title("List/View View")
*/
public function actionView($id)
{
$model = Faq::findOne($id);
$modelFaqTranslation= $model->getFaqTranslations()->one();
return $this->render('view', ['modelFaqTranslation' => $modelFaqTranslation, 'model' => $model]);
}
/**
* @param $id
* @throws \Exception
*
*@Title("List/View Delete")
*/
public function actionDelete($id)
{
$model = Faq::findOne(['faq_key'=>$id]);
$modelFaqTranslation = FaqLang::find()->where(['faq_id' => $model->getPrimaryKey()])->all();
$model->delete();
Yii::$app->session->setFlash('success', Yii::t('backend', "FAQ deleted successfully"));
$this->redirect(['index']);
}
public function actionSort()
{
$params = ['id', 'sort'];
$post = Yii::$app->getRequest()->post();
$result = ['status' => STATUS_FAIL, 'msg' => ''];
foreach ($params as $param) {
if ( !array_key_exists($param, $post) ) {
$result['msg'] = Yii::t('backend', 'Required param missing');
goto skip;
}
}
$model = Faq::findOne(['faq_key' => $post['id']]);
if ( $model === null ) {
$result['msg'] = Yii::t('backend', 'Unable to find the requested Faq');
goto skip;
}
$model->sort = $post['sort'];
$model->save(false);
$result['msg'] = Yii::t('backend', 'FAQ sort assigned successfully');
$result['status'] = STATUS_SUCCESS;
skip:
echo Json::encode($result);
}
/**
* @param $id
* @return string
* @throws \yii\base\InvalidParamException
*/
/**
*
* @throws \yii\base\InvalidParamException
* @throws \yii\base\Exception
*
*@Assoc("actionUpdate")
*/
public function actionChangeStatus()
{
$params = ['key', 'status'];
$post = Yii::$app->getRequest()->post();
$result = ['status' => STATUS_FAIL, 'msg' => ''];
foreach ($params as $param) {
if (!array_key_exists($param, $post)) {
$result['msg'] = 'Required param missing';
goto skip;
}
}
$model = Faq::findOne(['faq_key' => $post['key']]);
if ($model === null) {
$result['msg'] = 'Unable to find the requested FAQ';
goto skip;
}
$model->status = $post['status'];
$model->save(false);
$result['msg'] = Yii::t('backend','FAQ deactivated successfully');
if ((int)$model->status === $model::ACTIVE) {
$result['msg'] = Yii::t('backend','FAQ activated successfully');
}
$result['status'] = STATUS_SUCCESS;
skip:
return $this->asJson($result);
}
}