Fix for Trac #315: default organization not handled properly when there is just one organization allowed for the user.

SVN:trunk[937]
This commit is contained in:
Denis Flaven
2010-11-02 16:30:46 +00:00
parent 1800120762
commit fcd72fed82
2 changed files with 19 additions and 1 deletions

View File

@@ -66,6 +66,24 @@ class ApplicationContext
{
self::$aDefaultValues[$sName] = $sValue;
}
// Hmm, there must be a better (more generic) way to handle the case below:
// When there is only one possible (allowed) organization, the context must be
// fixed to this org
if ($sName == 'org_id')
{
if (MetaModel::IsValidClass('Organization'))
{
$oSearchFilter = new DBObjectSearch('Organization');
$oSet = new CMDBObjectSet($oSearchFilter);
$iCount = $oSet->Count();
if ($iCount == 1)
{
// Only one possible value for org_id, set it in the context
$oOrg = $oSet->Fetch();
self::$aDefaultValues[$sName] = $oOrg->GetKey();
}
}
}
}
}
$this->aValues = self::$aDefaultValues;