Source
<?php
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
/**
* @var CView $this
*/
?>
function submitScheduledReportSubscription(overlay) {
const $form = overlay.$dialogue.find('form');
const url = new Curl($form.attr('action'));
const recipient = $('#recipientid').multiSelect('getData');
if (recipient.length) {
$('#recipient_name').val(recipient[0]['name']);
}
fetch(url.getUrl(), {
method: 'POST',
body: new URLSearchParams(new FormData($form.get(0)))
})
.then(response => response.json())
.then(response => {
if ('error' in response) {
throw {error: response.error};
}
new ReportSubscription(response, response.edit ? overlay.element.closest('tr') : null);
overlayDialogueDestroy(overlay.dialogueid);
})
.catch((exception) => {
overlay.$dialogue.find('.<?= ZBX_STYLE_MSG_BAD ?>').remove();
let title, messages;
if (typeof exception === 'object' && 'error' in exception) {
title = exception.error.title;
messages = exception.error.messages;
}
else {
messages = [<?= json_encode(_('Unexpected server error.')) ?>];
}
const message_box = makeMessageBox('bad', messages, title);
message_box.insertBefore($form);
})
.finally(() => {
overlay.unsetLoading();