- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/controller/calendarajax.php
- Класс: BitrixCalendarControllerCalendarAjax
- Вызов: CalendarAjax::updateRemindersAction
public function updateRemindersAction()
{
$request = $this->getRequest();
$response = [];
$entryId = (int)$request->getPost('entryId');
$userId = CCalendar::GetUserId();
$entry = CCalendarEvent::GetById($entryId);
if (empty($entry))
{
$this->addError(new Error('Event not found'));
return $response;
}
$accessController = new EventAccessController($userId);
$eventModel = CCalendarEvent::getEventModelForPermissionCheck($entryId, $entry, $userId);
if ($accessController->check(ActionDictionary::ACTION_EVENT_EDIT, $eventModel, ['checkCurrentEvent' => 'Y']))
{
$entry['REMIND'] = CCalendarReminder::prepareReminder($request->getPost('reminders'));
$response['REMIND'] = $entry['REMIND'];
$response['id'] = CCalendar::SaveEvent([
'arFields' => [
'ID' => $entry['ID'],
'REMIND' => $entry['REMIND']
],
'updateReminders' => true,
'checkPermission' => false,
]);
CCalendar::ClearCache('event_list');
}
else
{
$this->addError(new Error('Access denied'));
}
return $response;
}