Skip to content
Snippets Groups Projects
Commit c976fa2d authored by Patrick Barroca's avatar Patrick Barroca :grin:
Browse files

Merge branch 'hotline#108663_droits_d_acces_demandes_d_inscription' into 'hotline'

hotline #108663 : fix acl on admin/registration

See merge request !3469
parents b0852a64 e32f5e05
Branches
Tags
3 merge requests!3473Master,!3472Hotline,!3469hotline #108663 : fix acl on admin/registration
Pipeline #9841 canceled with stage
in 22 seconds
- ticket #108663 : Administration : Correction de la prise en compte du droits d'accès "Modération: accès demandes d'inscriptions"
\ No newline at end of file
......@@ -462,6 +462,11 @@ class Class_UserGroup extends Storm_Model_Abstract {
return $this->addRight(self::RIGHT_USER_DOMAINES_TOTAL_ACCESS);
}
public function addRightAccessRegistration() {
return $this->addRight(static::RIGHT_USER_INSCRIPTIONS);
}
/**
* @param int right
* @return Class_UserGroup
......
......@@ -74,8 +74,8 @@ class UsersNonValidLoader extends Storm_Model_Loader {
protected function _filterBySiteOf($user) {
return $user->isAdminBib()
? ['id_site' => $user->getIdSite()]
return !$user->isAdmin() && ($id_site = $user->getIdSite())
? ['id_site' => $id_site]
: [];
}
}
......
......@@ -32,7 +32,7 @@ class ZendAfi_Acl_AdminControllerGroup {
Class_UserGroup::RIGHT_USER_INDEX_ARTICLES],
'sito' => Class_UserGroup::RIGHT_USER_SITOTHEQUE,
'modo' => Class_UserGroup::RIGHT_USER_MODO,
'modo/membreview' => Class_UserGroup::RIGHT_USER_INSCRIPTIONS,
'registration' => Class_UserGroup::RIGHT_USER_INSCRIPTIONS,
'album' => Class_UserGroup::RIGHT_USER_BIB_NUM,
'album/dilicom' => null, // do not handle by group
'bibnum' => Class_UserGroup::RIGHT_USER_BIB_NUM,
......
......@@ -41,13 +41,88 @@ abstract class RegistrationControllerTestCase extends Admin_AbstractControllerTe
['id' => 3,
'libelle' => 'Tatoine']),
'date' => '2019-16-01',
'mail' => 'chewe@afi-sa.fr'])->activate();;
'mail' => 'chewe@afi-sa.fr'])
->activate();
}
}
class RegistrationControllerIndexContribWithoutRightTest extends RegistrationControllerTestCase {
public function setUp() {
parent::setUp();
Class_Users::getIdentity()
->beModoBib()
->setPassword('secret')
->setBib(Class_Bib::find(3))
->assertSave();
}
/** @test */
public function shouldNotAccessRegistration() {
$this->dispatch('/admin/registration');
$this->assertRedirectTo('/opac/index/index/id_profil/1');
}
/** @test */
public function shouldNotSeeLinkToRegistration() {
$this->dispatch('/admin');
$this->assertNotXPath('//ul[@class="menuAdmin"]//a[contains(@href, "/admin/registration")]');
}
}
class RegistrationControllerIndexContribWithRightTest extends RegistrationControllerTestCase {
public function setUp() {
parent::setUp();
Class_Users::getIdentity()
->beModoBib()
->setPassword('secret')
->setBib(Class_Bib::find(3))
->assertSave();
$this
->fixture('Class_UserGroup',
['id' => 123,
'group_type' => Class_UserGroup::TYPE_DYNAMIC,
'filters' => json_encode(['search_role_level' => ZendAfi_Acl_AdminControllerRoles::MODO_BIB]),
])
->addRightAccessRegistration()
->assertSave();
$this->dispatch('/admin/registration');
}
/** @test */
public function pageShouldNotContainsRegistrationPwd() {
$this->assertNotXPathContentContains('//td', 'pwd', $this->_response->getBody());
}
/** @test */
public function pageShouldContainsRegistrationChewe() {
$this->assertXPathContentContains('//td', 'chewe');
}
/** @test */
public function leftMenuRegistrationCountShouldBeOne() {
$this->assertXPath('//ul[@class="menuAdmin"]//a[contains(@href, "/admin/registration")][following-sibling::span[@class="menu_info"][text()="1"]]');
}
}
class RegistrationControllerIndexAsAdminTatoineTest extends RegistrationControllerTestCase {
public function setUp() {
parent::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