Fixed Trac#518 : Properly pass the context (i.e. currently selected org) to the auto-refresh lists

SVN:1.2[1810]
This commit is contained in:
Denis Flaven
2012-01-25 10:27:23 +00:00
parent 459a271d11
commit 8de84d5ec7
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);