• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/rest.php
  • Класс: BitrixTimemanRest
  • Вызов: Rest::timeControlReportAdd
static function timeControlReportAdd($query, $n, CRestServer $server)
{
	$query = static::prepareQuery($query);

	$absenceId = isset($query['REPORT_ID'])? $query['REPORT_ID']: $query['ID'];
	$userId = null;

	if (self::isAdmin() && intval($query['USER_ID']) > 0)
	{
		$userId = intval($query['USER_ID']);
		$result = BitrixTimemanModelAbsenceTable::getById($absenceId)->fetch();
		if ($result['USER_ID'] != $userId)
		{
			throw new BitrixRestRestException("You don't have access for this report", "ACCESS_ERROR", CRestServer::STATUS_WRONG_REQUEST);
		}
	}

	$text = $query['TEXT'];
	$type = mb_strtoupper($query['TYPE']) == BitrixTimemanAbsence::REPORT_TYPE_WORK? BitrixTimemanAbsence::REPORT_TYPE_WORK: BitrixTimemanAbsence::REPORT_TYPE_PRIVATE;
	$addToCalendar = $query['CALENDAR'] === 'N'? false: (bool)$query['CALENDAR'];

	$text = trim($text);
	if ($text == '')
	{
		throw new BitrixRestRestException("Text can't be empty", "TEXT_EMPTY", CRestServer::STATUS_WRONG_REQUEST);
	}



	BitrixTimemanAbsence::addReport($absenceId, $text, $type, $addToCalendar, $userId);

	return true;
}