• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskliststate.php
  • Класс: CTaskListState
  • Вызов: CTaskListState::getAllowedTaskCategories
public function getAllowedTaskCategories()
{
	switch ($this->getUserRole())
	{
		case self::VIEW_ROLE_RESPONSIBLE:
			$arCategories = array(
				self::VIEW_TASK_CATEGORY_ALL,
				self::VIEW_TASK_CATEGORY_IN_PROGRESS,
				self::VIEW_TASK_CATEGORY_DEFERRED,
				self::VIEW_TASK_CATEGORY_COMPLETED,
				self::VIEW_TASK_CATEGORY_ATTENTION,
				self::VIEW_TASK_CATEGORY_WO_DEADLINE,
				self::VIEW_TASK_CATEGORY_NEW,
				self::VIEW_TASK_CATEGORY_EXPIRED,
				self::VIEW_TASK_CATEGORY_EXPIRED_CANDIDATES
			);
			break;

		case self::VIEW_ROLE_ACCOMPLICE:
			$arCategories = array(
				self::VIEW_TASK_CATEGORY_ALL,
				self::VIEW_TASK_CATEGORY_IN_PROGRESS,
				self::VIEW_TASK_CATEGORY_DEFERRED,
				self::VIEW_TASK_CATEGORY_COMPLETED,
				self::VIEW_TASK_CATEGORY_ATTENTION,
				self::VIEW_TASK_CATEGORY_NEW,
				self::VIEW_TASK_CATEGORY_EXPIRED,
				self::VIEW_TASK_CATEGORY_EXPIRED_CANDIDATES
			);
			break;

		case self::VIEW_ROLE_AUDITOR:
			$arCategories = array(
				self::VIEW_TASK_CATEGORY_ALL,
				self::VIEW_TASK_CATEGORY_IN_PROGRESS,
				self::VIEW_TASK_CATEGORY_DEFERRED,
				self::VIEW_TASK_CATEGORY_COMPLETED,
				self::VIEW_TASK_CATEGORY_NEW,
				self::VIEW_TASK_CATEGORY_EXPIRED,
				self::VIEW_TASK_CATEGORY_EXPIRED_CANDIDATES
			);
			break;

		case self::VIEW_ROLE_ORIGINATOR:
			$arCategories = array(
				self::VIEW_TASK_CATEGORY_ALL,
				self::VIEW_TASK_CATEGORY_IN_PROGRESS,
				self::VIEW_TASK_CATEGORY_DEFERRED,
				self::VIEW_TASK_CATEGORY_COMPLETED,
				self::VIEW_TASK_CATEGORY_WO_DEADLINE,
				self::VIEW_TASK_CATEGORY_WAIT_CTRL,
				self::VIEW_TASK_CATEGORY_EXPIRED,
				self::VIEW_TASK_CATEGORY_EXPIRED_CANDIDATES
			);
			break;

		default:
			throw new TasksException(TasksException::TE_WRONG_ARGUMENTS);
			break;
	}

	return ($arCategories);
}