Fixed bug when creating a login (flush privileges = reset the data cache)

SVN:code[175]
This commit is contained in:
Romain Quetiez
2009-09-17 12:50:33 +00:00
parent 723341d94a
commit abbc21b0cb
4 changed files with 26 additions and 1 deletions

View File

@@ -425,6 +425,10 @@ class UserRightsMatrix extends UserRightsAddOnAPI
}
return $iRetCode;
}
public function FlushPrivileges()
{
}
}
UserRights::SelectModule('UserRightsMatrix');

View File

@@ -73,6 +73,10 @@ class UserRightsNull extends UserRightsAddOnAPI
{
return UR_ALLOWED_YES;
}
public static function FlushPrivileges()
{
}
}
UserRights::SelectModule('UserRightsNull');

View File

@@ -123,6 +123,9 @@ class URP_Users extends UserRightsBaseClass
function DisplayBareRelations(web_page $oPage)
{
// We may have just added a user, then we have to reset any existing cache
UserRights::FlushPrivileges();
parent::DisplayBareRelations($oPage);
$oPage->SetCurrentTabContainer('Related Objects');
@@ -232,6 +235,9 @@ class URP_Profiles extends UserRightsBaseClass
function DisplayBareRelations(web_page $oPage)
{
// We may have just added a user, then we have to reset any existing cache
UserRights::FlushPrivileges();
parent::DisplayBareRelations($oPage);
$oPage->SetCurrentTabContainer('Related Objects');
@@ -1293,6 +1299,11 @@ exit;
$this->m_aMatchingProfiles[$iUser][$sClass][$iObjectRef] = $aRes;
return $aRes;
}
public function FlushPrivileges()
{
$this->CacheData();
}
}
//
@@ -1614,7 +1625,6 @@ class SetupITILProfiles
}
}
public static function DoCreateProfiles()
{
self::DoCreateAdminProfile();

View File

@@ -56,6 +56,7 @@ abstract class UserRightsAddOnAPI
abstract public function IsStimulusAllowed($iUserId, $sClass, $sStimulusCode, /*dbObjectSet*/ $oInstanceSet = null);
abstract public function IsActionAllowedOnAttribute($iUserId, $sClass, $sAttCode, $iActionCode, /*dbObjectSet*/ $oInstanceSet = null);
abstract public function IsAdministrator($iUserId);
abstract public function FlushPrivileges();
}
@@ -269,6 +270,12 @@ class UserRights
return self::$m_oAddOn->IsAdministrator($iUserId);
}
}
public static function FlushPrivileges()
{
return self::$m_oAddOn->FlushPrivileges();
}
}