Integrate PDF parsing functionality: Add 'pdf-parse' dependency to package.json and package-lock.json. Update worshipController to include logic for handling PDF imports, enhancing the event management process. Refactor routing to support new newsletter import features and improve event form handling for better user experience.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<div class="event-management">
|
||||
<h2>Veranstaltungen</h2>
|
||||
<button v-if="hasNewsletterPreview" @click="goBackToNewsletterImport">Zurück zum Gemeindebrief-Import</button>
|
||||
<button @click="createEvent">Neue Veranstaltung</button>
|
||||
<EventForm v-if="showForm"
|
||||
ref="eventForm"
|
||||
@@ -75,6 +76,7 @@ export default {
|
||||
showForm: false,
|
||||
searchQuery: '',
|
||||
showPastEvents: false,
|
||||
hasNewsletterPreview: false,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@@ -121,6 +123,8 @@ export default {
|
||||
},
|
||||
async created() {
|
||||
await this.fetchData();
|
||||
this.hasNewsletterPreview = !!localStorage.getItem('newsletter_import_last_result');
|
||||
this.applyNewsletterDraft();
|
||||
},
|
||||
methods: {
|
||||
formatTime,
|
||||
@@ -148,6 +152,39 @@ export default {
|
||||
this.showForm = true;
|
||||
this.scrollToFormAndFocus();
|
||||
},
|
||||
goBackToNewsletterImport() {
|
||||
this.$router.push('/admin/newsletter-import');
|
||||
},
|
||||
applyNewsletterDraft() {
|
||||
const raw = localStorage.getItem('newsletter_import_event_draft');
|
||||
if (!raw) return;
|
||||
localStorage.removeItem('newsletter_import_event_draft');
|
||||
try {
|
||||
const draft = JSON.parse(raw);
|
||||
const resolvedEventPlace =
|
||||
this.eventPlaces.find((place) => place.id === draft?.event_place_id) ||
|
||||
this.eventPlaces.find((place) =>
|
||||
draft?.event_place_name &&
|
||||
String(place?.name || '').toLowerCase().includes(String(draft.event_place_name).toLowerCase())
|
||||
) ||
|
||||
null;
|
||||
this.selectedEvent = {
|
||||
name: draft?.name || '',
|
||||
description: '',
|
||||
date: draft?.date || '',
|
||||
time: draft?.time || '',
|
||||
eventTypeId: draft?.eventTypeId ?? null,
|
||||
event_place_id: resolvedEventPlace?.id ?? draft?.event_place_id ?? null,
|
||||
eventPlace: resolvedEventPlace,
|
||||
__newsletterDateMode: draft?.dateMode || null,
|
||||
__newsletterBulkDates: draft?.bulkDates || '',
|
||||
};
|
||||
this.showForm = true;
|
||||
this.scrollToFormAndFocus();
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Übernehmen des Gemeindebrief-Entwurfs (Event):', error);
|
||||
}
|
||||
},
|
||||
editEvent(event) {
|
||||
this.selectedEvent = { ...event };
|
||||
this.showForm = true;
|
||||
|
||||
Reference in New Issue
Block a user