asdasd
This commit is contained in:
@@ -1742,12 +1742,27 @@ $activeDbGroup = $testGroup !== null && array_key_exists($testGroup, $dbGroups)
|
||||
});
|
||||
});
|
||||
});
|
||||
try {
|
||||
console.groupCollapsed('[scheduler] collect payload');
|
||||
for (const pair of payload.entries()) {
|
||||
console.log(pair[0], pair[1]);
|
||||
}
|
||||
console.groupEnd();
|
||||
} catch (error) {
|
||||
console.warn('[scheduler] payload debug failed', error);
|
||||
}
|
||||
return payload;
|
||||
};
|
||||
|
||||
const persistScheduler = async () => {
|
||||
if (!form) return true;
|
||||
const response = await fetch(form.action || window.location.href, {
|
||||
const url = form.action || window.location.href;
|
||||
console.log('[scheduler] persist start', {
|
||||
url,
|
||||
method: 'POST',
|
||||
hasForm: !!form,
|
||||
});
|
||||
const response = await fetch(url, {
|
||||
method: 'POST',
|
||||
body: collectSchedulerPayload(),
|
||||
credentials: 'same-origin',
|
||||
@@ -1756,20 +1771,31 @@ $activeDbGroup = $testGroup !== null && array_key_exists($testGroup, $dbGroups)
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
},
|
||||
});
|
||||
console.log('[scheduler] persist response meta', {
|
||||
ok: response.ok,
|
||||
status: response.status,
|
||||
redirected: response.redirected,
|
||||
contentType: response.headers.get('content-type'),
|
||||
url: response.url,
|
||||
});
|
||||
if (!response.ok) {
|
||||
throw new Error(`Scheduler konnte nicht gespeichert werden (${response.status}).`);
|
||||
}
|
||||
const raw = await response.text();
|
||||
console.log('[scheduler] persist raw response', raw);
|
||||
let data = null;
|
||||
try {
|
||||
data = JSON.parse(raw);
|
||||
} catch (error) {
|
||||
console.error('[scheduler] persist json parse failed', error);
|
||||
throw new Error(`Scheduler-Antwort war kein JSON: ${raw.slice(0, 160)}`);
|
||||
}
|
||||
console.log('[scheduler] persist parsed response', data);
|
||||
if (!data || data.ok !== true) {
|
||||
throw new Error(data?.message || 'Scheduler konnte nicht gespeichert werden.');
|
||||
}
|
||||
applyStatusUpdates(data.statuses || []);
|
||||
console.log('[scheduler] persist success');
|
||||
return true;
|
||||
};
|
||||
|
||||
@@ -1888,6 +1914,12 @@ $activeDbGroup = $testGroup !== null && array_key_exists($testGroup, $dbGroups)
|
||||
const saveModal = async () => {
|
||||
const entry = modalState.entry;
|
||||
if (!entry) return;
|
||||
console.log('[scheduler] modal save click', {
|
||||
tab: modalState.tab,
|
||||
entryIndex: entry.dataset.entryIndex || null,
|
||||
enabled: modalFields.enabled.value,
|
||||
timezone: modalFields.timezone.value,
|
||||
});
|
||||
|
||||
const modeNode = getEntryField(entry, '[data-cron-builder-mode]');
|
||||
const kindNode = getEntryField(entry, '[data-cron-builder-kind]');
|
||||
@@ -1901,6 +1933,7 @@ $activeDbGroup = $testGroup !== null && array_key_exists($testGroup, $dbGroups)
|
||||
const timezoneNode = getEntryField(entry, '[data-cron-timezone]');
|
||||
|
||||
if (!modeNode || !kindNode || !timeNode || !weekdayNode || !monthDayNode || !intervalHoursNode || !intervalDaysNode || !enabledNode || !expressionNode || !timezoneNode) {
|
||||
console.error('[scheduler] modal save aborted: missing entry fields');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1931,8 +1964,10 @@ $activeDbGroup = $testGroup !== null && array_key_exists($testGroup, $dbGroups)
|
||||
}
|
||||
try {
|
||||
await persistScheduler();
|
||||
console.log('[scheduler] modal save complete, closing modal');
|
||||
closeModal();
|
||||
} catch (error) {
|
||||
console.error('[scheduler] modal save failed', error);
|
||||
alert(error instanceof Error ? error.message : 'Scheduler konnte nicht gespeichert werden.');
|
||||
} finally {
|
||||
if (modalFields.saveButton) {
|
||||
|
||||
Reference in New Issue
Block a user