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