/**
  * Affichage du formulaire de création
  *
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Language();
     if (Yii::$app->request->isPost) {
         // Traitement du formulaire
         if (!($model->load(Yii::$app->request->post()) && $model->save())) {
             // On ré-affiche le formulaire avec ses erreurs
             Yii::$app->session->setFlash('flash-warning', HLib::t('messages', 'There are errors in your form'));
         } else {
             // Retour à la liste ou redirection sur la page d'édition, selon le bouton qui a été cliqué
             Yii::$app->session->setFlash('flash-success', HLib::t('messages', 'Create successful'));
             $requestedRedirection = Yii::$app->request->getBodyParam('action') == 'saveAndKeepEditing' ? Url::toRoute(['/cms/languages/update', 'id' => $model->id]) : Url::toRoute('/cms/languages/index');
             return $this->redirect($requestedRedirection);
         }
     }
     // Affichage ou ré-affichage
     return $this->render('create', compact('model'));
 }
示例#2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getLanguage()
 {
     return $this->hasOne(Language::className(), ['id' => 'language_id']);
 }
 /**
  * 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'));
 }
示例#4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getLanguages()
 {
     return $this->hasMany(Language::className(), ['language_id' => 'id']);
 }
示例#5
0
 /**
  * Updates an existing WebNews model.
  * If update is successful, the browser will be redirected to the 'view' page
  *
  * @param integer $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 WebNews et de la BaseNews associée
         $post = $request->post();
         /** @var BaseNews $baseModel */
         if (!($baseModel = BaseNews::findOne($post['WebNews']['base_id']))) {
             $baseModel = new BaseNews();
         }
         $ok &= $baseModel && $baseModel->updateBaseTagsFromRequest($post) && $baseModel->load($post) && $baseModel->save(true, null, true);
         $ok &= $model->load($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]));
             }
         }
     }
     // Affichage initial ou ré-affichage en cas d'erreur
     return $this->render('update', ['model' => $model, 'baseNews' => BaseNews::find()->orderBy('event_date DESC')->all(), 'languages' => Language::find()->orderBy('iso_639_code')->all(), 'baseModel' => $model->base]);
 }