From d9dfa18e28d024e1d63f874b50560be77f539b6e Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Sat, 15 Mar 2025 22:27:06 +0100 Subject: [PATCH] E-Mail Text Registrierung und Speicherung --- src/lib/server/mail/registrierung.ts | 38 ++- .../DatenblattVerbrauchsausweisWohnen.svelte | 232 ++++++++++++++++++ ...blatt-verbrauchsausweis-wohngebaeude.astro | 111 +++++++++ src/pages/speichern-erfolgreich.astro | 42 +++- 4 files changed, 397 insertions(+), 26 deletions(-) create mode 100644 src/modules/VerbrauchsausweisWohnen/DatenblattVerbrauchsausweisWohnen.svelte create mode 100644 src/pages/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/datenblatt-verbrauchsausweis-wohngebaeude.astro diff --git a/src/lib/server/mail/registrierung.ts b/src/lib/server/mail/registrierung.ts index 1b4b8ef2..445f3f14 100644 --- a/src/lib/server/mail/registrierung.ts +++ b/src/lib/server/mail/registrierung.ts @@ -20,18 +20,30 @@ export async function sendRegisterMail( to: user.email, subject: `Ihre Registrierung bei IBCornelsen`, bcc: "info@online-energieausweis.org", - text: `Hallo ${user.vorname}, - -vielen Dank für Ihre Registrierung bei IBCornelsen! Ihr Benutzerkonto wurde erfolgreich erstellt. - -Um Ihre Registrierung abzuschließen, klicken Sie bitte auf den folgenden Link, um Ihre E-Mail-Adresse zu bestätigen: -https://${BASE_URI}/auth/verify?t=${verificationJwt} - -Falls Sie diese Registrierung nicht durchgeführt haben, ignorieren Sie bitte diese E-Mail. Bei Fragen oder Problemen steht Ihnen unser Support-Team jederzeit zur Verfügung. - -Wir freuen uns, Sie beim IBC willkommen zu heißen! - -Mit freundlichen Grüßen -Ihr IBCornelsen-Team` + html: `

Sehr geehrte*r ${user.vorname} ${user.name},

+

vielen Dank für Ihre Registrierung bei IBCornelsen. Ihr Benutzerkonto wurde erfolgreich erstellt.

+ + Um Ihre Registrierung abzuschließen, klicken Sie bitte auf den folgenden Link, um Ihre E-Mail-Adresse zu bestätigen:

+ + E-Mail-Adresse bestätigen

+

+ Mit freundlichen Grüßen, +
+ Dipl.-Ing. Jens Cornelsen +
+
+ IB Cornelsen +
+ Katendeich 5A +
+ 21035 Hamburg +
+ www.online-energieausweis.org +
+
+ fon 040 · 209339850 +
+ fax 040 · 209339859 +

` }); } diff --git a/src/modules/VerbrauchsausweisWohnen/DatenblattVerbrauchsausweisWohnen.svelte b/src/modules/VerbrauchsausweisWohnen/DatenblattVerbrauchsausweisWohnen.svelte new file mode 100644 index 00000000..2b83ecbf --- /dev/null +++ b/src/modules/VerbrauchsausweisWohnen/DatenblattVerbrauchsausweisWohnen.svelte @@ -0,0 +1,232 @@ + + +
+

+ A. Prüfung der Ausweisart +

+ +
+ + +
+

+ B. Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller + und Dachgeschoss +

+ +
+ + +
+

+ C. Eingabe von 3 zusammenhängenden Verbrauchsjahren +

+ +
+ + +
+

+ D. Eingabe Warmwasseranteil und Verwendung von alternativen + Energieversorgungssystemen +

+ +
+ + +
+

+ E. Eingabe von Gebäudeteil, Lüftung, Kühlung und Leerstand +

+ +
+ + +
+

+ F. Angaben zur Heizungsanlage +

+ +
+ + +
+

+ G. Angaben zu Fenster, Dachfenster und Türen +

+ +
+ + +
+

+ H. Angaben zur Wärmedämmung +

