mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-17 14:28:53 +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);
|
||||
|
||||
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
|
||||
$this->bIsRepairmentEnabled = false;
|
||||
return;
|
||||
} else{
|
||||
$aPortalNames = array_keys($aPortalDispatcherData);
|
||||
sort($aPortalNames);
|
||||
if ($aPortalNames !== ['backoffice', 'itop-portal']){
|
||||
$this->bIsRepairmentEnabled = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (is_null($sRepairmentProfile)){
|
||||
|
||||
@@ -377,13 +377,27 @@ class UserProfilesEventListenerTest extends ItopDataTestCase
|
||||
$this->assertTrue($oUserProfilesEventListener->IsRepairmentEnabled());
|
||||
}
|
||||
|
||||
public function testUserProfilesEventListenerInit_furtherportals_norepairmentconfigured(){
|
||||
$aPortalDispatcherData = [
|
||||
'itop-portal',
|
||||
'customer-portal',
|
||||
'backoffice'
|
||||
public function CustomizedPortalsProvider(){
|
||||
return [
|
||||
'console + customized portal' => [
|
||||
'aPortalDispatcherData' => [
|
||||
'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->Init($aPortalDispatcherData);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user