diff --git a/application/applicationcontext.class.inc.php b/application/applicationcontext.class.inc.php index 97bb0cd6c..cac2f2025 100644 --- a/application/applicationcontext.class.inc.php +++ b/application/applicationcontext.class.inc.php @@ -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; diff --git a/pages/UI.php b/pages/UI.php index b22a86670..dbbf5e3fa 100644 --- a/pages/UI.php +++ b/pages/UI.php @@ -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');