+ +
\ No newline at end of file diff --git a/src/pages/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/datenblatt-verbrauchsausweis-wohngebaeude.astro b/src/pages/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/datenblatt-verbrauchsausweis-wohngebaeude.astro new file mode 100644 index 00000000..552d81e8 --- /dev/null +++ b/src/pages/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/datenblatt-verbrauchsausweis-wohngebaeude.astro @@ -0,0 +1,111 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten.astro"; +import DatenblattVerbrauchsausweisWohnenModule from "#modules/VerbrauchsausweisWohnen/DatenblattVerbrauchsausweisWohnen.svelte"; +import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types"; +import { createCaller } from "src/astro-typesafe-api-caller"; +import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants"; +import { validateAccessTokenServer } from "#server/lib/validateAccessToken"; +import { Enums } from "#lib/server/prisma"; + +const uid = Astro.url.searchParams.get("uid"); +const uid_aufnahme = Astro.url.searchParams.get("aufnahme") +const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard; + + +let ausweis: VerbrauchsausweisWohnenClient = {} as VerbrauchsausweisWohnenClient; +let aufnahme: AufnahmeClient = {} as AufnahmeClient; +let objekt: ObjektClient = {} as ObjektClient; +let bilder: UploadedGebaeudeBild[] = [] + +const valid = validateAccessTokenServer(Astro); + +const caller = createCaller(Astro); + +if (uid) { + if (!valid) { + return Astro.redirect( + `/auth/login?redirect=${Astro.url.toString()}` + ); + } + + try { + ausweis = await caller["verbrauchsausweis-wohnen"]._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid + } + }); + + aufnahme = await caller.aufnahme._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: ausweis.uid_aufnahme + } + }) + + objekt = await caller.objekt._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: ausweis.uid_objekt + } + }) + + bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: ausweis.uid_aufnahme + } + }) + + if (!ausweis) { + // Der Ausweis scheint nicht zu existieren. + // Wir leiten auf die generische Ausweisseite ohne UID weiter. + return Astro.redirect( + "/energieausweis-erstellen/verbrauchsausweis-wohngebaeude" + ); + } + } catch(e) { + return Astro.redirect( + "/energieausweis-erstellen/verbrauchsausweis-wohngebaeude" + ); + } +} else if (uid_aufnahme) { + if (!valid) { + return Astro.redirect( + `/auth/login?redirect=${Astro.url.toString()}` + ); + } + + let { uid_objekt, ...result} = await caller.aufnahme._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: uid_aufnahme + } + }) + + aufnahme = result; + + objekt = await caller.objekt._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: uid_objekt + } + }) +} +--- + + + + \ No newline at end of file diff --git a/src/pages/speichern-erfolgreich.astro b/src/pages/speichern-erfolgreich.astro index debe17cb..eab214fe 100644 --- a/src/pages/speichern-erfolgreich.astro +++ b/src/pages/speichern-erfolgreich.astro @@ -4,6 +4,7 @@ import { BASE_URI } from "#lib/constants"; import { transport } from "#lib/mail"; import { getPrismaAusweisAdapter } from "#lib/server/ausweis"; import { getCurrentUser } from "#lib/server/user"; +import { shortenUID } from "#server/lib/hash.js"; const user = await getCurrentUser(Astro) const uid = Astro.url.searchParams.get("uid"); @@ -22,6 +23,8 @@ const ausweis = await adapter.findUnique({ } }) +const id = shortenUID(ausweis.uid); + if (!ausweis) { return Astro.redirect("/") } @@ -29,18 +32,32 @@ if (!ausweis) { transport.sendMail({ from: `"IBCornelsen" `, to: user.email, - subject: `Ihr Ausweis wurde gespeichert - IBCornelsen.`, - text: `Sehr geehrte/r ${user.name}, - -Ihr Energieausweis wurde erfolgreich in Ihrem Konto gespeichert. Sie können ihn jederzeit in Ihrem Kundenbereich abrufen. - -Zum Download oder zur Verwaltung Ihrer Ausweise besuchen Sie bitte: -${BASE_URI}/dashboard - -Falls Sie Fragen haben, stehen wir Ihnen gerne zur Verfügung. - -Mit freundlichen Grüßen -Ihr IBCornelsen` + subject: `Ihr Ausweis wurde gespeichert - IBCornelsen - (ID: ${id})`, + html: `

Sehr geehrte*r ${user.vorname} ${user.name},

+

Ihr Energieausweis wurde erfolgreich in Ihrem Konto gespeichert. Sie können ihn jederzeit in Ihrem Kundenbereich abrufen.

+ + Ihre Vorgänge und Ausweise können Sie in Ihrem Kundenkonto einsehen und bearbeiten:

+ + zum Kundenkonto

+

+ Mit freundlichen Grüßen, +
+ Dipl.-Ing. Jens Cornelsen +
+
+ IB Cornelsen +
+ Katendeich 5A +
+ 21035 Hamburg +
+ www.online-energieausweis.org +
+
+ fon 040 · 209339850 +
+ fax 040 · 209339859 +

` }) --- @@ -48,5 +65,4 @@ Ihr IBCornelsen`

Ihr Energieausweis wurde gespeichert

Ihr Energieausweis wurde erfolgreich in Ihrem Konto gespeichert. Sie können ihn jederzeit in Ihrem Kundenbereich abrufen.

👉 Jetzt ansehen -

Falls Sie Fragen haben, steht unser Support-Team Ihnen gerne zur Verfügung.

\ No newline at end of file -- 2.49.1