Skip to content
Snippets Groups Projects
Commit 174624a8 authored by Henri-Damien LAURENT's avatar Henri-Damien LAURENT
Browse files

Fixing permissions for users RedacPortail having library set

parent 6b5720dd
Branches
Tags
1 merge request!4532Fixing permissions for users RedacPortail having library set
Pipeline #18269 passed with stage
in 17 minutes and 49 seconds
......@@ -39,7 +39,7 @@ class Admin_CmsController extends ZendAfi_Controller_Action {
protected function _renderList() {
$bibs = Class_Bib::findAllForCurrentUserAndPortal();
$current_library = ($this->identity->isAdmin())
$current_library = (Class_Users::isCurrentUserCanAccessAllBibs())
? null
: $this->identity->getBib();
......
......@@ -285,7 +285,7 @@ class BibLoader extends Storm_Model_Loader {
protected function _findAllForCurrentUser() : array {
return (! Class_Users::isCurrentUserAdmin()) && ($user_library = Class_Users::getIdentity()->getBib())
return (! Class_Users::isCurrentUserCanAccessAllBibs()) && ($user_library = Class_Users::getIdentity()->getBib())
? [$user_library]
: Class_Bib::findAllBy(['order' => 'libelle']);
}
......
......@@ -315,7 +315,8 @@ class ZendAfi_Controller_Action_Helper_ListViewMode_Article
'label' => $this->getBibLabel(),
'options' => []]];
if ($bib = $this->getParam('bib'))
if (! Class_Users::isCurrentUserCanAccessAllBibs()
&& $bib = $this->getParam('bib'))
$breadcrumb = [['url' => ['module' => 'admin',
'controller' => 'cms',
'action' => 'index'],
......
......@@ -73,7 +73,7 @@ class CmsControllerListModeAdminRootTest extends CmsControllerListModeTestCase {
class CmsControllerListModeModoPortailInPortailTest extends CmsControllerListModeTestCase {
class CmsControllerListModeModoPortailAndNoLibraryInPortailTest extends CmsControllerListModeTestCase {
public function setUp() {
parent::setUp();
$this->_bernard->beModoPortail()->setBib(null);
......@@ -91,6 +91,89 @@ class CmsControllerListModeModoPortailInPortailTest extends CmsControllerListMod
class CmsControllerListModeModoPortailIndexTest extends CmsControllerListModeTestCase {
public function setUp() {
parent::setUp();
$this->_bernard->beModoPortail();
ZendAfi_Auth::getInstance()->logUser($this->_bernard);
$this->dispatch('/admin/cms');
}
/** @test */
public function shouldDisplayPortailCategory() {
$this->assertXPathContentContains('//td/a[@href="/admin/cms/index/id_bib/0"]',
'Portail');
}
/** @test */
public function shouldDisplayAnnecyCategory() {
$this->assertXPathContentContains('//td/a[@href="/admin/cms/index/id_bib/1"]',
'Annecy');
}
/** @test */
public function shouldDisplayCranGevrierCategory() {
$this->assertXPathContentContains('//td/a[@href="/admin/cms/index/id_bib/3"]',
'Cran-Gevrier');
}
}
class CmsControllerListModeModoPortailPortailCategoryEditTest extends CmsControllerListModeTestCase {
public function setUp() {
parent::setUp();
$this->_bernard->beModoPortail();
ZendAfi_Auth::getInstance()->logUser($this->_bernard);
$this->dispatch('/admin/cms/index/id_bib/0');
}
/** @test */
public function breadcrumbShouldDisplayRacine() {
$this->assertXPathContentContains('//div[@class="breadcrumb"]//a[@href="/admin/cms"]',
'Racine', $this->_response->getBody());
}
/** @test */
public function breadcrumbShouldDisplayPortail() {
$this->assertXPathContentContains('//div[@class="breadcrumb"]/a[contains(@href,"id_bib/0")]',
'Portail');
}
}
class CmsControllerListModeModoPortailInAnnecyTest extends CmsControllerListModeTestCase {
public function setUp() {
parent::setUp();
$this->_bernard->beModoPortail();
ZendAfi_Auth::getInstance()->logUser($this->_bernard);
$this->dispatch('/admin/cms/index/id_bib/1');
}
/** @test */
public function breadCrumbShouldDisplayRacine() {
$this->assertXPathContentContains('//div[contains(@class, "breadcrumb")]//a[@href= "/admin/cms"]',
'Racine');
}
/** @test */
public function breadCrumbShouldDisplayAnnecy() {
$this->assertXPathContentContains('//div[contains(@class, "breadcrumb")]//a[contains(@href, "id_bib/1")]',
'Annecy');
}
}
class CmsControllerListModeAdminBibRootTest extends CmsControllerListModeTestCase {
public function setUp() {
......
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