Fixed Trac#518: properly pass the context (i.e. org_id) to the auto-refresh lists

SVN:trunk[1811]
This commit is contained in:
Denis Flaven
2012-01-25 10:31:03 +00:00
parent f0b3ec77da
commit 20b7944118
2 changed files with 18 additions and 2 deletions

View File

@@ -77,12 +77,16 @@ class ApplicationContext
protected $aValues;
protected static $aDefaultValues; // Cache shared among all instances
public function __construct()
public function __construct($bReadContext = true)
{
$this->aNames = array(
'org_id', 'menu'
);
$this->ReadContext();
if ($bReadContext)
{
$this->ReadContext();
}
}
/**

View File

@@ -442,6 +442,18 @@ try
{
$aExtraParams = json_decode(str_replace("'", '"', $sExtraParams), true /* associative array */);
}
// Restore the app context from the ExtraParams
$oAppContext = new ApplicationContext(false); // false => don't read the context yet !
$aContext = array();
foreach($oAppContext->GetNames() as $sName)
{
$sParamName = 'c['.$sName.']';
if (isset($aExtraParams[$sParamName]))
{
$aContext[$sName] = $aExtraParams[$sParamName];
}
}
$_REQUEST['c'] = $aContext;
if ($sEncoding == 'oql')
{
$oFilter = CMDBSearchFilter::FromOQL($sFilter);