feat: add auto deactivate option for slot plans
Add an autoDeactivate flag to pickup configuration entries, expose it as a dashboard checkbox beside the active state, and keep existing entries defaulting to automatic deactivation unless explicitly disabled.
This commit is contained in:
@@ -685,6 +685,17 @@ function deactivateEntry(session, entry, options = {}) {
|
||||
return changed;
|
||||
}
|
||||
|
||||
function shouldAutoDeactivateEntry(entry) {
|
||||
return entry?.autoDeactivate !== false;
|
||||
}
|
||||
|
||||
function deactivateEntryAfterSuccess(session, entry, options = {}) {
|
||||
if (!shouldAutoDeactivateEntry(entry)) {
|
||||
return false;
|
||||
}
|
||||
return deactivateEntry(session, entry, options);
|
||||
}
|
||||
|
||||
function isEntryActiveInConfig(profileId, entryId) {
|
||||
if (!profileId || !entryId) {
|
||||
return false;
|
||||
@@ -853,7 +864,7 @@ async function processBooking(session, entry, pickup) {
|
||||
booked: false,
|
||||
storeId: entry.id
|
||||
});
|
||||
deactivateEntry(session, entry);
|
||||
deactivateEntryAfterSuccess(session, entry);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -883,7 +894,7 @@ async function processBooking(session, entry, pickup) {
|
||||
booked: true,
|
||||
storeId: entry.id
|
||||
});
|
||||
deactivateEntry(session, entry);
|
||||
deactivateEntryAfterSuccess(session, entry);
|
||||
} catch (error) {
|
||||
console.error(`[ERROR] Buchung für ${storeName} am ${readableDate} fehlgeschlagen:`, error.message);
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user