/**
  * 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);
 }
Esempio n. 2
0
 /**
  * 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'));
 }
Esempio n. 3
0
 /**
  * @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]);
 }
Esempio n. 4
0
 /**
  * @return string
  */
 public function run()
 {
     return $this->render('baseTextForm', ['model' => $this->model, 'basePages' => BasePage::find()->orderByCode()->all(), 'asNestedForm' => $this->asNestedForm]);
 }