public static function saveViewDataTableParameters($login, $controllerAction, $parametersToOverride)
{
$params = self::getViewDataTableParameters($login, $controllerAction);
foreach ($parametersToOverride as $key => $value) {
if ($key === 'viewDataTable' && !empty($params[$key]) && $params[$key] !== $value) {
if (!empty($params['columns'])) {
unset($params['columns']);
}
if (!empty($params['columns_to_display'])) {
unset($params['columns_to_display']);
}
}
$params[$key] = $value;
}
$paramsKey = self::buildViewDataTableParametersOptionKey($login, $controllerAction);
// when setting an invalid parameter, we fail and let user know
self::errorWhenSettingNonOverridableParameter($controllerAction, $params);
Option::set($paramsKey, json_encode($params));
}