diff --git a/src/components/admin/club/newsletter/NewsletterMailProgressModal.vue b/src/components/admin/club/newsletter/NewsletterMailProgressModal.vue index 27f1690..9f5250a 100644 --- a/src/components/admin/club/newsletter/NewsletterMailProgressModal.vue +++ b/src/components/admin/club/newsletter/NewsletterMailProgressModal.vue @@ -19,7 +19,7 @@
- +
diff --git a/src/components/admin/club/newsletter/NewsletterMailRecipientsModal.vue b/src/components/admin/club/newsletter/NewsletterMailRecipientsModal.vue new file mode 100644 index 0000000..fbc1ed3 --- /dev/null +++ b/src/components/admin/club/newsletter/NewsletterMailRecipientsModal.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/components/admin/club/newsletter/NewsletterPrintingProgressModal.vue b/src/components/admin/club/newsletter/NewsletterPrintingProgressModal.vue index 416c1e1..8e0b57f 100644 --- a/src/components/admin/club/newsletter/NewsletterPrintingProgressModal.vue +++ b/src/components/admin/club/newsletter/NewsletterPrintingProgressModal.vue @@ -19,7 +19,7 @@
- +
diff --git a/src/components/admin/club/newsletter/NewsletterPrintingRecipientsModal.vue b/src/components/admin/club/newsletter/NewsletterPrintingRecipientsModal.vue new file mode 100644 index 0000000..444ea27 --- /dev/null +++ b/src/components/admin/club/newsletter/NewsletterPrintingRecipientsModal.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/stores/admin/club/newsletter/newsletterPrintout.ts b/src/stores/admin/club/newsletter/newsletterPrintout.ts index 945ac24..97bc4f3 100644 --- a/src/stores/admin/club/newsletter/newsletterPrintout.ts +++ b/src/stores/admin/club/newsletter/newsletterPrintout.ts @@ -45,6 +45,14 @@ export const useNewsletterPrintoutStore = defineStore("newsletterPrintout", { responseType: "blob", }); }, + fetchNewsletterPrintReceivers(): Promise> { + const newsletterId = useNewsletterStore().activeNewsletter; + return http.get(`/admin/newsletter/${newsletterId}/printrecipients`); + }, + fetchNewsletterMailReceivers(): Promise> { + const newsletterId = useNewsletterStore().activeNewsletter; + return http.get(`/admin/newsletter/${newsletterId}/mailrecipients`); + }, createNewsletterMailPreview() { this.sendingPreview = "loading"; const newsletterId = useNewsletterStore().activeNewsletter; @@ -116,7 +124,7 @@ export const useNewsletterPrintoutStore = defineStore("newsletterPrintout", { chunk.split("//").forEach((r) => { if (r.trim() != "") { let data = JSON.parse(r); - this.pdfSourceMessages.push(data); + this.pdfSourceMessages.unshift(data); let type: NotificationType = "info"; let timeout = undefined; if (data.factor == "failed") { @@ -138,7 +146,7 @@ export const useNewsletterPrintoutStore = defineStore("newsletterPrintout", { chunk.split("//").forEach((r) => { if (r.trim() != "") { let data = JSON.parse(r); - this.mailSourceMessages.push(data); + this.mailSourceMessages.unshift(data); let type: NotificationType = "info"; let timeout = undefined; if (data.factor == "failed") { diff --git a/src/views/admin/club/newsletter/NewsletterPrintout.vue b/src/views/admin/club/newsletter/NewsletterPrintout.vue index 0580400..3fd49ef 100644 --- a/src/views/admin/club/newsletter/NewsletterPrintout.vue +++ b/src/views/admin/club/newsletter/NewsletterPrintout.vue @@ -27,7 +27,7 @@ primary class="!w-fit whitespace-nowrap flex flex-row gap-2" :disabled="printing != undefined" - @click="createNewsletterPrintout" + @click="openPdfCommit" > Newsletter drucken @@ -39,7 +39,7 @@ primary class="!w-fit whitespace-nowrap flex flex-row gap-2" :disabled="sending != undefined" - @click="createNewsletterSend" + @click="openMailCommit" > Mails versenden @@ -108,10 +108,8 @@ export default defineComponent({ ...mapActions(useModalStore, ["openModal"]), ...mapActions(useNewsletterPrintoutStore, [ "fetchNewsletterPrintout", - "createNewsletterPrintout", "fetchNewsletterPrintoutById", "createNewsletterMailPreview", - "createNewsletterSend", ]), openPdfShow(filename?: string) { this.openModal( @@ -132,6 +130,20 @@ export default defineComponent({ }) .catch(() => {}); }, + openPdfCommit() { + this.openModal( + markRaw( + defineAsyncComponent(() => import("@/components/admin/club/newsletter/NewsletterPrintingRecipientsModal.vue")) + ) + ); + }, + openMailCommit() { + this.openModal( + markRaw( + defineAsyncComponent(() => import("@/components/admin/club/newsletter/NewsletterMailRecipientsModal.vue")) + ) + ); + }, openPdfLogs() { this.openModal( markRaw(