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