• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/controller/worktime.php
  • Класс: BitrixTimemanControllerWorktime
  • Вызов: Worktime::approveRecordAction
public function approveRecordAction()
{
	$worktimeForm = WorktimeRecordForm::createWithEventForm(WorktimeEventTable::EVENT_TYPE_APPROVE);
	$worktimeForm->approvedBy = $this->getCurrentUser()->getId();
	$worktimeForm->load($this->getRequest());

	if ($worktimeForm->validate())
	{
		$oldStart = WorktimeRecordTable::query()
			->addSelect('ID')
			->addSelect('RECORDED_START_TIMESTAMP')
			->where('ID', $worktimeForm->id)
			->exec()
			->fetchObject();
		$result = (new ManageApproveHandler())->handle($worktimeForm);
		if (WorktimeServiceResult::isSuccessResult($result))
		{
			return $this->makeAjaxResult($result, $worktimeForm, $oldStart);
		}
		$this->addErrors($result->getErrors());
		return [];
	}
	$this->addError($worktimeForm->getFirstError());
	return [];
}