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;

View File

@@ -500,13 +500,13 @@ try
require_once('../application/wizardhelper.class.inc.php');
require_once('../application/startup.inc.php');
$oAppContext = new ApplicationContext();
$operation = utils::ReadParam('operation', '');
$oKPI = new ExecutionKPI();
require_once('../application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed
$oAppContext = new ApplicationContext();
$oKPI->ComputeAndReport('User login');