- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/integration/ui/entityselector/sprintselectorprovider.php
- Класс: BitrixTasksIntegrationUIEntitySelectorSprintSelectorProvider
- Вызов: SprintSelectorProvider::getSprints
private function getSprints(int $groupId, int $maxCount, ?SearchQuery $searchQuery = null): array
{
$sprints = [];
$entityService = new EntityService($GLOBALS['USER']->getId());
$select = [
'ID',
'NAME',
'DATE_START',
'DATE_END',
];
$onlyCompleted = $this->getOption('onlyCompleted');
$filter = [
'=GROUP_ID' => $groupId,
'=ENTITY_TYPE' => EntityForm::SPRINT_TYPE,
];
if ($onlyCompleted)
{
$filter['=STATUS'] = EntityForm::SPRINT_COMPLETED;
}
else
{
$filter['!=STATUS'] = EntityForm::SPRINT_PLANNED;
}
if ($searchQuery)
{
$filter['?NAME'] = $searchQuery->getQuery();
}
$order = ['DATE_END' => 'DESC'];
$nav = $this->getNavigation($maxCount);
$queryResult = $entityService->getList($nav, $filter, $select, $order);
$n = 0;
while ($sprintData = $queryResult->fetch())
{
if ($nav && (++$n > $nav->getPageSize()))
{
break;
}
$sprint = new EntityForm();
$sprint->fillFromDatabase($sprintData);
$sprints[] = $sprint;
}
return $sprints;
}