- Модуль: report
- Путь к файлу: ~/bitrix/modules/report/lib/visualconstructor/controller/analytics.php
- Класс: BitrixReportVisualConstructorControllerAnalytics
- Вызов: Analytics::toggleToDefaultByBoardKeyAction
public function toggleToDefaultByBoardKeyAction($boardKey, CurrentUser $currentUser)
{
$analyticBoardProvider = new AnalyticBoardProvider();
$analyticBoardProvider->addFilter('boardKey', $boardKey);
$analyticBoard = $analyticBoardProvider->execute()->getFirstResult();
if (!$analyticBoard)
{
$this->addError(new Error('Analytic board with this key does not exist'));
return false;
}
$dashboardForUser = Dashboard::loadByBoardKeyAndUserId($boardKey, $currentUser->getId());
if ($dashboardForUser)
{
$dashboardForUser->delete();
}
$defaultDashboard = Dashboard::loadByBoardKeyAndUserId($boardKey, 0);
if($defaultDashboard)
{
$defaultDashboard->delete();
}
if (!empty($analyticBoard))
{
$filter = $analyticBoard->getFilter();
if($filter)
{
$filterId = $filter->getFilterParameters()['FILTER_ID'];
$options = new Options($filterId, $filter::getPresetsList());
$options->restore($filter::getPresetsList());
$options->save();
}
$analyticBoard->resetToDefault();;
}
$additionalParams = [
'pageTitle' => $analyticBoard->getTitle(),
'pageControlsParams' => $analyticBoard->getButtonsContent()
];
return new Component(
$analyticBoard->getDisplayComponentName(),
$analyticBoard->getDisplayComponentTemplate(),
$analyticBoard->getDisplayComponentParams(),
$additionalParams
);
}