• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/Site/Sections/TimemanSection.php
  • Класс: BitrixIntranetSiteSectionsTimemanSection
  • Вызов: TimemanSection::getSchedules
static function getSchedules(): array
{
	$canReadSchedules = false;
	if (Loader::includeModule('timeman'))
	{
		global $USER;
		$permissionsManager = DependencyManager::getInstance()->getUserPermissionsManager($USER);
		$canReadSchedules = $permissionsManager->canReadSchedules();
	}

	$available = false;
	$locked = false;
	$onclick = '';
	$workSchedulesUrl = SITE_DIR . 'timeman/schedules/';
	if (static::isBitrix24())
	{
		$available = static::isTimemanAvailable();
		if (!static::isTimemanInstalled())
		{
			$locked = true;
			$workSchedulesUrl = '';
			$onclick = 'javascript:BX.UI.InfoHelper.show("limit_office_shift_scheduling");';
		}
		else if (!$canReadSchedules)
		{
			$available = false;
		}
	}
	else if ($canReadSchedules && CBXFeatures::isFeatureEnabled('timeman'))
	{
		$available = true;
	}

	return [
		'id' => 'schedules',
		'title' => Loc::getMessage('TIMEMAN_SECTION_SCHEDULES_ITEM_TITLE'),
		'available' => $available,
		'url' => $workSchedulesUrl,
		'locked' => $locked,
		'menuData' => [
			'menu_item_id' => 'menu_schedules_list',
			'is_locked' => $locked,
			'onclick' => $onclick,
		],
	];
}