Skip to content
Snippets Groups Projects
Commit 289c51f0 authored by gloas's avatar gloas
Browse files

boite news: ajout bouton creer article en front

parent 52d5863f
Branches
Tags
No related merge requests found
......@@ -36,6 +36,7 @@ class ZendAfi_View_Helper_Accueil_News extends ZendAfi_View_Helper_Accueil_Base
public function getHtml() {
$this->contenu='';
$this->read_speaker_helper = new ZendAfi_View_Helper_ReadSpeaker();
// Sélection de catégories ou d'articles
......@@ -46,19 +47,45 @@ class ZendAfi_View_Helper_Accueil_News extends ZendAfi_View_Helper_Accueil_Base
$this->preferences['status'] = Class_Article::STATUS_VALIDATED;
$articles = Class_Article::getLoader()->getArticlesByPreferences($this->preferences);
$this->contenu = sprintf('<div class="news-%d news">%s</div>',
if($articles && Class_Users::isCurrentUserCanAccesBackend())
$this->contenu.=$this->addNewsAddButton($articles);
$this->contenu.= sprintf('<div class="news-%d news">%s</div>',
$this->id_module,
$this->getArticles(Class_Article::filterByLocaleAndWorkflow($articles)));
$this->titre = $this->getHtmlTitre();
$this->titre = $this->getHtmlTitre();
if ($this->preferences['rss_avis'])
$this->rss_interne = $this->_getRSSurl('cms', 'rss');
if ($this->preferences['rss_avis'])
$this->rss_interne = $this->_getRSSurl('cms', 'rss');
return $this->getHtmlArray();
}
protected function addNewsAddButton($articles) {
return $this->view->tagAnchor($this->view->url(['module' => 'admin',
'controller' => 'cms',
'action' => 'newsadd',
'id_module' => $this->id_module,
'id_cat' => $this->getArticleCategorie($articles)]),
$this->view->tagImg(URL_ADMIN_IMG.'ico/add.gif',['title' => $this->view->_('Ajouter un nouvel article')]),
['data-popup' => 'true']);
}
protected function getArticleCategorie($articles) {
if (!$articles) return '';
if(is_array($articles)){
foreach($articles as $article) {
if($id_cat = $article->getIdCat())
return $id_cat;
}
}
}
protected function getHtmlTitre(){
if (strlen(trim($this->preferences['titre']))==0)
return '';
......
......@@ -102,16 +102,23 @@ class EmptyNewsHelperTest extends NewsHelperTestCase {
$this->assertXPath($this->html,
'//div[@class="rss"]//a[contains(@href, "/cms/rss?id_module=12&id_profil=5&language=fr")]');
}
/** @test **/
public function addNewsButtonShouldNotBeDisplay() {
$this->assertNotXPath($this->html,'//a[contains(@href,"admin/cms/newsadd")]');
}
}
abstract class NewsHelperWithThreeArticlesTestCase extends NewsHelperTestCase {
public function setUp() {
parent::setUp();
parent::setUp();
$this->fete_pomme = $this->article_wrapper
->newInstanceWithId(34)
->setIdCat(12)
->setTitre('Fête de la pomme')
->setContenu('à Boussy');
......@@ -135,11 +142,19 @@ abstract class NewsHelperWithThreeArticlesTestCase extends NewsHelperTestCase {
->setCacherTitre(true)
->setContenu('à Beijing');
$articles = [$this->fete_pomme,
$this->fete_poire,
$this->fete_nashi];
Class_ArticleCategorie::newInstanceWithId(12,['libelle'=>'Animations',
'articles'=>$articles]);
$this->article_wrapper
->whenCalled('getArticlesByPreferences')
->answers(array($this->fete_pomme,
$this->fete_poire,
$this->fete_nashi));
->answers($articles);
}
}
......@@ -287,6 +302,18 @@ class NewsHelperWithThreeArticlesWorkflowActivatedUserAdminTest extends NewsHelp
$this->assertContains('"fx":"fade"',
Class_ScriptLoader::getInstance()->html());
}
/** @test **/
public function addNewsButtonShouldBeDisplay() {
$this->assertXPath($this->html,'//a[contains(@href,"admin/cms/newsadd/id_module/12/id_cat/12")]',$this->html);
}
/** @test **/
public function addNewsButtonShouldContainsAddImage() {
$this->assertXpath($this->html, '//a/img[contains(@src,"public/admin/images/ico/add.gif")]',$this->html);
}
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment