• Модуль: 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
	);
}