Ausweis Erstellen Button
This commit is contained in:
@@ -14,13 +14,13 @@ export const createCaller = createCallerFactory({
|
|||||||
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
||||||
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
|
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
|
||||||
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
|
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
|
||||||
|
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
|
||||||
|
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
|
||||||
|
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
|
||||||
"bedarfsausweis-gewerbe/[id]": await import("../src/pages/api/bedarfsausweis-gewerbe/[id].ts"),
|
"bedarfsausweis-gewerbe/[id]": await import("../src/pages/api/bedarfsausweis-gewerbe/[id].ts"),
|
||||||
"bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"),
|
"bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"),
|
||||||
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"),
|
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"),
|
||||||
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
|
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
|
||||||
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
|
|
||||||
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
|
|
||||||
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
|
|
||||||
"bilder/[id]": await import("../src/pages/api/bilder/[id].ts"),
|
"bilder/[id]": await import("../src/pages/api/bilder/[id].ts"),
|
||||||
"geg-nachweis-gewerbe/[id]": await import("../src/pages/api/geg-nachweis-gewerbe/[id].ts"),
|
"geg-nachweis-gewerbe/[id]": await import("../src/pages/api/geg-nachweis-gewerbe/[id].ts"),
|
||||||
"geg-nachweis-gewerbe": await import("../src/pages/api/geg-nachweis-gewerbe/index.ts"),
|
"geg-nachweis-gewerbe": await import("../src/pages/api/geg-nachweis-gewerbe/index.ts"),
|
||||||
|
|||||||
@@ -0,0 +1,245 @@
|
|||||||
|
---
|
||||||
|
import AusweisLayout from "#layouts/AusweisLayoutDaten.astro";
|
||||||
|
import VerbrauchsausweisWohnenModule from "#modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte";
|
||||||
|
import {
|
||||||
|
Aufnahme,
|
||||||
|
BedarfsausweisWohnen,
|
||||||
|
Bild,
|
||||||
|
Enums,
|
||||||
|
Objekt,
|
||||||
|
prisma,
|
||||||
|
VerbrauchsausweisGewerbe,
|
||||||
|
VerbrauchsausweisWohnen,
|
||||||
|
} from "#lib/server/prisma";
|
||||||
|
import {
|
||||||
|
getAufnahme,
|
||||||
|
getBedarfsausweisWohnen,
|
||||||
|
getBilder,
|
||||||
|
getObjekt,
|
||||||
|
getVerbrauchsausweisGewerbe,
|
||||||
|
getVerbrauchsausweisWohnen,
|
||||||
|
} from "#lib/server/db";
|
||||||
|
import { getCurrentUser } from "#lib/server/user";
|
||||||
|
import { AusstellungsTyp } from "#lib/constants";
|
||||||
|
import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte";
|
||||||
|
import BedarfsausweisWohnenModule from "#modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte";
|
||||||
|
import { getPrismaAusweisAdapter } from "#lib/server/ausweis";
|
||||||
|
|
||||||
|
const ausweisart = Astro.params.ausweisart as string;
|
||||||
|
const partner_code = Astro.params.partner as string;
|
||||||
|
|
||||||
|
if (
|
||||||
|
ausweisart !== "verbrauchsausweis-wohngebaeude" &&
|
||||||
|
ausweisart !== "verbrauchsausweis-gewerbe" &&
|
||||||
|
ausweisart !== "bedarfsausweis-wohngebaeude"
|
||||||
|
) {
|
||||||
|
return Astro.redirect("/404");
|
||||||
|
}
|
||||||
|
|
||||||
|
const user = await getCurrentUser(Astro);
|
||||||
|
|
||||||
|
const ausweis_id = Astro.url.searchParams.get("ausweis_id");
|
||||||
|
const typ = Astro.url.searchParams.get("typ") as AusstellungsTyp;
|
||||||
|
|
||||||
|
let ausweistyp =
|
||||||
|
(Astro.url.searchParams.get("ausweistyp") as Enums.AusweisTyp) ||
|
||||||
|
Enums.AusweisTyp.Standard;
|
||||||
|
|
||||||
|
let ausweis:
|
||||||
|
| VerbrauchsausweisWohnen
|
||||||
|
| VerbrauchsausweisGewerbe
|
||||||
|
| BedarfsausweisWohnen
|
||||||
|
| null = {} as VerbrauchsausweisWohnen | VerbrauchsausweisGewerbe | BedarfsausweisWohnen;
|
||||||
|
let aufnahme: Aufnahme | null = {} as Aufnahme;
|
||||||
|
let objekt: Objekt | null = {} as Objekt;
|
||||||
|
let bilder: Bild[] = [];
|
||||||
|
let loadFromDatabase = false;
|
||||||
|
|
||||||
|
if (typ === AusstellungsTyp.Neuausstellung) {
|
||||||
|
if (!user) {
|
||||||
|
return Astro.redirect(`/auth/login?redirect=${Astro.url.toString()}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ausweis_id) {
|
||||||
|
return Astro.redirect("/400");
|
||||||
|
}
|
||||||
|
|
||||||
|
const adapter = getPrismaAusweisAdapter(ausweis_id)
|
||||||
|
|
||||||
|
ausweis = await adapter?.findUnique({
|
||||||
|
where: {
|
||||||
|
id: ausweis_id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
aufnahme = await prisma.aufnahme.findUnique({
|
||||||
|
where: {
|
||||||
|
id: ausweis?.aufnahme_id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
objekt = await prisma.objekt.findUnique({
|
||||||
|
where: {
|
||||||
|
id: aufnahme?.objekt_id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
if (
|
||||||
|
!ausweis ||
|
||||||
|
!aufnahme ||
|
||||||
|
!objekt ||
|
||||||
|
((ausweis.benutzer_id !== user.id ||
|
||||||
|
aufnahme.benutzer_id !== user.id ||
|
||||||
|
objekt.benutzer_id !== user.id) && user.rolle !== Enums.BenutzerRolle.ADMIN)
|
||||||
|
) {
|
||||||
|
return Astro.redirect("/405");
|
||||||
|
}
|
||||||
|
|
||||||
|
ausweis.id = null;
|
||||||
|
aufnahme.id = null;
|
||||||
|
// Die Daten sollen nicht aus dem localStorage genommen werden sonst kann es vorkommen, dass die ID noch besteht und der Vorgang nicht neu angelegt wird.
|
||||||
|
loadFromDatabase = true;
|
||||||
|
} else if (typ === AusstellungsTyp.Speichern) {
|
||||||
|
if (!user) {
|
||||||
|
return Astro.redirect(`/auth/login?redirect=${Astro.url.toString()}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ausweis_id) {
|
||||||
|
return Astro.redirect("/400");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ausweisart === "verbrauchsausweis-wohngebaeude") {
|
||||||
|
ausweis = await getVerbrauchsausweisWohnen(ausweis_id);
|
||||||
|
} else if (ausweisart === "verbrauchsausweis-gewerbe") {
|
||||||
|
ausweis = await getVerbrauchsausweisGewerbe(ausweis_id);
|
||||||
|
} else {
|
||||||
|
ausweis = await getBedarfsausweisWohnen(ausweis_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
ausweistyp = ausweis.ausweistyp;
|
||||||
|
|
||||||
|
aufnahme = (await getAufnahme(ausweis.aufnahme_id)) as Aufnahme;
|
||||||
|
|
||||||
|
objekt = (await getObjekt(aufnahme.objekt_id)) as Objekt;
|
||||||
|
|
||||||
|
if (
|
||||||
|
!ausweis ||
|
||||||
|
!aufnahme ||
|
||||||
|
!objekt ||
|
||||||
|
((ausweis.benutzer_id !== user.id ||
|
||||||
|
aufnahme.benutzer_id !== user.id ||
|
||||||
|
objekt.benutzer_id !== user.id) && user.rolle !== Enums.BenutzerRolle.ADMIN)
|
||||||
|
) {
|
||||||
|
return Astro.redirect("/405");
|
||||||
|
}
|
||||||
|
|
||||||
|
bilder = await getBilder(aufnahme.id);
|
||||||
|
loadFromDatabase = true;
|
||||||
|
} else if (typ === AusstellungsTyp.Alternativdokument) {
|
||||||
|
if (!user) {
|
||||||
|
return Astro.redirect(`/auth/login?redirect=${Astro.url.toString()}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ausweis_id) {
|
||||||
|
return Astro.redirect("/400");
|
||||||
|
}
|
||||||
|
|
||||||
|
const adapter = getPrismaAusweisAdapter(ausweis_id)
|
||||||
|
|
||||||
|
ausweis = await adapter?.findUnique({
|
||||||
|
where: {
|
||||||
|
id: ausweis_id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
aufnahme = await prisma.aufnahme.findUnique({
|
||||||
|
where: {
|
||||||
|
id: ausweis?.aufnahme_id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
objekt = await prisma.objekt.findUnique({
|
||||||
|
where: {
|
||||||
|
id: aufnahme?.objekt_id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
if (
|
||||||
|
!ausweis ||
|
||||||
|
!aufnahme ||
|
||||||
|
!objekt ||
|
||||||
|
((ausweis.benutzer_id !== user.id ||
|
||||||
|
aufnahme.benutzer_id !== user.id ||
|
||||||
|
objekt.benutzer_id !== user.id) && user.rolle !== Enums.BenutzerRolle.ADMIN)
|
||||||
|
) {
|
||||||
|
return Astro.redirect("/405");
|
||||||
|
}
|
||||||
|
|
||||||
|
ausweis.id = null;
|
||||||
|
aufnahme.erstellungsdatum = null
|
||||||
|
ausweis.created_at = new Date()
|
||||||
|
ausweis.updated_at = new Date();
|
||||||
|
ausweis.alte_ausweis_id = null;
|
||||||
|
ausweis.ausgestellt = false;
|
||||||
|
ausweis.bestellt = false;
|
||||||
|
ausweis.kontrolldatei_angefragt = false;
|
||||||
|
ausweis.energieeffizienzklasse = null;
|
||||||
|
ausweis.ausstellungsdatum = null;
|
||||||
|
ausweis.ausweistyp = Enums.AusweisTyp.Standard;
|
||||||
|
ausweis.zurueckgestellt = false;
|
||||||
|
ausweis.storniert = false;
|
||||||
|
// Die Daten sollen nicht aus dem localStorage genommen werden sonst kann es vorkommen, dass die ID noch besteht und der Vorgang nicht neu angelegt wird.
|
||||||
|
loadFromDatabase = true;
|
||||||
|
}
|
||||||
|
---
|
||||||
|
|
||||||
|
<AusweisLayout title="Verbrauchsausweis erstellen">
|
||||||
|
{
|
||||||
|
ausweisart === "verbrauchsausweis-wohngebaeude" && (
|
||||||
|
<VerbrauchsausweisWohnenModule
|
||||||
|
client:only
|
||||||
|
{ausweis}
|
||||||
|
{objekt}
|
||||||
|
{aufnahme}
|
||||||
|
{bilder}
|
||||||
|
{ausweis_id}
|
||||||
|
{ausweistyp}
|
||||||
|
{user}
|
||||||
|
{loadFromDatabase}
|
||||||
|
{partner_code}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
{
|
||||||
|
ausweisart === "verbrauchsausweis-gewerbe" && (
|
||||||
|
<VerbrauchsausweisGewerbeModule
|
||||||
|
client:only
|
||||||
|
{ausweis}
|
||||||
|
{objekt}
|
||||||
|
{aufnahme}
|
||||||
|
{bilder}
|
||||||
|
{ausweistyp}
|
||||||
|
{user}
|
||||||
|
{ausweis_id}
|
||||||
|
{loadFromDatabase}
|
||||||
|
{partner_code}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
{
|
||||||
|
ausweisart === "bedarfsausweis-wohngebaeude" && (
|
||||||
|
<BedarfsausweisWohnenModule
|
||||||
|
client:only
|
||||||
|
{ausweis}
|
||||||
|
{objekt}
|
||||||
|
{aufnahme}
|
||||||
|
{bilder}
|
||||||
|
{ausweistyp}
|
||||||
|
{ausweis_id}
|
||||||
|
{user}
|
||||||
|
{loadFromDatabase}
|
||||||
|
{partner_code}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</AusweisLayout>
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
import Layout from "#layouts/Layout.astro";
|
||||||
|
import ProduktUebersichtBedarfsausweisWohnen from "#components/design/content/ProduktUebersichtBedarfsausweisWohnen.svelte";
|
||||||
|
import ProduktUebersichtVerbrauchsausweisGewerbe from "#components/design/content/ProduktUebersichtVerbrauchsausweisGewerbe.svelte";
|
||||||
|
import ProduktUebersichtVerbrauchsausweisWohnen from "#components/design/content/ProduktUebersichtVerbrauchsausweisWohnen.svelte";
|
||||||
|
|
||||||
|
const ausweisart = Astro.params.ausweisart;
|
||||||
|
const partner = Astro.params.partner;
|
||||||
|
|
||||||
|
if (ausweisart !== "verbrauchsausweis-wohngebaeude" && ausweisart !== "verbrauchsausweis-gewerbe" && ausweisart !== "bedarfsausweis-wohngebaeude") {
|
||||||
|
return Astro.redirect("/404")
|
||||||
|
}
|
||||||
|
|
||||||
|
let title: string = "";
|
||||||
|
if (ausweisart === "verbrauchsausweis-wohngebaeude") title = "Verbrauchsausweis Wohngebäude Produktübersicht";
|
||||||
|
if (ausweisart === "verbrauchsausweis-gewerbe") title = "Verbrauchsausweis Gewerbe Produktübersicht";
|
||||||
|
if (ausweisart === "bedarfsausweis-wohngebaeude") title = "Bedarfsausweis Wohngebäude Produktübersicht";
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout {title}>
|
||||||
|
{ausweisart === "verbrauchsausweis-wohngebaeude" && <ProduktUebersichtVerbrauchsausweisWohnen ref={`/${partner}`} />}
|
||||||
|
{ausweisart === "verbrauchsausweis-gewerbe" && <ProduktUebersichtVerbrauchsausweisGewerbe ref={`/${partner}`} />}
|
||||||
|
{ausweisart === "bedarfsausweis-wohngebaeude" && <ProduktUebersichtBedarfsausweisWohnen ref={`/${partner}`} />}
|
||||||
|
</Layout>
|
||||||
@@ -1,91 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
import AusweisLayout from "#layouts/AusweisLayoutDaten.astro";
|
|
||||||
import BedarfsausweisWohnenModule from "#modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte";
|
|
||||||
import { Aufnahme, BedarfsausweisWohnen, Bild, Enums, Objekt } from "#lib/server/prisma";
|
|
||||||
import { getAufnahme, getObjekt, getBilder, getBedarfsausweisWohnen } from "#lib/server/db";
|
|
||||||
import { getCurrentUser } from "#lib/server/user";
|
|
||||||
|
|
||||||
const id = Astro.url.searchParams.get("id");
|
|
||||||
const aufnahme_id = Astro.url.searchParams.get("aufnahme")
|
|
||||||
let ausweistyp = Astro.url.searchParams.get("ausweistyp") as Enums.AusweisTyp || Enums.AusweisTyp.Standard;
|
|
||||||
const partner_code = Astro.params.partner as string;
|
|
||||||
|
|
||||||
let ausweis: BedarfsausweisWohnen = {} as BedarfsausweisWohnen;
|
|
||||||
let aufnahme: Aufnahme = {} as Aufnahme;
|
|
||||||
let objekt: Objekt = {} as Objekt;
|
|
||||||
let bilder: Bild[] = []
|
|
||||||
|
|
||||||
const user = await getCurrentUser(Astro)
|
|
||||||
|
|
||||||
if (id) {
|
|
||||||
if (!user) {
|
|
||||||
return Astro.redirect(
|
|
||||||
`/auth/login?redirect=${Astro.url.toString()}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
ausweis = await getBedarfsausweisWohnen(id) as BedarfsausweisWohnen
|
|
||||||
ausweistyp = ausweis.ausweistyp;
|
|
||||||
|
|
||||||
if (!ausweis || (ausweis.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) {
|
|
||||||
// Der Ausweis scheint nicht zu existieren.
|
|
||||||
// Wir leiten auf die generische Ausweisseite ohne ID weiter.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/bedarfsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
aufnahme = await getAufnahme(ausweis.aufnahme_id) as Aufnahme
|
|
||||||
|
|
||||||
if (!aufnahme) {
|
|
||||||
// Die Aufnahme existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/bedarfsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
objekt = await getObjekt(aufnahme.objekt_id) as Objekt
|
|
||||||
|
|
||||||
if (!objekt) {
|
|
||||||
// Das Objekt existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/bedarfsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
bilder = await getBilder(aufnahme.id);
|
|
||||||
} else if (aufnahme_id) {
|
|
||||||
if (!user) {
|
|
||||||
return Astro.redirect(
|
|
||||||
`/auth/login?redirect=${Astro.url.toString()}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
aufnahme = await getAufnahme(ausweis.aufnahme_id) as Aufnahme
|
|
||||||
|
|
||||||
if (!aufnahme) {
|
|
||||||
// Die Aufnahme existiert wohl nicht.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/bedarfsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
objekt = await getObjekt(aufnahme.objekt_id) as Objekt
|
|
||||||
|
|
||||||
if (!objekt) {
|
|
||||||
// Das Objekt existiert nicht.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/bedarfsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(ausweistyp);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
<AusweisLayout title="Bedarfsausweis erstellen | IBCornelsen">
|
|
||||||
<BedarfsausweisWohnenModule client:only {ausweis} {objekt} {aufnahme} {bilder} {ausweistyp} {id} {user} loadFromDatabase={id !== null} {partner_code}></BedarfsausweisWohnenModule>
|
|
||||||
</AusweisLayout>
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
|
|
||||||
import ProduktUebersichtBedarfsausweisWohnen from "#components/design/content/ProduktUebersichtBedarfsausweisWohnen.svelte";
|
|
||||||
---
|
|
||||||
|
|
||||||
<AusweisLayout title="Bedarfsausweis Wohngebäude Produktübersicht">
|
|
||||||
|
|
||||||
<div class="mx-auto my-8" style="width:85%">
|
|
||||||
<ProduktUebersichtBedarfsausweisWohnen ref="/immowelt"></ProduktUebersichtBedarfsausweisWohnen>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</AusweisLayout>
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
---
|
|
||||||
import AusweisLayout from "#layouts/AusweisLayoutDaten.astro";
|
|
||||||
import { AufnahmeClient, ObjektClient, BildClient, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types";
|
|
||||||
import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte";
|
|
||||||
import { Aufnahme, Enums, Objekt, VerbrauchsausweisGewerbe } from "#lib/server/prisma";
|
|
||||||
import { getAufnahme, getObjekt, getBilder, getVerbrauchsausweisGewerbe } from "#lib/server/db";
|
|
||||||
import { getCurrentUser } from "#lib/server/user";
|
|
||||||
|
|
||||||
const id = Astro.url.searchParams.get("id");
|
|
||||||
const aufnahme_id = Astro.url.searchParams.get("aufnahme")
|
|
||||||
let ausweistyp = Astro.url.searchParams.get("ausweistyp") as Enums.AusweisTyp || Enums.AusweisTyp.Standard;
|
|
||||||
const partner_code = Astro.params.partner as string;
|
|
||||||
|
|
||||||
let ausweis: VerbrauchsausweisGewerbeClient = {} as VerbrauchsausweisGewerbeClient;
|
|
||||||
let aufnahme: AufnahmeClient = {} as AufnahmeClient;
|
|
||||||
let objekt: ObjektClient = {} as ObjektClient;
|
|
||||||
let bilder: BildClient[] = []
|
|
||||||
|
|
||||||
const user = await getCurrentUser(Astro)
|
|
||||||
|
|
||||||
if (id) {
|
|
||||||
if (!user) {
|
|
||||||
return Astro.redirect(
|
|
||||||
`/auth/login?redirect=${Astro.url.toString()}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
ausweis = await getVerbrauchsausweisGewerbe(id) as VerbrauchsausweisGewerbe
|
|
||||||
ausweistyp = ausweis.ausweistyp;
|
|
||||||
|
|
||||||
if (!ausweis || (ausweis.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) {
|
|
||||||
// Der Ausweis scheint nicht zu existieren.
|
|
||||||
// Wir leiten auf die generische Ausweisseite ohne ID weiter.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-gewerbe"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
aufnahme = await getAufnahme(ausweis.aufnahme_id) as Aufnahme
|
|
||||||
|
|
||||||
if (!aufnahme) {
|
|
||||||
// Die Aufnahme existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-gewerbe"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
objekt = await getObjekt(aufnahme.objekt_id) as Objekt
|
|
||||||
|
|
||||||
if (!objekt) {
|
|
||||||
// Das Objekt existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-gewerbe"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
bilder = await getBilder(aufnahme.id);
|
|
||||||
} else if (aufnahme_id) {
|
|
||||||
if (!user) {
|
|
||||||
return Astro.redirect(
|
|
||||||
`/auth/login?redirect=${Astro.url.toString()}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
aufnahme = await getAufnahme(ausweis.aufnahme_id) as Aufnahme
|
|
||||||
|
|
||||||
if (!aufnahme) {
|
|
||||||
// Die Aufnahme existiert wohl nicht.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-gewerbe"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
objekt = await getObjekt(aufnahme.objekt_id) as Objekt
|
|
||||||
|
|
||||||
if (!objekt) {
|
|
||||||
// Das Objekt existiert nicht.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-gewerbe"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
---
|
|
||||||
|
|
||||||
<AusweisLayout title="Verbrauchsausweis Gewerbe erstellen | IBCornelsen">
|
|
||||||
<VerbrauchsausweisGewerbeModule client:only {ausweis} {objekt} {aufnahme} {bilder} {ausweistyp} {user} {id} {partner_code} loadFromDatabase={id !== null}/>
|
|
||||||
</AusweisLayout>
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
---
|
|
||||||
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
|
|
||||||
import ProduktUebersichtVerbrauchsausweisGewerbe from "#components/design/content/ProduktUebersichtVerbrauchsausweisGewerbe.svelte";
|
|
||||||
---
|
|
||||||
|
|
||||||
<AusweisLayout title="Verbrauchsausweis Gewerbe Produktübersicht">
|
|
||||||
|
|
||||||
<div class="mx-auto my-8" style="width:85%">
|
|
||||||
<ProduktUebersichtVerbrauchsausweisGewerbe ref="/immowelt">
|
|
||||||
|
|
||||||
</ProduktUebersichtVerbrauchsausweisGewerbe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</AusweisLayout>
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
---
|
|
||||||
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
|
|
||||||
import VerbrauchsausweisWohnenModule from "#modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte";
|
|
||||||
import { Aufnahme, Bild, Enums, Objekt, VerbrauchsausweisWohnen } from "#lib/server/prisma";
|
|
||||||
import { getVerbrauchsausweisWohnen, getAufnahme, getObjekt, getBilder } from "#lib/server/db";
|
|
||||||
import { getCurrentUser } from "#lib/server/user";
|
|
||||||
|
|
||||||
const id = Astro.url.searchParams.get("id");
|
|
||||||
const aufnahme_id = Astro.url.searchParams.get("aufnahme")
|
|
||||||
let ausweistyp = Astro.url.searchParams.get("ausweistyp") as Enums.AusweisTyp || Enums.AusweisTyp.Standard;
|
|
||||||
const partner_code = Astro.params.partner as string;
|
|
||||||
|
|
||||||
let ausweis: VerbrauchsausweisWohnen = {} as VerbrauchsausweisWohnen;
|
|
||||||
let aufnahme: Aufnahme = {} as Aufnahme;
|
|
||||||
let objekt: Objekt = {} as Objekt;
|
|
||||||
let bilder: Bild[] = []
|
|
||||||
|
|
||||||
const user = await getCurrentUser(Astro)
|
|
||||||
|
|
||||||
if (id) {
|
|
||||||
if (!user) {
|
|
||||||
return Astro.redirect(
|
|
||||||
`/auth/login?redirect=${Astro.url.toString()}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
ausweis = await getVerbrauchsausweisWohnen(id) as VerbrauchsausweisWohnen
|
|
||||||
ausweistyp = ausweis.ausweistyp;
|
|
||||||
|
|
||||||
if (!ausweis || (ausweis.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) {
|
|
||||||
// Der Ausweis scheint nicht zu existieren.
|
|
||||||
// Wir leiten auf die generische Ausweisseite ohne ID weiter.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
aufnahme = await getAufnahme(ausweis.aufnahme_id) as Aufnahme
|
|
||||||
|
|
||||||
if (!aufnahme) {
|
|
||||||
// Die Aufnahme existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
objekt = await getObjekt(aufnahme.objekt_id) as Objekt
|
|
||||||
|
|
||||||
if (!objekt) {
|
|
||||||
// Das Objekt existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
bilder = await getBilder(aufnahme.id);
|
|
||||||
} else if (aufnahme_id) {
|
|
||||||
if (!user) {
|
|
||||||
return Astro.redirect(
|
|
||||||
`/auth/login?redirect=${Astro.url.toString()}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
aufnahme = await getAufnahme(ausweis.aufnahme_id) as Aufnahme
|
|
||||||
|
|
||||||
if (!aufnahme) {
|
|
||||||
// Die Aufnahme existiert wohl nicht.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
objekt = await getObjekt(aufnahme.objekt_id) as Objekt
|
|
||||||
|
|
||||||
if (!objekt) {
|
|
||||||
// Das Objekt existiert nicht.
|
|
||||||
return Astro.redirect(
|
|
||||||
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<AusweisLayout title="Verbrauchsausweis erstellen" tabHover1="glow">
|
|
||||||
<VerbrauchsausweisWohnenModule client:only {ausweis} {objekt} {aufnahme} {bilder} {id} {ausweistyp} {user} {partner_code} loadFromDatabase={id !== null} />
|
|
||||||
</AusweisLayout>
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
|
|
||||||
import ProduktUebersichtVerbrauchsausweisWohnen from "#components/design/content/ProduktUebersichtVerbrauchsausweisWohnen.svelte";
|
|
||||||
---
|
|
||||||
|
|
||||||
<AusweisLayout title="Verbrauchsausweis Wohngebäude Produktübersicht">
|
|
||||||
|
|
||||||
<div class="mx-auto my-8" style="width:85%">
|
|
||||||
<ProduktUebersichtVerbrauchsausweisWohnen ref="/immowelt">
|
|
||||||
</ProduktUebersichtVerbrauchsausweisWohnen>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</AusweisLayout>
|
|
||||||
@@ -87,15 +87,27 @@ if (typ === AusstellungsTyp.Neuausstellung) {
|
|||||||
!ausweis ||
|
!ausweis ||
|
||||||
!aufnahme ||
|
!aufnahme ||
|
||||||
!objekt ||
|
!objekt ||
|
||||||
ausweis.benutzer_id !== user.id ||
|
((ausweis.benutzer_id !== user.id ||
|
||||||
aufnahme.benutzer_id !== user.id ||
|
aufnahme.benutzer_id !== user.id ||
|
||||||
objekt.benutzer_id !== user.id
|
objekt.benutzer_id !== user.id) && user.rolle !== Enums.BenutzerRolle.ADMIN)
|
||||||
) {
|
) {
|
||||||
return Astro.redirect("/405");
|
return Astro.redirect("/405");
|
||||||
}
|
}
|
||||||
|
|
||||||
ausweis.id = null;
|
ausweis.id = null;
|
||||||
aufnahme.id = null;
|
aufnahme.id = null;
|
||||||
|
aufnahme.erstellungsdatum = null
|
||||||
|
ausweis.created_at = new Date()
|
||||||
|
ausweis.updated_at = new Date();
|
||||||
|
ausweis.alte_ausweis_id = null;
|
||||||
|
ausweis.ausgestellt = false;
|
||||||
|
ausweis.bestellt = false;
|
||||||
|
ausweis.kontrolldatei_angefragt = false;
|
||||||
|
ausweis.energieeffizienzklasse = null;
|
||||||
|
ausweis.ausstellungsdatum = null;
|
||||||
|
ausweis.ausweistyp = Enums.AusweisTyp.Standard;
|
||||||
|
ausweis.zurueckgestellt = false;
|
||||||
|
ausweis.storniert = false;
|
||||||
// Die Daten sollen nicht aus dem localStorage genommen werden sonst kann es vorkommen, dass die ID noch besteht und der Vorgang nicht neu angelegt wird.
|
// Die Daten sollen nicht aus dem localStorage genommen werden sonst kann es vorkommen, dass die ID noch besteht und der Vorgang nicht neu angelegt wird.
|
||||||
loadFromDatabase = true;
|
loadFromDatabase = true;
|
||||||
} else if (typ === AusstellungsTyp.Speichern) {
|
} else if (typ === AusstellungsTyp.Speichern) {
|
||||||
@@ -125,9 +137,9 @@ if (typ === AusstellungsTyp.Neuausstellung) {
|
|||||||
!ausweis ||
|
!ausweis ||
|
||||||
!aufnahme ||
|
!aufnahme ||
|
||||||
!objekt ||
|
!objekt ||
|
||||||
ausweis.benutzer_id !== user.id ||
|
((ausweis.benutzer_id !== user.id ||
|
||||||
aufnahme.benutzer_id !== user.id ||
|
aufnahme.benutzer_id !== user.id ||
|
||||||
objekt.benutzer_id !== user.id
|
objekt.benutzer_id !== user.id) && user.rolle !== Enums.BenutzerRolle.ADMIN)
|
||||||
) {
|
) {
|
||||||
return Astro.redirect("/405");
|
return Astro.redirect("/405");
|
||||||
}
|
}
|
||||||
@@ -167,14 +179,26 @@ if (typ === AusstellungsTyp.Neuausstellung) {
|
|||||||
!ausweis ||
|
!ausweis ||
|
||||||
!aufnahme ||
|
!aufnahme ||
|
||||||
!objekt ||
|
!objekt ||
|
||||||
ausweis.benutzer_id !== user.id ||
|
((ausweis.benutzer_id !== user.id ||
|
||||||
aufnahme.benutzer_id !== user.id ||
|
aufnahme.benutzer_id !== user.id ||
|
||||||
objekt.benutzer_id !== user.id
|
objekt.benutzer_id !== user.id) && user.rolle !== Enums.BenutzerRolle.ADMIN)
|
||||||
) {
|
) {
|
||||||
return Astro.redirect("/405");
|
return Astro.redirect("/405");
|
||||||
}
|
}
|
||||||
|
|
||||||
ausweis.id = null;
|
ausweis.id = null;
|
||||||
|
aufnahme.erstellungsdatum = null
|
||||||
|
ausweis.created_at = new Date()
|
||||||
|
ausweis.updated_at = new Date();
|
||||||
|
ausweis.alte_ausweis_id = null;
|
||||||
|
ausweis.ausgestellt = false;
|
||||||
|
ausweis.bestellt = false;
|
||||||
|
ausweis.kontrolldatei_angefragt = false;
|
||||||
|
ausweis.energieeffizienzklasse = null;
|
||||||
|
ausweis.ausstellungsdatum = null;
|
||||||
|
ausweis.ausweistyp = Enums.AusweisTyp.Standard;
|
||||||
|
ausweis.zurueckgestellt = false;
|
||||||
|
ausweis.storniert = false;
|
||||||
// Die Daten sollen nicht aus dem localStorage genommen werden sonst kann es vorkommen, dass die ID noch besteht und der Vorgang nicht neu angelegt wird.
|
// Die Daten sollen nicht aus dem localStorage genommen werden sonst kann es vorkommen, dass die ID noch besteht und der Vorgang nicht neu angelegt wird.
|
||||||
loadFromDatabase = true;
|
loadFromDatabase = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user