Ejemplo n.º 1
0
 /**
  * @test
  */
 public function delete()
 {
     // suppression simple
     $this->assertTrue($this->webPages('desactivee')->delete());
     // suppression des textes en cascade
     $this->assertTrue($this->webPages('accueil')->delete());
     $count = WebText::model()->countByAttributes(array('web_page_id' => 1));
     $this->assertEquals(0, $count);
 }
Ejemplo n.º 2
0
 /**
  * @test
  */
 public function create()
 {
     $model = new WebText();
     $model->attributes = array('web_page_id' => 1, 'language_id' => 1, 'name' => "test", 'title' => "test", 'content' => ' ', 'enabled' => 1);
     $this->assertTrue($model->save());
     $model = new WebText();
     $model->attributes = array('web_page_id' => 1, 'language_id' => 1, 'name' => "test", 'title' => "test2", 'content' => ' ', 'enabled' => 1);
     $this->assertFalse($model->save());
     $model = new WebText();
     $model->attributes = array('web_page_id' => 1, 'language_id' => 1, 'name' => "testa", 'title' => "test", 'enabled' => 1);
     $this->assertFalse($model->save());
     $this->assertInstanceOf('WebText', WebText::model());
     $this->assertNotNull($out = WebText::defaultObject());
 }
Ejemplo n.º 3
0
 /**
  * Renvoie le texte de nom $name. Renvoie null si la page ne contient aucun texte de ce nom.
  * @param string  $name         Code d'identification de ce texte pour la page courante $this
  * @param string  $languageCode Si cet argument vaut null, on utilise le langage renseigné pour l'application
  * @param boolean $defaultText
  * @return WebText|null
  */
 public function getTextByName($name, $languageCode = null, $defaultText = true)
 {
     // On cherche le texte associé au langage de code $languageCode
     // Par défaut ce sera le langage de l'utilisateur
     if (!$languageCode && !($languageCode = Yii::app()->language)) {
         $languageCode = Yii::app()->language;
     }
     $language = Language::findByCode($languageCode);
     $text = WebText::model()->findByAttributes(array('name' => $name, 'language_id' => $language->id, 'web_page_id' => $this->id));
     if (!$text && $languageCode != 'fr') {
         // Si le texte n'existe pas dans le langage demandé, on le récupère en français
         $language = Language::model()->findByCode('fr');
         $text = WebText::model()->findByAttributes(array('name' => $name, 'language_id' => $language->id, 'web_page_id' => $this->id));
     }
     if (!$text && $defaultText) {
         $text = WebText::defaultObject();
     }
     return $text;
 }
Ejemplo n.º 4
0
 /**
  * Suppression du texte #$id
  * @param int $id
  */
 public function actionDeleteText($id)
 {
     $webText = WebText::model()->findByPk($id);
     try {
         if ($webText->delete()) {
             $this->setFlash('success', Yii::t('WebPagesModule.msg', 'The text "%name%" has been deleted', array('%name%' => $webText->name)));
         } else {
             $this->setFlash('error', Yii::t('WebPagesModule.msg', 'An error has occurred while deleting the text "%name%"', array('%name%' => $webText->name)));
         }
     } catch (Exception $x) {
         $this->setFlash('error', Yii::t('WebPagesModule.msg', 'An error has occurred while deleting the text "%name%"', array('%name%' => $webText->name)));
         Yii::log(h::_($x, __FILE__, __LINE__, __METHOD__), CLogger::LEVEL_ERROR);
     }
     if (!Yii::app()->request->isAjaxRequest) {
         $urlReferrer = Yii::app()->request->urlReferrer;
         $this->redirect($urlReferrer);
     }
 }