/** * Descend l'index de menu d'une page. Elle permute donc avec celle qui la précédait si les index de menu se suivent. * * @param int $id * @return \yii\web\Response */ public function actionDecreaseMenuIndex($id) { $model = $this->findModel($id); $modelToSwap = BasePage::find()->byMenuIndex($model->menu_index - 1)->one(); --$model->menu_index; $model->save(); if ($modelToSwap) { ++$modelToSwap->menu_index; $modelToSwap->save(); } return $this->redirect(Yii::$app->request->referrer); }
/** * Affichage du formulaire de modification * * @param int $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $request = Yii::$app->request; $ok = true; $baseModel = null; if ($request->isPost) { // Mise à jour de la WebPage et de la BasePage associée /** @var BasePage $baseModel */ if (!($baseModel = BasePage::findOne($request->post()['WebPage']['base_id']))) { $baseModel = new BasePage(); } $ok &= $baseModel && $baseModel->load($request->post()) && $baseModel->save(); $ok &= $model->load($request->post()) && $model->save(); if (!$ok) { Yii::$app->session->setFlash('flash-warning', HLib::t('messages', 'There are errors in your form')); } else { Yii::$app->session->setFlash('flash-success', HLib::t('messages', 'Update successful')); if ($request->getBodyParam('action') == 'saveAndBackToList') { return $this->redirect(Url::to([$this->getControllerRoute() . '/index', 'page' => 1])); } } } else { $baseModel = $model->base; } // Affichage ou ré-affichage $basePages = BasePage::find()->orderBy('code ASC')->all(); $languages = Language::find()->orderBy('name')->all(); return $this->render('update', compact('model', 'basePages', 'languages', 'baseModel')); }
/** * @return string */ public function run() { return $this->render('basePageForm', ['model' => $this->model, 'baseTexts' => BaseText::find()->orderByCode()->all(), 'parentPages' => BasePage::find()->enabled()->orderBy('code')->all(), 'asNestedForm' => $this->asNestedForm]); }
/** * @return string */ public function run() { return $this->render('baseTextForm', ['model' => $this->model, 'basePages' => BasePage::find()->orderByCode()->all(), 'asNestedForm' => $this->asNestedForm]); }