mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-19 07:12:26 +02:00
N°5324 - disable repairment with backoffice and a customized portal
This commit is contained in:
@@ -89,10 +89,17 @@ class UserProfilesEventListener implements iEventServiceSetup
|
|||||||
|
|
||||||
$sRepairmentProfile = \utils::GetConfig()->GetModuleSetting('itop-profiles-itil', 'poweruserportal-repair-profile', null);
|
$sRepairmentProfile = \utils::GetConfig()->GetModuleSetting('itop-profiles-itil', 'poweruserportal-repair-profile', null);
|
||||||
|
|
||||||
if (is_null($sRepairmentProfile) && sizeof($aPortalDispatcherData) > 2){
|
if (is_null($sRepairmentProfile) && count($aPortalDispatcherData) > 2){
|
||||||
//when there are further portals we dont want to force a specific portal by repairing the associated profiles to a user
|
//when there are further portals we dont want to force a specific portal by repairing the associated profiles to a user
|
||||||
$this->bIsRepairmentEnabled = false;
|
$this->bIsRepairmentEnabled = false;
|
||||||
return;
|
return;
|
||||||
|
} else{
|
||||||
|
$aPortalNames = array_keys($aPortalDispatcherData);
|
||||||
|
sort($aPortalNames);
|
||||||
|
if ($aPortalNames !== ['backoffice', 'itop-portal']){
|
||||||
|
$this->bIsRepairmentEnabled = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($sRepairmentProfile)){
|
if (is_null($sRepairmentProfile)){
|
||||||
|
|||||||
@@ -377,13 +377,27 @@ class UserProfilesEventListenerTest extends ItopDataTestCase
|
|||||||
$this->assertTrue($oUserProfilesEventListener->IsRepairmentEnabled());
|
$this->assertTrue($oUserProfilesEventListener->IsRepairmentEnabled());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUserProfilesEventListenerInit_furtherportals_norepairmentconfigured(){
|
public function CustomizedPortalsProvider(){
|
||||||
$aPortalDispatcherData = [
|
return [
|
||||||
'itop-portal',
|
'console + customized portal' => [
|
||||||
'customer-portal',
|
'aPortalDispatcherData' => [
|
||||||
'backoffice'
|
'customer-portal',
|
||||||
|
'backoffice'
|
||||||
|
]],
|
||||||
|
'console + itop portal + customized portal' => [
|
||||||
|
'aPortalDispatcherData' => [
|
||||||
|
'itop-portal',
|
||||||
|
'customer-portal',
|
||||||
|
'backoffice'
|
||||||
|
]
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider CustomizedPortalsProvider
|
||||||
|
*/
|
||||||
|
public function testUserProfilesEventListenerInit_furtherportals_norepairmentconfigured($aPortalDispatcherData){
|
||||||
$oUserProfilesEventListener = new UserProfilesEventListener();
|
$oUserProfilesEventListener = new UserProfilesEventListener();
|
||||||
$oUserProfilesEventListener->Init($aPortalDispatcherData);
|
$oUserProfilesEventListener->Init($aPortalDispatcherData);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user