47
prisma/migrations/20250312191621_gng/migration.sql
Normal file
47
prisma/migrations/20250312191621_gng/migration.sql
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Anteilshaber" ALTER COLUMN "uid" SET DEFAULT 'ant-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Aufnahme" ALTER COLUMN "uid" SET DEFAULT 'auf-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "BedarfsausweisGewerbe" ALTER COLUMN "uid" SET DEFAULT 'bag-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "BedarfsausweisWohnen" ALTER COLUMN "uid" SET DEFAULT 'baw-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Bild" ALTER COLUMN "uid" SET DEFAULT 'img-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Event" ALTER COLUMN "uid" SET DEFAULT 'evt-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "GEGEinpreisung" ALTER COLUMN "uid" SET DEFAULT 'gge-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "GEGNachweisGewerbe" ALTER COLUMN "uid" SET DEFAULT 'gng-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "GEGNachweisWohnen" ALTER COLUMN "uid" SET DEFAULT 'gnw-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Objekt" ALTER COLUMN "uid" SET DEFAULT 'obj-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Rechnung" ALTER COLUMN "uid" SET DEFAULT 'inv-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Tickets" ALTER COLUMN "uid" SET DEFAULT 'tkt-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Unterlage" ALTER COLUMN "uid" SET DEFAULT 'pln-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "VerbrauchsausweisGewerbe" ALTER COLUMN "uid" SET DEFAULT 'vag-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "VerbrauchsausweisWohnen" ALTER COLUMN "uid" SET DEFAULT 'vaw-' || gen_random_uuid();
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "benutzer" ALTER COLUMN "uid" SET DEFAULT 'usr-' || gen_random_uuid();
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
model GEGNachweisGewerbe {
|
model GEGNachweisGewerbe {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
uid String @unique @default(dbgenerated("'gnw-' || gen_random_uuid()"))
|
uid String @unique @default(dbgenerated("'gng-' || gen_random_uuid()"))
|
||||||
|
|
||||||
/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
|
/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
|
||||||
ausstellgrund Ausstellgrund?
|
ausstellgrund Ausstellgrund?
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ export const createCaller = createCallerFactory({
|
|||||||
"klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"),
|
"klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"),
|
||||||
"postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"),
|
"postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"),
|
||||||
"unterlage": await import("../src/pages/api/unterlage.ts"),
|
"unterlage": await import("../src/pages/api/unterlage.ts"),
|
||||||
|
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
|
||||||
"admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"),
|
"admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"),
|
||||||
"admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"),
|
"admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"),
|
||||||
"admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"),
|
"admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"),
|
||||||
@@ -12,13 +13,13 @@ export const createCaller = createCallerFactory({
|
|||||||
"admin/post-ausstellen": await import("../src/pages/api/admin/post-ausstellen.ts"),
|
"admin/post-ausstellen": await import("../src/pages/api/admin/post-ausstellen.ts"),
|
||||||
"admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"),
|
"admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"),
|
||||||
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
||||||
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
|
|
||||||
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
|
|
||||||
"auth/access-token": await import("../src/pages/api/auth/access-token.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/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
|
||||||
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
|
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
|
||||||
|
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
|
||||||
"bedarfsausweis-wohnen/[uid]": await import("../src/pages/api/bedarfsausweis-wohnen/[uid].ts"),
|
"bedarfsausweis-wohnen/[uid]": await import("../src/pages/api/bedarfsausweis-wohnen/[uid].ts"),
|
||||||
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
|
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
|
||||||
|
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
|
||||||
"bilder/[uid]": await import("../src/pages/api/bilder/[uid].ts"),
|
"bilder/[uid]": await import("../src/pages/api/bilder/[uid].ts"),
|
||||||
"geg-nachweis-gewerbe/[uid]": await import("../src/pages/api/geg-nachweis-gewerbe/[uid].ts"),
|
"geg-nachweis-gewerbe/[uid]": await import("../src/pages/api/geg-nachweis-gewerbe/[uid].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"),
|
||||||
@@ -31,10 +32,10 @@ export const createCaller = createCallerFactory({
|
|||||||
"ticket": await import("../src/pages/api/ticket/index.ts"),
|
"ticket": await import("../src/pages/api/ticket/index.ts"),
|
||||||
"user": await import("../src/pages/api/user/index.ts"),
|
"user": await import("../src/pages/api/user/index.ts"),
|
||||||
"user/self": await import("../src/pages/api/user/self.ts"),
|
"user/self": await import("../src/pages/api/user/self.ts"),
|
||||||
"verbrauchsausweis-gewerbe/[uid]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[uid].ts"),
|
|
||||||
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
|
|
||||||
"verbrauchsausweis-wohnen/[uid]": await import("../src/pages/api/verbrauchsausweis-wohnen/[uid].ts"),
|
"verbrauchsausweis-wohnen/[uid]": await import("../src/pages/api/verbrauchsausweis-wohnen/[uid].ts"),
|
||||||
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
|
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
|
||||||
|
"verbrauchsausweis-gewerbe/[uid]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[uid].ts"),
|
||||||
|
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
|
||||||
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
|
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
|
||||||
"aufnahme/[uid]/bilder": await import("../src/pages/api/aufnahme/[uid]/bilder.ts"),
|
"aufnahme/[uid]/bilder": await import("../src/pages/api/aufnahme/[uid]/bilder.ts"),
|
||||||
"aufnahme/[uid]": await import("../src/pages/api/aufnahme/[uid]/index.ts"),
|
"aufnahme/[uid]": await import("../src/pages/api/aufnahme/[uid]/index.ts"),
|
||||||
|
|||||||
@@ -16,7 +16,11 @@ export async function nachweisSpeichern(
|
|||||||
) {
|
) {
|
||||||
if (objekt.uid) {
|
if (objekt.uid) {
|
||||||
await api.objekt._uid.PATCH.fetch({
|
await api.objekt._uid.PATCH.fetch({
|
||||||
...exclude(objekt, ["uid"])
|
adresse: objekt.adresse,
|
||||||
|
latitude: 0,
|
||||||
|
longitude: 0,
|
||||||
|
ort: objekt.ort,
|
||||||
|
plz: objekt.plz
|
||||||
}, {
|
}, {
|
||||||
params: {
|
params: {
|
||||||
uid: objekt.uid
|
uid: objekt.uid
|
||||||
@@ -27,7 +31,11 @@ export async function nachweisSpeichern(
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
const { uid } = await api.objekt.PUT.fetch({
|
const { uid } = await api.objekt.PUT.fetch({
|
||||||
...exclude(objekt, ["uid"])
|
adresse: objekt.adresse,
|
||||||
|
latitude: 0,
|
||||||
|
longitude: 0,
|
||||||
|
ort: objekt.ort,
|
||||||
|
plz: objekt.plz
|
||||||
}, {
|
}, {
|
||||||
headers: {
|
headers: {
|
||||||
"Authorization": `Bearer ${Cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)}`
|
"Authorization": `Bearer ${Cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)}`
|
||||||
@@ -41,10 +49,58 @@ export async function nachweisSpeichern(
|
|||||||
|
|
||||||
if (aufnahme.uid) {
|
if (aufnahme.uid) {
|
||||||
await api.aufnahme._uid.PATCH.fetch({
|
await api.aufnahme._uid.PATCH.fetch({
|
||||||
...exclude(aufnahme, ["uid"]),
|
|
||||||
baujahr_gebaeude: aufnahme.baujahr_gebaeude || [],
|
baujahr_gebaeude: aufnahme.baujahr_gebaeude || [],
|
||||||
baujahr_klima: aufnahme.baujahr_klima || [],
|
|
||||||
baujahr_heizung: aufnahme.baujahr_heizung || [],
|
baujahr_heizung: aufnahme.baujahr_heizung || [],
|
||||||
|
baujahr_klima: aufnahme.baujahr_klima || [],
|
||||||
|
alternative_heizung: aufnahme.alternative_heizung,
|
||||||
|
alternative_kuehlung: aufnahme.alternative_kuehlung,
|
||||||
|
alternative_lueftung: aufnahme.alternative_lueftung,
|
||||||
|
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
||||||
|
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
||||||
|
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
||||||
|
ausweisart: aufnahme.ausweisart,
|
||||||
|
brennstoff_1: aufnahme.brennstoff_1,
|
||||||
|
brennstoff_2: aufnahme.brennstoff_2,
|
||||||
|
brennwert_kessel: aufnahme.brennwert_kessel,
|
||||||
|
dachgeschoss: aufnahme.dachgeschoss,
|
||||||
|
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
||||||
|
dachgeschoss_min_12cm_gedaemmt: aufnahme.dachgeschoss_min_12cm_gedaemmt,
|
||||||
|
doppel_verglasung: aufnahme.doppel_verglasung,
|
||||||
|
dreifach_verglasung: aufnahme.dreifach_verglasung,
|
||||||
|
durchlauf_erhitzer: aufnahme.durchlauf_erhitzer,
|
||||||
|
einfach_verglasung: aufnahme.einfach_verglasung,
|
||||||
|
einheiten: aufnahme.einheiten,
|
||||||
|
einzelofen: aufnahme.einzelofen,
|
||||||
|
energieeffizienzklasse: aufnahme.energieeffizienzklasse,
|
||||||
|
fenster_dicht: aufnahme.fenster_dicht,
|
||||||
|
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
||||||
|
flaeche: aufnahme.flaeche,
|
||||||
|
gebaeudeteil: aufnahme.gebaeudeteil,
|
||||||
|
gebaeudetyp: aufnahme.gebaeudetyp,
|
||||||
|
heizungsrohre_gedaemmt: aufnahme.heizungsrohre_gedaemmt,
|
||||||
|
isolier_verglasung: aufnahme.isolier_verglasung,
|
||||||
|
keller: aufnahme.keller,
|
||||||
|
keller_decke_gedaemmt: aufnahme.keller_decke_gedaemmt,
|
||||||
|
keller_wand_gedaemmt: aufnahme.keller_wand_gedaemmt,
|
||||||
|
kuehlung: aufnahme.kuehlung,
|
||||||
|
leerstand: aufnahme.leerstand,
|
||||||
|
lueftung: aufnahme.lueftung,
|
||||||
|
niedertemperatur_kessel: aufnahme.niedertemperatur_kessel,
|
||||||
|
nutzflaeche: aufnahme.nutzflaeche,
|
||||||
|
oberste_geschossdecke_gedaemmt: aufnahme.oberste_geschossdecke_gedaemmt,
|
||||||
|
oberste_geschossdecke_min_12cm_gedaemmt: aufnahme.oberste_geschossdecke_min_12cm_gedaemmt,
|
||||||
|
photovoltaik: aufnahme.photovoltaik,
|
||||||
|
raum_temperatur_regler: aufnahme.raum_temperatur_regler,
|
||||||
|
rolllaeden_kaesten_gedaemmt: aufnahme.rolllaeden_kaesten_gedaemmt,
|
||||||
|
saniert: aufnahme.saniert,
|
||||||
|
solarsystem_warmwasser: aufnahme.solarsystem_warmwasser,
|
||||||
|
standard_kessel: aufnahme.standard_kessel,
|
||||||
|
tueren_dicht: aufnahme.tueren_dicht,
|
||||||
|
tueren_undicht: aufnahme.tueren_undicht,
|
||||||
|
waermepumpe: aufnahme.waermepumpe,
|
||||||
|
warmwasser_rohre_gedaemmt: aufnahme.warmwasser_rohre_gedaemmt,
|
||||||
|
zentralheizung: aufnahme.zentralheizung,
|
||||||
|
zirkulation: aufnahme.zirkulation
|
||||||
}, {
|
}, {
|
||||||
params: {
|
params: {
|
||||||
uid: aufnahme.uid
|
uid: aufnahme.uid
|
||||||
@@ -55,7 +111,61 @@ export async function nachweisSpeichern(
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
const { uid } = await api.aufnahme.PUT.fetch({
|
const { uid } = await api.aufnahme.PUT.fetch({
|
||||||
aufnahme,
|
aufnahme: {
|
||||||
|
baujahr_gebaeude: aufnahme.baujahr_gebaeude,
|
||||||
|
baujahr_heizung: aufnahme.baujahr_heizung,
|
||||||
|
alternative_heizung: aufnahme.alternative_heizung,
|
||||||
|
alternative_kuehlung: aufnahme.alternative_kuehlung,
|
||||||
|
alternative_lueftung: aufnahme.alternative_lueftung,
|
||||||
|
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
||||||
|
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
||||||
|
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
||||||
|
ausweisart: aufnahme.ausweisart,
|
||||||
|
baujahr_klima: aufnahme.baujahr_klima,
|
||||||
|
brennstoff_1: aufnahme.brennstoff_1,
|
||||||
|
brennstoff_2: aufnahme.brennstoff_2,
|
||||||
|
brennwert_kessel: aufnahme.brennwert_kessel,
|
||||||
|
dachgeschoss: aufnahme.dachgeschoss,
|
||||||
|
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
||||||
|
dachgeschoss_min_12cm_gedaemmt: aufnahme.dachgeschoss_min_12cm_gedaemmt,
|
||||||
|
doppel_verglasung: aufnahme.doppel_verglasung,
|
||||||
|
dreifach_verglasung: aufnahme.dreifach_verglasung,
|
||||||
|
durchlauf_erhitzer: aufnahme.durchlauf_erhitzer,
|
||||||
|
einfach_verglasung: aufnahme.einfach_verglasung,
|
||||||
|
einheiten: aufnahme.einheiten,
|
||||||
|
einzelofen: aufnahme.einzelofen,
|
||||||
|
energieeffizienzklasse: aufnahme.energieeffizienzklasse,
|
||||||
|
erstellungsdatum: aufnahme.erstellungsdatum,
|
||||||
|
fenster_dicht: aufnahme.fenster_dicht,
|
||||||
|
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
||||||
|
flaeche: aufnahme.flaeche,
|
||||||
|
gebaeudeteil: aufnahme.gebaeudeteil,
|
||||||
|
gebaeudetyp: aufnahme.gebaeudetyp,
|
||||||
|
heizungsrohre_gedaemmt: aufnahme.heizungsrohre_gedaemmt,
|
||||||
|
isolier_verglasung: aufnahme.isolier_verglasung,
|
||||||
|
keller: aufnahme.keller,
|
||||||
|
keller_decke_gedaemmt: aufnahme.keller_decke_gedaemmt,
|
||||||
|
keller_wand_gedaemmt: aufnahme.keller_wand_gedaemmt,
|
||||||
|
kuehlung: aufnahme.kuehlung,
|
||||||
|
leerstand: aufnahme.leerstand,
|
||||||
|
lueftung: aufnahme.lueftung,
|
||||||
|
niedertemperatur_kessel: aufnahme.niedertemperatur_kessel,
|
||||||
|
nutzflaeche: aufnahme.nutzflaeche,
|
||||||
|
oberste_geschossdecke_gedaemmt: aufnahme.oberste_geschossdecke_gedaemmt,
|
||||||
|
oberste_geschossdecke_min_12cm_gedaemmt: aufnahme.oberste_geschossdecke_min_12cm_gedaemmt,
|
||||||
|
photovoltaik: aufnahme.photovoltaik,
|
||||||
|
raum_temperatur_regler: aufnahme.raum_temperatur_regler,
|
||||||
|
rolllaeden_kaesten_gedaemmt: aufnahme.rolllaeden_kaesten_gedaemmt,
|
||||||
|
saniert: aufnahme.saniert,
|
||||||
|
solarsystem_warmwasser: aufnahme.solarsystem_warmwasser,
|
||||||
|
standard_kessel: aufnahme.standard_kessel,
|
||||||
|
tueren_dicht: aufnahme.tueren_dicht,
|
||||||
|
tueren_undicht: aufnahme.tueren_undicht,
|
||||||
|
waermepumpe: aufnahme.waermepumpe,
|
||||||
|
warmwasser_rohre_gedaemmt: aufnahme.warmwasser_rohre_gedaemmt,
|
||||||
|
zentralheizung: aufnahme.zentralheizung,
|
||||||
|
zirkulation: aufnahme.zirkulation
|
||||||
|
},
|
||||||
uid_objekt: objekt.uid
|
uid_objekt: objekt.uid
|
||||||
}, {
|
}, {
|
||||||
headers: {
|
headers: {
|
||||||
@@ -114,25 +224,4 @@ export async function nachweisSpeichern(
|
|||||||
uid_aufnahme: aufnahme.uid,
|
uid_aufnahme: aufnahme.uid,
|
||||||
uid_objekt: objekt.uid
|
uid_objekt: objekt.uid
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// await client.v1.tickets.erstellen.mutate({
|
|
||||||
// titel: "Ausweis konnte nicht gespeichert werden",
|
|
||||||
// beschreibung: e.stack,
|
|
||||||
// email: user.email ?? "",
|
|
||||||
// metadata: JSON.stringify({
|
|
||||||
// ausweis,
|
|
||||||
// }),
|
|
||||||
// });
|
|
||||||
|
|
||||||
// addNotification({
|
|
||||||
// dismissable: false,
|
|
||||||
// message:
|
|
||||||
// "Ausweis konnte nicht gespeichert werden, bitte versuchen sie es erneut.",
|
|
||||||
// subtext:
|
|
||||||
// "Sollte das Problem weiterhin bestehen, kontaktieren sie bitte den Support.",
|
|
||||||
// timeout: 6000,
|
|
||||||
// type: "error",
|
|
||||||
// });
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
export let aufnahme: AufnahmeClient;
|
export let aufnahme: AufnahmeClient;
|
||||||
|
|
||||||
export let ausweisart: Enums.Ausweisart;
|
export let ausweisart: Enums.Ausweisart;
|
||||||
|
|
||||||
|
export let ausstellgrund: string[] = Object.values(Enums.Ausstellgrund);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="ausweisart" class="bereich-box grid
|
<div id="ausweisart" class="bereich-box grid
|
||||||
@@ -47,8 +49,8 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
data-cy="ausstellgrund"
|
data-cy="ausstellgrund"
|
||||||
>
|
>
|
||||||
<option disabled selected value={null}>Bitte auswählen</option>
|
<option disabled selected value={null}>Bitte auswählen</option>
|
||||||
{#each Object.entries(Enums.Ausstellgrund) as [name, ausstellgrund]}
|
{#each ausstellgrund as name}
|
||||||
<option value={ausstellgrund}>{name}</option>
|
<option value={name}>{name}</option>
|
||||||
{/each}
|
{/each}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
loginOverlayHidden = true
|
loginOverlayHidden = true
|
||||||
|
|
||||||
let result: Awaited<ReturnType<typeof ausweisSpeichern>> | null = null;
|
let result: Awaited<ReturnType<typeof ausweisSpeichern>> | Awaited<ReturnType<typeof nachweisSpeichern>> | null = null;
|
||||||
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen || ausweisart === Enums.Ausweisart.GEGNachweisGewerbe || ausweisart === Enums.Ausweisart.GEGNachweisBedarfsausweis) {
|
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen || ausweisart === Enums.Ausweisart.GEGNachweisGewerbe || ausweisart === Enums.Ausweisart.GEGNachweisBedarfsausweis) {
|
||||||
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -97,49 +97,63 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
>
|
>
|
||||||
<!-- primäre Heizquellen -->
|
<!-- primäre Heizquellen -->
|
||||||
|
|
||||||
<div class="input-standard order-1 md:order-1 xl:order-1">
|
<!-- primäre Heizquellen -->
|
||||||
<Inputlabel title="Heizquellen"></Inputlabel>
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-x-4 order-1 md:order-1 xl:order-1">
|
||||||
|
<div class="input-standard">
|
||||||
|
<Inputlabel title="Heizquellen"></Inputlabel>
|
||||||
|
|
||||||
<div class="input-checkboxen">
|
<div class="input-checkboxen">
|
||||||
<div
|
<div
|
||||||
class="grid grid-cols-[40px_max-content] items-center justify-items-start"
|
class="grid grid-cols-[25px_max-content] items-center justify-items-start"
|
||||||
>
|
>
|
||||||
<input
|
|
||||||
id="primaere_heizquelle"
|
|
||||||
type="checkbox"
|
|
||||||
class="checkbox"
|
|
||||||
name="primaere_heizquelle"
|
|
||||||
checked={true}
|
|
||||||
/>
|
|
||||||
<label for="primaere_heizquelle">primäre Heizquelle</label>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
|
||||||
class="grid grid-cols-[40px_max-content] items-center justify-items-start"
|
|
||||||
>
|
|
||||||
{#if !ausweis.zusaetzliche_heizquelle}
|
|
||||||
<input
|
<input
|
||||||
id="zusaetzliche_heizquelle"
|
id="primaere_heizquelle"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
class="checkbox"
|
class="checkbox"
|
||||||
name="zusaetzliche_heizquelle"
|
name="primaere_heizquelle"
|
||||||
data-cy="zusaetzliche_heizquelle"
|
checked={true}
|
||||||
bind:checked={ausweis.zusaetzliche_heizquelle}
|
|
||||||
/>
|
/>
|
||||||
<label
|
<label for="primaere_heizquelle">Heizquelle</label>
|
||||||
for="zusaetzliche_heizquelle"
|
</div>
|
||||||
class="cursor-pointer">zusätzliche Heizquelle</label
|
|
||||||
>
|
</div>
|
||||||
{/if}
|
|
||||||
|
<div class="help-label">
|
||||||
|
<HelpLabel>Sie haben die Möglichkeit neben der Hauptheizung die <b>Verbräuche weiterer Heizquellen</b>
|
||||||
|
(z.B. Einzelöfen, Kamin, Nachtspeicher, Wärmepumpe, zweiter Heizkessel etc.) einzugeben.
|
||||||
|
Dazu setzen Sie den Haken bei zusätzlicher Heizquelle. Eine weiterer Bereich zur Eingabe der
|
||||||
|
Verbräuche öffnet sich dann.</HelpLabel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{#if !ausweis.zusaetzliche_heizquelle}
|
||||||
<div class="help-label">
|
<div class="input-standard">
|
||||||
<HelpLabel>Sie haben die Möglichkeit neben der Hauptheizung die <b>Verbräuche weiterer Heizquellen</b>
|
|
||||||
(z.B. Einzelöfen, Kamin, Nachtspeicher, Wärmepumpe, zweiter Heizkessel etc.) einzugeben.
|
<div class="input-checkboxen">
|
||||||
Dazu setzen Sie den Haken bei zusätzlicher Heizquelle. Eine weiterer Bereich zur Eingabe der
|
<div
|
||||||
Verbräuche öffnet sich dann.</HelpLabel>
|
class="grid grid-cols-[25px_max-content] items-center justify-items-start"
|
||||||
|
>
|
||||||
|
|
||||||
|
<input
|
||||||
|
id="zusaetzliche_heizquelle_1"
|
||||||
|
type="checkbox"
|
||||||
|
class="checkbox"
|
||||||
|
name="zusaetzliche_heizquelle_1"
|
||||||
|
bind:checked={ausweis.zusaetzliche_heizquelle}
|
||||||
|
data-cy="zusaetzliche_heizquelle"
|
||||||
|
/>
|
||||||
|
<label
|
||||||
|
for="zusaetzliche_heizquelle_1"
|
||||||
|
class="cursor-pointer">zusätzl. Heizquelle</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="help-label">
|
||||||
|
<HelpLabel>Bitte geben Sie das <b>Startjahr der ersten Verbrauchsperiode</b> ein. Weitere Zeitangaben müssen nichht
|
||||||
|
gemacht werden, da alle 3 Verbrauchsjahre zusammenhängend sein sollen.</HelpLabel>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Zeitraum 1 -->
|
<!-- Zeitraum 1 -->
|
||||||
@@ -214,7 +228,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
|
|
||||||
<div class="grid grid-cols-2 gap-x-4 order-3 md:order-3 xl:order-3">
|
<div class="grid grid-cols-2 gap-x-4 order-3 md:order-3 xl:order-3">
|
||||||
<div class="input-standard">
|
<div class="input-standard">
|
||||||
<Inputlabel title="primärer Brennstoff *"></Inputlabel>
|
<Inputlabel title="primär. Brennstoff *"></Inputlabel>
|
||||||
|
|
||||||
<select
|
<select
|
||||||
class="rounded-e-none"
|
class="rounded-e-none"
|
||||||
@@ -286,7 +300,10 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<div class="VerbrauchsEinheit">
|
<div class="VerbrauchsEinheit">
|
||||||
{#if ausweis.einheit_1}{ausweis.einheit_1}{/if}
|
{#if ausweis.einheit_1 === "Bitte auswählen"}
|
||||||
|
{:else if ausweis.einheit_1 != "Bitte auswählen"}
|
||||||
|
{ausweis.einheit_1}
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="help-label">
|
<div class="help-label">
|
||||||
@@ -314,7 +331,10 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
<div class="VerbrauchsEinheit">
|
<div class="VerbrauchsEinheit">
|
||||||
{#if ausweis.einheit_1}{ausweis.einheit_1}{/if}
|
{#if ausweis.einheit_1 === "Bitte auswählen"}
|
||||||
|
{:else if ausweis.einheit_1 != "Bitte auswählen"}
|
||||||
|
{ausweis.einheit_1}
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="help-label">
|
<div class="help-label">
|
||||||
@@ -342,7 +362,10 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
<div class="VerbrauchsEinheit">
|
<div class="VerbrauchsEinheit">
|
||||||
{#if ausweis.einheit_1}{ausweis.einheit_1}{/if}
|
{#if ausweis.einheit_1 === "Bitte auswählen"}
|
||||||
|
{:else if ausweis.einheit_1 != "Bitte auswählen"}
|
||||||
|
{ausweis.einheit_1}
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="help-label">
|
<div class="help-label">
|
||||||
@@ -359,13 +382,13 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
|
|
||||||
{#if ausweis.zusaetzliche_heizquelle}
|
{#if ausweis.zusaetzliche_heizquelle}
|
||||||
<div
|
<div
|
||||||
class="col-span-3 order-7 md:order-7 xl:order-7 h-[4px] bg-white mt-[-10px]"
|
class="hidden xl:block col-span-3 order-7 md:order-7 xl:order-7 h-[4px] bg-white mt-[-10px]"
|
||||||
></div>
|
></div>
|
||||||
|
|
||||||
<!-- zusätzliche Heizquelle -->
|
<!-- zusätzliche Heizquelle -->
|
||||||
|
|
||||||
<div class="input-standard order-7 md:order-7 xl:order-7">
|
<div class="input-standard order-10 md:order-10 xl:order-10">
|
||||||
<Inputlabel title="zusätzliche Heizquelle"></Inputlabel>
|
<Inputlabel title="zusätzl. Heizquelle"></Inputlabel>
|
||||||
|
|
||||||
<div class="input-checkboxen">
|
<div class="input-checkboxen">
|
||||||
<div
|
<div
|
||||||
@@ -390,13 +413,13 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="input-standard order-8 md:order-8 xl:order-8"></div>
|
<div class="input-standard order-11 md:order-11 xl:order-11"></div>
|
||||||
|
|
||||||
<!-- zusätzlicher Brennstoff und Einheiten * -->
|
<!-- zusätzlicher Brennstoff und Einheiten * -->
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-x-4 order-9 md:order-9 xl:order-9">
|
<div class="grid grid-cols-2 gap-x-4 order-12 md:order-12 xl:order-12">
|
||||||
<div class="input-standard">
|
<div class="input-standard">
|
||||||
<Inputlabel title="zusätzlicher Brennstoff *"></Inputlabel>
|
<Inputlabel title="zusätzl. Brennstoff *"></Inputlabel>
|
||||||
|
|
||||||
<select
|
<select
|
||||||
class="rounded-e-none"
|
class="rounded-e-none"
|
||||||
@@ -460,7 +483,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
|
|
||||||
<!-- Verbrauch 4 -->
|
<!-- Verbrauch 4 -->
|
||||||
|
|
||||||
<div class="input-standard order-10 md:order-10 xl:order-10">
|
<div class="input-standard order-[13] md:order-[13] xl:order-[13]">
|
||||||
<Verbrauchslabel bind:ausweis addYear={1}></Verbrauchslabel>
|
<Verbrauchslabel bind:ausweis addYear={1}></Verbrauchslabel>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
@@ -487,7 +510,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
|
|
||||||
<!-- Verbrauch 5 -->
|
<!-- Verbrauch 5 -->
|
||||||
|
|
||||||
<div class="input-standard order-11 md:order-11 xl:order-11">
|
<div class="input-standard order-[14] md:order-[14] xl:order-[14]">
|
||||||
<Verbrauchslabel bind:ausweis addYear={2}></Verbrauchslabel>
|
<Verbrauchslabel bind:ausweis addYear={2}></Verbrauchslabel>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
@@ -514,7 +537,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
|
|
||||||
<!-- Verbrauch 6 -->
|
<!-- Verbrauch 6 -->
|
||||||
|
|
||||||
<div class="input-standard order-12 md:order-12 xl:order-12">
|
<div class="input-standard order-[15] md:order-[15] xl:order-[15]">
|
||||||
<Verbrauchslabel bind:ausweis addYear={3}></Verbrauchslabel>
|
<Verbrauchslabel bind:ausweis addYear={3}></Verbrauchslabel>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
@@ -543,12 +566,12 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="col-span-3 order-[13] md:order-[13] xl:order-[13] h-[4px] bg-white mt-[-10px]"
|
class="hidden xl:block col-span-3 order-[16] md:order-[16] xl:order-[16] h-[4px] bg-white mt-[-10px]">
|
||||||
></div>
|
</div>
|
||||||
|
|
||||||
<!-- StromVerbrauch 1 -->
|
<!-- StromVerbrauch 1 -->
|
||||||
|
|
||||||
<div class="input-standard order-[14] md:order-[14] xl:order-[14]">
|
<div class="input-standard order-[19] md:order-[19] xl:order-[19]">
|
||||||
<StromVerbrauchslabel bind:ausweis addYear={1}></StromVerbrauchslabel>
|
<StromVerbrauchslabel bind:ausweis addYear={1}></StromVerbrauchslabel>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
@@ -576,7 +599,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
|
|
||||||
<!-- StromVerbrauch 2 -->
|
<!-- StromVerbrauch 2 -->
|
||||||
|
|
||||||
<div class="input-standard order-[15] md:order-[15] xl:order-[15]">
|
<div class="input-standard order-[20] md:order-[20] xl:order-[20]">
|
||||||
<StromVerbrauchslabel bind:ausweis addYear={2}></StromVerbrauchslabel>
|
<StromVerbrauchslabel bind:ausweis addYear={2}></StromVerbrauchslabel>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
@@ -603,7 +626,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
|
|
||||||
<!-- StromVerbrauch 3 -->
|
<!-- StromVerbrauch 3 -->
|
||||||
|
|
||||||
<div class="input-standard order-[16] md:order-[16] xl:order-[16]">
|
<div class="input-standard order-[21] md:order-[21] xl:order-[21]">
|
||||||
<StromVerbrauchslabel bind:ausweis addYear={3}></StromVerbrauchslabel>
|
<StromVerbrauchslabel bind:ausweis addYear={3}></StromVerbrauchslabel>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
@@ -632,13 +655,13 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="bereich-box mt-6 grid
|
<div class="bereich-box mt-6 grid
|
||||||
grid-cols-1 gap-x-4 gap-y-8
|
grid-cols-1 gap-x-4 gap-y-2
|
||||||
sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8
|
sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8
|
||||||
xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
|
|
||||||
<div class="col-span-3 -mb-12">Enthält Stromverbrauch für:</div>
|
<div class="col-span-1 sm:col-span-2 xl:col-span-3">Enthält Stromverbrauch für:</div>
|
||||||
|
|
||||||
<!-- Enthält Stromverbrauch für: -->
|
<!-- Enthält Stromverbrauch für: -->
|
||||||
|
|
||||||
@@ -648,7 +671,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
<SanierungsOption value="" label="Beleuchtung" name="stromverbrauch_enthaelt_beleuchtung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_beleuchtung}></SanierungsOption>
|
<SanierungsOption value="" label="Beleuchtung" name="stromverbrauch_enthaelt_beleuchtung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_beleuchtung}></SanierungsOption>
|
||||||
<SanierungsOption value="" label="Kühlung" name="stromverbrauch_enthaelt_kuehlung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_kuehlung}></SanierungsOption>
|
<SanierungsOption value="" label="Kühlung" name="stromverbrauch_enthaelt_kuehlung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_kuehlung}></SanierungsOption>
|
||||||
|
|
||||||
<div class="input-standard">
|
<div class="input-standard mt-6 sm:mt-0">
|
||||||
<Inputlabel title="Sonstige"></Inputlabel>
|
<Inputlabel title="Sonstige"></Inputlabel>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
|
|||||||
@@ -389,7 +389,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
|
|
||||||
{#if ausweis.zusaetzliche_heizquelle}
|
{#if ausweis.zusaetzliche_heizquelle}
|
||||||
<div
|
<div
|
||||||
class="hidden sm:block col-span-3 order-7 md:order-7 xl:order-7 h-[4px] bg-white mt-[-10px]"
|
class="hidden xl:block col-span-3 order-7 md:order-7 xl:order-7 h-[4px] bg-white mt-[-10px]"
|
||||||
></div>
|
></div>
|
||||||
|
|
||||||
<!-- zusätzliche Heizquelle -->
|
<!-- zusätzliche Heizquelle -->
|
||||||
@@ -425,13 +425,13 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="hidden sm:block input-standard order-11 md:order-11 xl:order-11"></div>
|
<div class="hidden xl:block input-standard order-11 md:order-11 xl:order-11"></div>
|
||||||
|
|
||||||
<!-- zusätzlicher Brennstoff und Einheiten * -->
|
<!-- zusätzlicher Brennstoff und Einheiten * -->
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-x-4 order-12 md:order-12 xl:order-12">
|
<div class="grid grid-cols-2 gap-x-4 order-12 md:order-12 xl:order-12">
|
||||||
<div class="input-standard">
|
<div class="input-standard">
|
||||||
<Inputlabel title="zusätzlicher Brennstoff *"></Inputlabel>
|
<Inputlabel title="zusätzl. Brennstoff *"></Inputlabel>
|
||||||
|
|
||||||
<select
|
<select
|
||||||
class="rounded-e-none"
|
class="rounded-e-none"
|
||||||
|
|||||||
@@ -284,4 +284,4 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
</HelpLabel>
|
</HelpLabel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -123,7 +123,7 @@ on:keydown={hamburger}>
|
|||||||
on:mouseleave={hoverout}
|
on:mouseleave={hoverout}
|
||||||
>
|
>
|
||||||
{#if innerWidth > 1023}
|
{#if innerWidth > 1023}
|
||||||
<a href={undefined} class="nav-element-child"
|
<a href=/energieausweis-erstellen/ class="nav-element-child"
|
||||||
>Energieausweis erstellen<span class="dd-symbol-clone">❯</span
|
>Energieausweis erstellen<span class="dd-symbol-clone">❯</span
|
||||||
><span class="dd-symbol">❯</span></a
|
><span class="dd-symbol">❯</span></a
|
||||||
>
|
>
|
||||||
@@ -137,7 +137,7 @@ on:keydown={hamburger}>
|
|||||||
<ul class="dropdown-content energieasusweis-erstellen">
|
<ul class="dropdown-content energieasusweis-erstellen">
|
||||||
{#if innerWidth < 1023}
|
{#if innerWidth < 1023}
|
||||||
<li>
|
<li>
|
||||||
<a href="/energieausweis-erstellen"
|
<a href="/energieausweis-erstellen/"
|
||||||
>Energieausweis erstellen</a
|
>Energieausweis erstellen</a
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
@@ -184,11 +184,11 @@ on:keydown={hamburger}>
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<ul class="dropdown-content angebot-anfragen">
|
<ul class="dropdown-content angebot-anfragen">
|
||||||
{#if innerWidth < 1023}
|
<!-- {#if innerWidth < 1023}
|
||||||
<li>
|
<li>
|
||||||
<a href="/energieausweis-erstellen">Angebot anfragen</a>
|
<a href="/energieausweis-erstellen">Angebot anfragen</a>
|
||||||
</li>
|
</li>
|
||||||
{/if}
|
{/if}-->
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
href="/angebot-anfragen/bedarfsausweis-gewerbe-anfragen"
|
href="/angebot-anfragen/bedarfsausweis-gewerbe-anfragen"
|
||||||
@@ -220,14 +220,20 @@ on:keydown={hamburger}>
|
|||||||
on:mouseover={hover}
|
on:mouseover={hover}
|
||||||
on:mouseleave={hoverout}
|
on:mouseleave={hoverout}
|
||||||
>
|
>
|
||||||
|
|
||||||
|
{#if innerWidth > 1023}
|
||||||
<a href="/verbrauchsausweis/" class="nav-element-child"
|
<a href="/verbrauchsausweis/" class="nav-element-child"
|
||||||
>Verbrauchsausweis<span class="dd-symbol-clone">❯</span><span
|
>Verbrauchsausweis<span class="dd-symbol-clone">❯</span>
|
||||||
class="dd-symbol">❯</span
|
<span class="dd-symbol">❯</span></a>
|
||||||
></a
|
{:else}
|
||||||
>
|
<a href={undefined} class="nav-element-child"
|
||||||
|
>Verbrauchsausweis<span class="dd-symbol-clone">❯</span>
|
||||||
|
<span class="dd-symbol">❯</span></a>
|
||||||
|
{/if}
|
||||||
|
|
||||||
<ul class="dropdown-content verbrauchsausweis">
|
<ul class="dropdown-content verbrauchsausweis">
|
||||||
{#if innerWidth < 1023}
|
{#if innerWidth < 1023}
|
||||||
<li><a href="index">Verbrauchsausweis</a></li>
|
<li><a href="/verbrauchsausweis/">Verbrauchsausweis</a></li>
|
||||||
{/if}
|
{/if}
|
||||||
<li><a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht">Produktübersicht Verbrauchsausweis Wohnen</a></li>
|
<li><a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht">Produktübersicht Verbrauchsausweis Wohnen</a></li>
|
||||||
<li><a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/">Verbrauchsausweis online erstellen</a></li>
|
<li><a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/">Verbrauchsausweis online erstellen</a></li>
|
||||||
@@ -244,11 +250,17 @@ on:keydown={hamburger}>
|
|||||||
on:mouseover={hover}
|
on:mouseover={hover}
|
||||||
on:mouseleave={hoverout}
|
on:mouseleave={hoverout}
|
||||||
>
|
>
|
||||||
|
|
||||||
|
{#if innerWidth > 1023}
|
||||||
<a href="/bedarfsausweis/" class="nav-element-child"
|
<a href="/bedarfsausweis/" class="nav-element-child"
|
||||||
>Bedarfsausweis<span class="dd-symbol-clone">❯</span><span
|
>Bedarfsausweis<span class="dd-symbol-clone">❯</span>
|
||||||
class="dd-symbol">❯</span
|
<span class="dd-symbol">❯</span></a>
|
||||||
></a
|
{:else}
|
||||||
>
|
<a href={undefined} class="nav-element-child"
|
||||||
|
>Bedarfsausweis<span class="dd-symbol-clone">❯</span>
|
||||||
|
<span class="dd-symbol">❯</span></a>
|
||||||
|
{/if}
|
||||||
|
|
||||||
<ul class="dropdown-content bedarfsausweis">
|
<ul class="dropdown-content bedarfsausweis">
|
||||||
{#if innerWidth < 1023}
|
{#if innerWidth < 1023}
|
||||||
<li><a href="/bedarfsausweis/">Bedarfsausweis</a></li>
|
<li><a href="/bedarfsausweis/">Bedarfsausweis</a></li>
|
||||||
@@ -285,15 +297,15 @@ on:keydown={hamburger}>
|
|||||||
on:mouseover={hover}
|
on:mouseover={hover}
|
||||||
on:mouseleave={hoverout}
|
on:mouseleave={hoverout}
|
||||||
>
|
>
|
||||||
<a href="/" class="nav-element-child"
|
<a href={undefined} class="nav-element-child"
|
||||||
>Energieausweis<span class="dd-symbol-clone">❯</span><span
|
>Energieausweis<span class="dd-symbol-clone">❯</span><span
|
||||||
class="dd-symbol">❯</span
|
class="dd-symbol">❯</span
|
||||||
></a
|
></a
|
||||||
>
|
>
|
||||||
<ul class="dropdown-content energieausweis">
|
<ul class="dropdown-content energieausweis">
|
||||||
{#if innerWidth < 1023}
|
<!--{#if innerWidth < 1023}
|
||||||
<li><a href="/energieausweis/">Energieausweis</a></li>
|
<li><a href="/energieausweis/">Energieausweis</a></li>
|
||||||
{/if}
|
{/if}-->
|
||||||
<li><a href="/verbrauchsausweis/verbrauchsausweis-wohngebaeude/">Verbrauchsausweis Wohngebäude</a></li>
|
<li><a href="/verbrauchsausweis/verbrauchsausweis-wohngebaeude/">Verbrauchsausweis Wohngebäude</a></li>
|
||||||
<li><a href="/verbrauchsausweis/statistiken-zum-verbrauchsausweis/">Statistiken zum Verbrauchsausweis Wohngebäude</a></li>
|
<li><a href="/verbrauchsausweis/statistiken-zum-verbrauchsausweis/">Statistiken zum Verbrauchsausweis Wohngebäude</a></li>
|
||||||
<li><a href="/verbrauchsausweis/verbrauchsausweis-gewerbe/">Verbrauchsausweis Gewerbe</a></li>
|
<li><a href="/verbrauchsausweis/verbrauchsausweis-gewerbe/">Verbrauchsausweis Gewerbe</a></li>
|
||||||
@@ -322,7 +334,7 @@ on:keydown={hamburger}>
|
|||||||
><span class="dd-symbol">❯</span></a
|
><span class="dd-symbol">❯</span></a
|
||||||
>
|
>
|
||||||
{:else}
|
{:else}
|
||||||
<a href="/bestellprozess-energieausweis" class="nav-element-child"
|
<a href={undefined} class="nav-element-child"
|
||||||
>Bestellprozess Energieausweis<span class="dd-symbol-clone"
|
>Bestellprozess Energieausweis<span class="dd-symbol-clone"
|
||||||
>❯</span
|
>❯</span
|
||||||
><span class="dd-symbol">❯</span></a
|
><span class="dd-symbol">❯</span></a
|
||||||
@@ -364,11 +376,17 @@ on:keydown={hamburger}>
|
|||||||
on:mouseover={hover}
|
on:mouseover={hover}
|
||||||
on:mouseleave={hoverout}
|
on:mouseleave={hoverout}
|
||||||
>
|
>
|
||||||
<a href="/geg/" class="nav-element-child"
|
|
||||||
>Gebäudeenergiegesetz (GEG)<span class="dd-symbol-clone">❯</span><span
|
{#if innerWidth > 1023}
|
||||||
class="dd-symbol">❯</span
|
<a href="/geg/" class="nav-element-child"
|
||||||
></a
|
>Gebäudeenergiegesetz (GEG)<span class="dd-symbol-clone">❯</span>
|
||||||
>
|
<span class="dd-symbol">❯</span></a>
|
||||||
|
{:else}
|
||||||
|
<a href={undefined} class="nav-element-child"
|
||||||
|
>Gebäudeenergiegesetz (GEG)<span class="dd-symbol-clone">❯</span>
|
||||||
|
<span class="dd-symbol">❯</span></a>
|
||||||
|
{/if}
|
||||||
|
|
||||||
<ul class="dropdown-content geg">
|
<ul class="dropdown-content geg">
|
||||||
{#if innerWidth < 1023}
|
{#if innerWidth < 1023}
|
||||||
<li><a href="/geg/">Gebäudeenergiegesetz (GEG)</a></li>
|
<li><a href="/geg/">Gebäudeenergiegesetz (GEG)</a></li>
|
||||||
@@ -386,17 +404,13 @@ on:keydown={hamburger}>
|
|||||||
on:mouseleave={hoverout}
|
on:mouseleave={hoverout}
|
||||||
>
|
>
|
||||||
{#if innerWidth > 1023}
|
{#if innerWidth > 1023}
|
||||||
<a href="/faq/" class="nav-element-child"
|
<a href="/faq/" class="nav-element-child">FAQ
|
||||||
>FAQ<span class="dd-symbol-clone"
|
<span class="dd-symbol-clone">❯</span>
|
||||||
>❯</span
|
<span class="dd-symbol">❯</span></a>
|
||||||
><span class="dd-symbol">❯</span></a
|
|
||||||
>
|
|
||||||
{:else}
|
{:else}
|
||||||
<a href="/faq/" class="nav-element-child"
|
<a href={undefined} class="nav-element-child">FAQ
|
||||||
>FAQ<span class="dd-symbol-clone"
|
<span class="dd-symbol-clone">❯</span>
|
||||||
>❯</span
|
<span class="dd-symbol">❯</span></a>
|
||||||
><span class="dd-symbol">❯</span></a
|
|
||||||
>
|
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<ul class="dropdown-content faq">
|
<ul class="dropdown-content faq">
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<div class="absolute bg-gray-500/5 sm:bg-white sm:bg-gray-500/10 border-x-[1px] border-t-[1px] border-black/25 px-2 top-[-1.275rem] -left-[1px] text-[0.8rem] rounded-t-sm font-sans">{title}</div>
|
<div class="absolute border-x-[1px] border-t-[1px] border-black/25 pl-1 pr-2 top-[-1.275rem] -left-[1px] text-[0.8rem] rounded-t-sm font-sans">{title}</div>
|
||||||
|
|
||||||
|
|
||||||
<style lang="postcss">
|
<style lang="postcss">
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<div class="absolute border-x-[1px] border-t-[1px] border-black/25 px-3 top-[-1.275rem] left-[0rem] text-[0.8rem] rounded-t-sm font-sans">
|
<div class="absolute border-x-[1px] border-t-[1px] border-black/25 pl-1 pr-2 top-[-1.275rem] left-[0rem] text-[0.8rem] rounded-t-sm font-sans">
|
||||||
{#if !ausweis.startdatum}
|
{#if !ausweis.startdatum}
|
||||||
Stromverbrauch von - bis
|
Stromverbrauch von - bis
|
||||||
{:else}
|
{:else}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<div class="absolute border-x-[1px] border-t-[1px] border-black/25 px-3 top-[-1.275rem] left-[0rem] text-[0.8rem] rounded-t-sm font-sans">
|
<div class="absolute border-x-[1px] border-t-[1px] border-black/25 pl-1 pr-2 top-[-1.275rem] left-[0rem] text-[0.8rem] rounded-t-sm font-sans">
|
||||||
{#if !ausweis.startdatum}
|
{#if !ausweis.startdatum}
|
||||||
Verbrauch von - bis
|
Verbrauch von - bis
|
||||||
{:else}
|
{:else}
|
||||||
|
|||||||
134
src/cypress/e2e/GEGNachweisGewerbe/erstellen.cy.ts
Normal file
134
src/cypress/e2e/GEGNachweisGewerbe/erstellen.cy.ts
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
import fuelList from "#components/Ausweis/brennstoffListe.js";
|
||||||
|
import { faker } from "@faker-js/faker";
|
||||||
|
import { Enums } from "#lib/client/prisma.js";
|
||||||
|
|
||||||
|
|
||||||
|
import "cypress-file-upload"
|
||||||
|
import moment from "moment";
|
||||||
|
|
||||||
|
describe("Verbrauchsausweis erstellen Schritt 1", () => {
|
||||||
|
it("erstellt einen neuen Verbrauchsausweis Wohngebäude.", () => {
|
||||||
|
cy.visit("/angebot-anfragen/geg-nachweis-gewerbe-anfragen");
|
||||||
|
|
||||||
|
cy.wait(2000);
|
||||||
|
|
||||||
|
// Wir überprüfen, ob alle Ausstelgründe vorhanden sind, diese sollten genau so viele sein wie in der Datenbank vorhanden sind.
|
||||||
|
cy.get("select[data-cy='ausstellgrund']")
|
||||||
|
.select(
|
||||||
|
faker.number.int({
|
||||||
|
min: 1,
|
||||||
|
max: [Enums.Ausstellgrund.Modernisierung, Enums.Ausstellgrund.Neubau].length - 1,
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
// Gebäudetyp
|
||||||
|
cy.get("select[name='gebaeudetyp']").then(($dropdown) => {
|
||||||
|
const options = $dropdown.find('option');
|
||||||
|
// Select the option at the random index
|
||||||
|
cy.get("select[name='gebaeudetyp']").select(options.eq(faker.number.int({ min: 1, max: options.length - 1 })).val() as string);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Sanierungsstatus
|
||||||
|
cy.get("select[name='saniert']").select(
|
||||||
|
Math.random() > 0.5 ? "true" : "false"
|
||||||
|
);
|
||||||
|
|
||||||
|
// Jetzt Füllen wir das Baujahr vom Gebäude aus.
|
||||||
|
cy.get("input[name='baujahr_gebaeude']")
|
||||||
|
.should("have.attr", "type", "number")
|
||||||
|
.type(
|
||||||
|
faker.number.int({ min: 1900, max: 2021 }).toString() +
|
||||||
|
"{enter}",
|
||||||
|
{ delay: 50 }
|
||||||
|
);
|
||||||
|
|
||||||
|
// Jetzt Füllen wir das Baujahr der Heizung aus.
|
||||||
|
cy.get("input[name='baujahr_heizung']")
|
||||||
|
.should("have.attr", "type", "number")
|
||||||
|
.type(
|
||||||
|
faker.number.int({ min: 1900, max: 2021 }).toString() +
|
||||||
|
"{enter}",
|
||||||
|
{ delay: 50 }
|
||||||
|
);
|
||||||
|
|
||||||
|
// Adresse
|
||||||
|
cy.get("input[name='adresse']").type(faker.location.streetAddress());
|
||||||
|
|
||||||
|
// Postleitzahl
|
||||||
|
cy.get("input[name='plz']").type(
|
||||||
|
faker.location.zipCode({
|
||||||
|
format: "#####",
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
// TODO: Ort - Dieser wird aus der Datenbank abgefragt, wir müssen also warten, bis der Dropdown da ist.
|
||||||
|
cy.get("[data-cy='plz-container']").find("button").first().click()
|
||||||
|
|
||||||
|
// Nutzflaeche
|
||||||
|
cy.get("input[name='nutzflaeche']")
|
||||||
|
.should("have.attr", "type", "number")
|
||||||
|
.type(faker.number.int({ min: 50, max: 1000 }).toString());
|
||||||
|
|
||||||
|
// Keller
|
||||||
|
cy.get("select[name='keller']").find("option:not([disabled])").should("have.length", (["BEHEIZT", "NICHT_VORHANDEN", "UNBEHEIZT"] as Enums.Heizungsstatus[]).length).parent().select(faker.number.int({
|
||||||
|
max: Object.values(Enums.Heizungsstatus).length,
|
||||||
|
min: 1
|
||||||
|
}));
|
||||||
|
|
||||||
|
// Dachgeschoss
|
||||||
|
cy.get("select[name='dachgeschoss']").find("option:not([disabled])").should("have.length", (["BEHEIZT", "NICHT_VORHANDEN", "UNBEHEIZT"] as Enums.Heizungsstatus[]).length).parent().select(faker.number.int({
|
||||||
|
max: Object.values(Enums.Heizungsstatus).length,
|
||||||
|
min: 1
|
||||||
|
}));
|
||||||
|
|
||||||
|
cy.get("[data-cy='beschreibung']").type(faker.lorem.paragraphs({ min: 2, max: 10 }))
|
||||||
|
|
||||||
|
// Wärmedämmung Bilder
|
||||||
|
cy.get("input[type='file'][name='plaene']").should("have.attr", "type", "file").attachFile("images/daemmung/1.jpeg", { subjectType: "input" }).attachFile("images/daemmung/2.jpeg", { subjectType: "input" });
|
||||||
|
cy.get("input[type='file'][name='unterlagen']").should("have.attr", "type", "file").attachFile("images/gebaeude/1.jpeg", { subjectType: "input" }).attachFile("images/daemmung/2.jpeg", { subjectType: "input" });
|
||||||
|
|
||||||
|
// Jetzt können wir den Verbrauchsausweis erstellen.
|
||||||
|
cy.get("form[data-cy='nachweis'] button[data-cy='weiter']").click({ force: true });
|
||||||
|
|
||||||
|
cy.url().should("contain", "/kundendaten");
|
||||||
|
|
||||||
|
const email = faker.internet.email();
|
||||||
|
const passwort = "test1234";
|
||||||
|
const vorname = faker.person.firstName();
|
||||||
|
const nachname = faker.person.lastName();
|
||||||
|
const telefon = faker.phone.number()
|
||||||
|
|
||||||
|
const strasse = faker.location.streetAddress({ useFullAddress: true })
|
||||||
|
const plz = faker.location.zipCode("#####")
|
||||||
|
|
||||||
|
cy.get("input[name='vorname']").should("have.attr", "type", "text").type(vorname);
|
||||||
|
cy.get("input[name='name']").should("have.attr", "type", "text").type(nachname);
|
||||||
|
cy.get("input[name='telefon']").should("have.attr", "type", "text").type(telefon);
|
||||||
|
// Rechnung
|
||||||
|
cy.get("input[name='rechnung_empfaenger']").should("have.attr", "type", "text").type(`${vorname} ${nachname}`);
|
||||||
|
cy.get("input[name='rechnung_strasse']").should("have.attr", "type", "text").type(strasse);
|
||||||
|
cy.get("input[name='rechnung_plz']").should("have.attr", "type", "text").type(plz);
|
||||||
|
cy.get("[data-cy='plz-container']").children().first().click()
|
||||||
|
cy.get("input[name='rechnung_email']").should("have.attr", "type", "email").type(email);
|
||||||
|
|
||||||
|
cy.get("button[data-cy='bestellen']").click();
|
||||||
|
|
||||||
|
cy.get("a[data-cy='registrieren']").should("be.visible").click();
|
||||||
|
|
||||||
|
// Wir sind jetzt registriert und können uns nun einloggen.
|
||||||
|
// Die Email sollte automatisch eingetragen sein, da wir uns gerade registriert haben.
|
||||||
|
cy.get("form[name='signup'] input[name='vorname']").should("be.visible").should("have.attr", "type", "text").type(vorname);
|
||||||
|
cy.get("form[name='signup'] input[name='nachname']").should("be.visible").should("have.attr", "type", "text").type(nachname);
|
||||||
|
cy.get("form[name='signup'] input[name='email']").should("be.visible").should("have.attr", "type", "email").should("contain.value", email);
|
||||||
|
cy.get("form[name='signup'] input[name='passwort']").should("be.visible").should("have.attr", "type", "password").type(passwort);
|
||||||
|
|
||||||
|
cy.get("form[name='signup'] button[type='submit']").click();
|
||||||
|
cy.get("form[name='login'] button[type='submit']").click();
|
||||||
|
|
||||||
|
cy.origin('https://www.mollie.com', () => {
|
||||||
|
// Jetzt sind wir auf der Mollie Seite, dort wählen wir den "paid" status aus
|
||||||
|
cy.get("input[type='radio'][name='final_state'][value='paid']").check();
|
||||||
|
// Da wird unser Test fehlschlagen, da die localhost domain von Mollie aus nicht erreichbar ist.
|
||||||
|
})
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -153,27 +153,24 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!await validateAccessTokenClient()) {
|
if (!await validateAccessTokenClient()) {
|
||||||
loginAction = bestellen
|
loginAction = anfordern
|
||||||
loginOverlayHidden = false;
|
loginOverlayHidden = false;
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
loginOverlayHidden = true
|
loginOverlayHidden = true
|
||||||
|
|
||||||
let result: Awaited<ReturnType<typeof ausweisSpeichern>> | null = null;
|
let result: Awaited<ReturnType<typeof nachweisSpeichern>> | null = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
||||||
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
|
||||||
} else {
|
|
||||||
result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, ausweisart)
|
|
||||||
}
|
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
addNotification({
|
addNotification({
|
||||||
dismissable: true,
|
dismissable: true,
|
||||||
message: "Ups... Das hat nicht geklappt.",
|
message: "Ups... Das hat nicht geklappt.",
|
||||||
subtext: "Speichern ist fehlgeschlagen, bitte versuchen sie es erneut oder kontaktieren sie unseren Support."
|
subtext: "Speichern ist fehlgeschlagen, bitte versuchen sie es erneut oder kontaktieren sie unseren Support."
|
||||||
})
|
})
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -189,7 +186,7 @@
|
|||||||
versand_plz: $versand_plz,
|
versand_plz: $versand_plz,
|
||||||
versand_ort: $versand_ort,
|
versand_ort: $versand_ort,
|
||||||
telefon: $telefon,
|
telefon: $telefon,
|
||||||
nachweis_uid: ausweis.uid,
|
nachweis_uid: result.uid_nachweis,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
headers: {
|
headers: {
|
||||||
@@ -201,7 +198,7 @@
|
|||||||
// Alle alten Ausweisdateien im localStorage löschen.
|
// Alle alten Ausweisdateien im localStorage löschen.
|
||||||
localStorage.clear();
|
localStorage.clear();
|
||||||
|
|
||||||
window.location.href = `/einpreisung/success?e=${uid}&a=${ausweis.uid}`;
|
window.location.href = `/einpreisung/success?e=${uid}&a=${result.uid_nachweis}`;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
addNotification({
|
addNotification({
|
||||||
dismissable: true,
|
dismissable: true,
|
||||||
@@ -220,7 +217,7 @@
|
|||||||
|
|
||||||
loginOverlayHidden = true
|
loginOverlayHidden = true
|
||||||
|
|
||||||
let result: Awaited<ReturnType<typeof ausweisSpeichern>> | null = null;
|
let result: Awaited<ReturnType<typeof ausweisSpeichern>> | Awaited<ReturnType<typeof nachweisSpeichern>> | null = null;
|
||||||
try {
|
try {
|
||||||
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
||||||
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
||||||
@@ -267,7 +264,7 @@
|
|||||||
|
|
||||||
loginOverlayHidden = true
|
loginOverlayHidden = true
|
||||||
|
|
||||||
let result: Awaited<ReturnType<typeof ausweisSpeichern>> | null = null;
|
let result: Awaited<ReturnType<typeof ausweisSpeichern>> | Awaited<ReturnType<typeof nachweisSpeichern>> | null = null;
|
||||||
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen || ausweisart === Enums.Ausweisart.GEGNachweisGewerbe || ausweisart === Enums.Ausweisart.GEGNachweisBedarfsausweis) {
|
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen || ausweisart === Enums.Ausweisart.GEGNachweisGewerbe || ausweisart === Enums.Ausweisart.GEGNachweisBedarfsausweis) {
|
||||||
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -10,87 +10,124 @@
|
|||||||
GEGNachweisWohnenClient,
|
GEGNachweisWohnenClient,
|
||||||
} from "#components/Ausweis/types.js";
|
} from "#components/Ausweis/types.js";
|
||||||
import Bereich from "#components/labels/Bereich.svelte";
|
import Bereich from "#components/labels/Bereich.svelte";
|
||||||
import { Enums } from "#lib/client/prisma";
|
import { Enums } from "#lib/client/prisma.js";
|
||||||
import InputLabel from "#components/labels/InputLabel.svelte";
|
import InputLabel from "#components/labels/InputLabel.svelte";
|
||||||
import HelpLabel from "#components/labels/HelpLabel.svelte";
|
import HelpLabel from "#components/labels/HelpLabel.svelte";
|
||||||
import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
||||||
import FileGrid from "#components/FileGrid.svelte";
|
import FileGrid from "#components/FileGrid.svelte";
|
||||||
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
|
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
|
||||||
|
|
||||||
|
|
||||||
export let nachweis: GEGNachweisWohnenClient;
|
export let nachweis: GEGNachweisWohnenClient;
|
||||||
export let objekt: ObjektClient;
|
export let objekt: ObjektClient;
|
||||||
export let aufnahme: AufnahmeClient;
|
export let aufnahme: AufnahmeClient;
|
||||||
export let user: BenutzerClient = {} as BenutzerClient;
|
export let user: BenutzerClient = {} as BenutzerClient;
|
||||||
export let bilder: UploadedGebaeudeBild[] = [];
|
export let bilder: UploadedGebaeudeBild[] = [];
|
||||||
export let plaene: UnterlageClient[] =
|
export let plaene: UnterlageClient[] = [];
|
||||||
[];
|
|
||||||
export let unterlagen: UnterlageClient[] = [];
|
export let unterlagen: UnterlageClient[] = [];
|
||||||
|
|
||||||
if (Object.keys(nachweis).length === 0) {
|
if (Object.keys(nachweis).length === 0) {
|
||||||
const localStorageAusweis = localStorage.getItem("ausweis");
|
const localStorageAusweis = localStorage.getItem(
|
||||||
|
"geg-nachweis-gewerbe.ausweis"
|
||||||
|
);
|
||||||
if (localStorageAusweis) {
|
if (localStorageAusweis) {
|
||||||
nachweis = JSON.parse(localStorageAusweis)
|
nachweis = JSON.parse(localStorageAusweis);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(aufnahme).length === 0) {
|
if (Object.keys(aufnahme).length === 0) {
|
||||||
const localStorageAufnahme = localStorage.getItem("aufnahme");
|
const localStorageAufnahme = localStorage.getItem(
|
||||||
|
"geg-nachweis-gewerbe.aufnahme"
|
||||||
|
);
|
||||||
if (localStorageAufnahme) {
|
if (localStorageAufnahme) {
|
||||||
aufnahme = JSON.parse(localStorageAufnahme)
|
aufnahme = JSON.parse(localStorageAufnahme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(objekt).length === 0) {
|
if (Object.keys(objekt).length === 0) {
|
||||||
const localStorageObjekt = localStorage.getItem("objekt");
|
const localStorageObjekt = localStorage.getItem(
|
||||||
|
"geg-nachweis-gewerbe.objekt"
|
||||||
|
);
|
||||||
if (localStorageObjekt) {
|
if (localStorageObjekt) {
|
||||||
objekt = JSON.parse(localStorageObjekt)
|
objekt = JSON.parse(localStorageObjekt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(bilder).length === 0) {
|
if (Object.keys(bilder).length === 0) {
|
||||||
const localStorageBilder = localStorage.getItem("bilder");
|
const localStorageBilder = localStorage.getItem(
|
||||||
|
"geg-nachweis-gewerbe.bilder"
|
||||||
|
);
|
||||||
if (localStorageBilder) {
|
if (localStorageBilder) {
|
||||||
bilder = JSON.parse(localStorageBilder)
|
bilder = JSON.parse(localStorageBilder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(unterlagen).length === 0) {
|
if (Object.keys(unterlagen).length === 0) {
|
||||||
const localStorageUnterlagen = localStorage.getItem("unterlagen");
|
const localStorageUnterlagen = localStorage.getItem(
|
||||||
|
"geg-nachweis-gewerbe.unterlagen"
|
||||||
|
);
|
||||||
if (localStorageUnterlagen) {
|
if (localStorageUnterlagen) {
|
||||||
unterlagen = JSON.parse(localStorageUnterlagen)
|
unterlagen = JSON.parse(localStorageUnterlagen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
localStorage.setItem("ausweis", JSON.stringify(nachweis))
|
localStorage.setItem(
|
||||||
localStorage.setItem("aufnahme", JSON.stringify(aufnahme))
|
"geg-nachweis-gewerbe.ausweis",
|
||||||
localStorage.setItem("objekt", JSON.stringify(objekt))
|
JSON.stringify(nachweis)
|
||||||
localStorage.setItem("bilder", JSON.stringify(bilder))
|
);
|
||||||
localStorage.setItem("unterlagen", JSON.stringify(unterlagen))
|
localStorage.setItem(
|
||||||
|
"geg-nachweis-gewerbe.aufnahme",
|
||||||
|
JSON.stringify(aufnahme)
|
||||||
|
);
|
||||||
|
localStorage.setItem(
|
||||||
|
"geg-nachweis-gewerbe.objekt",
|
||||||
|
JSON.stringify(objekt)
|
||||||
|
);
|
||||||
|
localStorage.setItem(
|
||||||
|
"geg-nachweis-gewerbe.bilder",
|
||||||
|
JSON.stringify(bilder)
|
||||||
|
);
|
||||||
|
localStorage.setItem(
|
||||||
|
"geg-nachweis-gewerbe.unterlagen",
|
||||||
|
JSON.stringify(unterlagen)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const ausweisart = Enums.Ausweisart.GEGNachweisGewerbe;
|
const ausweisart = Enums.Ausweisart.GEGNachweisGewerbe;
|
||||||
const anliegen = "Angebot anfragen";
|
const anliegen = "Angebot anfragen";
|
||||||
|
|
||||||
|
let skala: HTMLDivElement;
|
||||||
|
let form: HTMLFormElement;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="skala" class="bg-white grid grid-cols-1 p-4 lg:grid-cols-2 lg:gap-x-6 no-scroll">
|
<div
|
||||||
|
id="skala"
|
||||||
<Progressbar active={0} {ausweisart} {anliegen} steps={["Gebäudedaten","Kundendaten","Anfragebestätigung"]} />
|
bind:this={skala}
|
||||||
|
class="bg-white grid grid-cols-1 p-4 lg:grid-cols-2 lg:gap-x-6 no-scroll"
|
||||||
|
>
|
||||||
|
<Progressbar
|
||||||
|
active={0}
|
||||||
|
{ausweisart}
|
||||||
|
{anliegen}
|
||||||
|
steps={["Gebäudedaten", "Kundendaten", "Anfragebestätigung"]}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form
|
<form id="formInput-1" name="ausweis" data-cy="nachweis" bind:this={form}>
|
||||||
id="formInput-1"
|
|
||||||
name="ausweis"
|
|
||||||
data-test="ausweis"
|
|
||||||
>
|
|
||||||
<div id="formular-box" class="formular-boxen ring-0">
|
<div id="formular-box" class="formular-boxen ring-0">
|
||||||
<!-- A Prüfung der Ausweisart -->
|
<!-- A Prüfung der Ausweisart -->
|
||||||
|
|
||||||
<Bereich bereich="A" title="Prüfung der Ausweisart">
|
<Bereich bereich="A" title="Prüfung der Ausweisart">
|
||||||
<Ausweisart bind:objekt bind:aufnahme bind:ausweis={nachweis} {ausweisart} />
|
<Ausweisart
|
||||||
|
bind:objekt
|
||||||
|
bind:aufnahme
|
||||||
|
bind:ausweis={nachweis}
|
||||||
|
{ausweisart}
|
||||||
|
ausstellgrund={[
|
||||||
|
Enums.Ausstellgrund.Neubau,
|
||||||
|
Enums.Ausstellgrund.Modernisierung,
|
||||||
|
]}
|
||||||
|
/>
|
||||||
</Bereich>
|
</Bereich>
|
||||||
|
|
||||||
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
||||||
@@ -108,7 +145,12 @@
|
|||||||
title="Angaben zur Heizung, Lüftung, Energieerezugung, Qualität und Aufbau der Gebäudehülle usw."
|
title="Angaben zur Heizung, Lüftung, Energieerezugung, Qualität und Aufbau der Gebäudehülle usw."
|
||||||
></InputLabel>
|
></InputLabel>
|
||||||
|
|
||||||
<textarea class="rounded-e-none" rows="10" bind:value={nachweis.beschreibung}></textarea>
|
<textarea
|
||||||
|
class="rounded-e-none"
|
||||||
|
rows="10"
|
||||||
|
data-cy="beschreibung"
|
||||||
|
bind:value={nachweis.beschreibung}
|
||||||
|
></textarea>
|
||||||
|
|
||||||
<div class="help-label">
|
<div class="help-label">
|
||||||
<HelpLabel>
|
<HelpLabel>
|
||||||
@@ -181,14 +223,14 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ButtonWeiterHilfe
|
<ButtonWeiterHilfe
|
||||||
bind:ausweis={nachweis}
|
bind:ausweis={nachweis}
|
||||||
bind:bilder
|
bind:bilder
|
||||||
bind:unterlagen
|
bind:unterlagen
|
||||||
bind:user
|
bind:user
|
||||||
bind:objekt
|
bind:objekt
|
||||||
bind:aufnahme
|
bind:aufnahme
|
||||||
ausweisart={Enums.Ausweisart.GEGNachweisGewerbe}
|
ausweisart={Enums.Ausweisart.GEGNachweisGewerbe}
|
||||||
>
|
{form}
|
||||||
</ButtonWeiterHilfe>
|
{skala}
|
||||||
|
></ButtonWeiterHilfe>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
|
|
||||||
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
|
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
|
||||||
import {
|
import {
|
||||||
ObjektClient,
|
ObjektClient,
|
||||||
AufnahmeClient,
|
AufnahmeClient,
|
||||||
BenutzerClient,
|
BenutzerClient,
|
||||||
UploadedGebaeudeBild,
|
|
||||||
UnterlageClient,
|
UnterlageClient,
|
||||||
GEGNachweisWohnenClient,
|
GEGNachweisWohnenClient,
|
||||||
|
BildClient,
|
||||||
} from "#components/Ausweis/types.js";
|
} from "#components/Ausweis/types.js";
|
||||||
import Bereich from "#components/labels/Bereich.svelte";
|
import Bereich from "#components/labels/Bereich.svelte";
|
||||||
import { Enums } from "#lib/client/prisma.js";
|
import { Enums } from "#lib/client/prisma.js";
|
||||||
@@ -18,57 +17,80 @@
|
|||||||
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
|
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
|
||||||
import GEGAusweisart from "#components/GEGNachweis/GEGAusweisart.svelte";
|
import GEGAusweisart from "#components/GEGNachweis/GEGAusweisart.svelte";
|
||||||
|
|
||||||
|
|
||||||
export let nachweis: GEGNachweisWohnenClient;
|
export let nachweis: GEGNachweisWohnenClient;
|
||||||
export let objekt: ObjektClient;
|
export let objekt: ObjektClient;
|
||||||
export let aufnahme: AufnahmeClient;
|
export let aufnahme: AufnahmeClient;
|
||||||
export let user: BenutzerClient = {} as BenutzerClient;
|
export let user: BenutzerClient = {} as BenutzerClient;
|
||||||
export let bilder: UploadedGebaeudeBild[] = [];
|
export let bilder: BildClient[] = [];
|
||||||
export let plaene: UnterlageClient[] = [];
|
export let plaene: UnterlageClient[] = [];
|
||||||
export let unterlagen: UnterlageClient[] = [];
|
export let unterlagen: UnterlageClient[] = [];
|
||||||
|
|
||||||
if (Object.keys(nachweis).length === 0) {
|
if (Object.keys(nachweis).length === 0) {
|
||||||
const localStorageAusweis = localStorage.getItem("geg-nachweis-wohnen.ausweis");
|
const localStorageAusweis = localStorage.getItem(
|
||||||
|
"geg-nachweis-wohnen.ausweis"
|
||||||
|
);
|
||||||
if (localStorageAusweis) {
|
if (localStorageAusweis) {
|
||||||
nachweis = JSON.parse(localStorageAusweis)
|
nachweis = JSON.parse(localStorageAusweis);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(aufnahme).length === 0) {
|
if (Object.keys(aufnahme).length === 0) {
|
||||||
const localStorageAufnahme = localStorage.getItem("geg-nachweis-wohnen.aufnahme");
|
const localStorageAufnahme = localStorage.getItem(
|
||||||
|
"geg-nachweis-wohnen.aufnahme"
|
||||||
|
);
|
||||||
if (localStorageAufnahme) {
|
if (localStorageAufnahme) {
|
||||||
aufnahme = JSON.parse(localStorageAufnahme)
|
aufnahme = JSON.parse(localStorageAufnahme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(objekt).length === 0) {
|
if (Object.keys(objekt).length === 0) {
|
||||||
const localStorageObjekt = localStorage.getItem("geg-nachweis-wohnen.objekt");
|
const localStorageObjekt = localStorage.getItem(
|
||||||
|
"geg-nachweis-wohnen.objekt"
|
||||||
|
);
|
||||||
if (localStorageObjekt) {
|
if (localStorageObjekt) {
|
||||||
objekt = JSON.parse(localStorageObjekt)
|
objekt = JSON.parse(localStorageObjekt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(bilder).length === 0) {
|
if (Object.keys(bilder).length === 0) {
|
||||||
const localStorageBilder = localStorage.getItem("geg-nachweis-wohnen.bilder");
|
const localStorageBilder = localStorage.getItem(
|
||||||
|
"geg-nachweis-wohnen.bilder"
|
||||||
|
);
|
||||||
if (localStorageBilder) {
|
if (localStorageBilder) {
|
||||||
bilder = JSON.parse(localStorageBilder)
|
bilder = JSON.parse(localStorageBilder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(unterlagen).length === 0) {
|
if (Object.keys(unterlagen).length === 0) {
|
||||||
const localStorageUnterlagen = localStorage.getItem("geg-nachweis-wohnen.unterlagen");
|
const localStorageUnterlagen = localStorage.getItem(
|
||||||
|
"geg-nachweis-wohnen.unterlagen"
|
||||||
|
);
|
||||||
if (localStorageUnterlagen) {
|
if (localStorageUnterlagen) {
|
||||||
unterlagen = JSON.parse(localStorageUnterlagen)
|
unterlagen = JSON.parse(localStorageUnterlagen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
localStorage.setItem("geg-nachweis-wohnen.ausweis", JSON.stringify(nachweis))
|
localStorage.setItem(
|
||||||
localStorage.setItem("geg-nachweis-wohnen.aufnahme", JSON.stringify(aufnahme))
|
"geg-nachweis-wohnen.ausweis",
|
||||||
localStorage.setItem("geg-nachweis-wohnen.objekt", JSON.stringify(objekt))
|
JSON.stringify(nachweis)
|
||||||
localStorage.setItem("geg-nachweis-wohnen.bilder", JSON.stringify(bilder))
|
);
|
||||||
localStorage.setItem("geg-nachweis-wohnen.unterlagen", JSON.stringify(unterlagen))
|
localStorage.setItem(
|
||||||
|
"geg-nachweis-wohnen.aufnahme",
|
||||||
|
JSON.stringify(aufnahme)
|
||||||
|
);
|
||||||
|
localStorage.setItem(
|
||||||
|
"geg-nachweis-wohnen.objekt",
|
||||||
|
JSON.stringify(objekt)
|
||||||
|
);
|
||||||
|
localStorage.setItem(
|
||||||
|
"geg-nachweis-wohnen.bilder",
|
||||||
|
JSON.stringify(bilder)
|
||||||
|
);
|
||||||
|
localStorage.setItem(
|
||||||
|
"geg-nachweis-wohnen.unterlagen",
|
||||||
|
JSON.stringify(unterlagen)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const ausweisart = Enums.Ausweisart.GEGNachweisWohnen;
|
const ausweisart = Enums.Ausweisart.GEGNachweisWohnen;
|
||||||
@@ -78,23 +100,30 @@
|
|||||||
let skala: HTMLDivElement;
|
let skala: HTMLDivElement;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="skala" bind:this={skala} class="bg-white grid grid-cols-1 p-4 lg:grid-cols-2 lg:gap-x-6 no-scroll">
|
<div
|
||||||
|
id="skala"
|
||||||
<Progressbar active={0} {ausweisart} {anliegen} steps={["Gebäudedaten","Kundendaten","Anfragebestätigung"]} />
|
bind:this={skala}
|
||||||
|
class="bg-white grid grid-cols-1 p-4 lg:grid-cols-2 lg:gap-x-6 no-scroll"
|
||||||
</div>
|
|
||||||
|
|
||||||
<form
|
|
||||||
id="formInput-1"
|
|
||||||
name="ausweis"
|
|
||||||
data-test="ausweis"
|
|
||||||
bind:this={form}
|
|
||||||
>
|
>
|
||||||
|
<Progressbar
|
||||||
|
active={0}
|
||||||
|
{ausweisart}
|
||||||
|
{anliegen}
|
||||||
|
steps={["Gebäudedaten", "Kundendaten", "Anfragebestätigung"]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form id="formInput-1" name="ausweis" data-test="ausweis" bind:this={form}>
|
||||||
<div id="formular-box" class="formular-boxen ring-0">
|
<div id="formular-box" class="formular-boxen ring-0">
|
||||||
<!-- A Prüfung der Ausweisart -->
|
<!-- A Prüfung der Ausweisart -->
|
||||||
|
|
||||||
<Bereich bereich="A" title="Prüfung der Ausweisart">
|
<Bereich bereich="A" title="Prüfung der Ausweisart">
|
||||||
<GEGAusweisart bind:objekt bind:aufnahme bind:ausweis={nachweis} {ausweisart} />
|
<GEGAusweisart
|
||||||
|
bind:objekt
|
||||||
|
bind:aufnahme
|
||||||
|
bind:ausweis={nachweis}
|
||||||
|
{ausweisart}
|
||||||
|
/>
|
||||||
</Bereich>
|
</Bereich>
|
||||||
|
|
||||||
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
||||||
@@ -112,7 +141,11 @@
|
|||||||
title="Angaben zur Heizung, Lüftung, Energieerezugung, Qualität und Aufbau der Gebäudehülle usw."
|
title="Angaben zur Heizung, Lüftung, Energieerezugung, Qualität und Aufbau der Gebäudehülle usw."
|
||||||
></InputLabel>
|
></InputLabel>
|
||||||
|
|
||||||
<textarea class="rounded-e-none" rows="10" bind:value={nachweis.beschreibung}></textarea>
|
<textarea
|
||||||
|
class="rounded-e-none"
|
||||||
|
rows="10"
|
||||||
|
bind:value={nachweis.beschreibung}
|
||||||
|
></textarea>
|
||||||
|
|
||||||
<div class="help-label">
|
<div class="help-label">
|
||||||
<HelpLabel>
|
<HelpLabel>
|
||||||
@@ -185,16 +218,14 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ButtonWeiterHilfe
|
<ButtonWeiterHilfe
|
||||||
bind:ausweis={nachweis}
|
bind:ausweis={nachweis}
|
||||||
bind:bilder
|
bind:bilder
|
||||||
bind:unterlagen
|
bind:unterlagen
|
||||||
bind:user
|
bind:user
|
||||||
bind:objekt
|
bind:objekt
|
||||||
bind:aufnahme
|
bind:aufnahme
|
||||||
ausweisart={Enums.Ausweisart.GEGNachweisWohnen}
|
ausweisart={Enums.Ausweisart.GEGNachweisWohnen}
|
||||||
{form}
|
{form}
|
||||||
{skala}
|
{skala}
|
||||||
>
|
></ButtonWeiterHilfe>
|
||||||
</ButtonWeiterHilfe>
|
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
import AusweisLayout from "#layouts/AusweisLayoutDaten.astro";
|
import AusweisLayout from "#layouts/AusweisLayoutDaten.astro";
|
||||||
import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types";
|
import { AufnahmeClient, BildClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient } from "#components/Ausweis/types";
|
||||||
import { createCaller } from "src/astro-typesafe-api-caller";
|
import { createCaller } from "src/astro-typesafe-api-caller";
|
||||||
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js";
|
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js";
|
||||||
import { validateAccessTokenServer } from "#server/lib/validateAccessToken.js";
|
import { validateAccessTokenServer } from "#server/lib/validateAccessToken.js";
|
||||||
@@ -10,7 +10,7 @@ const uid = Astro.url.searchParams.get("uid");
|
|||||||
let nachweis: GEGNachweisWohnenClient = {} as GEGNachweisWohnenClient;
|
let nachweis: GEGNachweisWohnenClient = {} as GEGNachweisWohnenClient;
|
||||||
let aufnahme: AufnahmeClient = {} as AufnahmeClient;
|
let aufnahme: AufnahmeClient = {} as AufnahmeClient;
|
||||||
let objekt: ObjektClient = {} as ObjektClient;
|
let objekt: ObjektClient = {} as ObjektClient;
|
||||||
let bilder: UploadedGebaeudeBild[] = []
|
let bilder: BildClient[] = []
|
||||||
let unterlagen: UnterlageClient[] = []
|
let unterlagen: UnterlageClient[] = []
|
||||||
|
|
||||||
const valid = validateAccessTokenServer(Astro);
|
const valid = validateAccessTokenServer(Astro);
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { UUidWithPrefix } from "#components/Ausweis/types.js"
|
import { UUidWithPrefix } from "#components/Ausweis/types.js"
|
||||||
import { authorizationMiddleware } from "#lib/middleware/authorization.js"
|
import { authorizationMiddleware } from "#lib/middleware/authorization.js"
|
||||||
import { AufnahmeSchema, ObjektSchema, prisma } from "#lib/server/prisma.js"
|
import { prisma } from "#lib/server/prisma.js"
|
||||||
import { APIError, defineApiRoute } from "astro-typesafe-api/server"
|
import { APIError, defineApiRoute } from "astro-typesafe-api/server"
|
||||||
|
import { AufnahmeSchema } from "src/generated/zod/aufnahme.js"
|
||||||
import { z } from "zod"
|
import { z } from "zod"
|
||||||
|
|
||||||
export const PUT = defineApiRoute({
|
export const PUT = defineApiRoute({
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { UUidWithPrefix } from "#components/Ausweis/types.js";
|
import { UUidWithPrefix } from "#components/Ausweis/types.js";
|
||||||
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
||||||
import { GEGNachweisGewerbeSchema, GEGNachweisWohnenSchema, prisma } from "#lib/server/prisma";
|
import { prisma } from "#lib/server/prisma.js";
|
||||||
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
||||||
|
import { GEGNachweisGewerbeSchema } from "src/generated/zod/gegnachweisgewerbe.js";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const PUT = defineApiRoute({
|
export const PUT = defineApiRoute({
|
||||||
@@ -18,6 +19,7 @@ export const PUT = defineApiRoute({
|
|||||||
uid: true,
|
uid: true,
|
||||||
aufnahme_id: true,
|
aufnahme_id: true,
|
||||||
geg_einpreisung_id: true,
|
geg_einpreisung_id: true,
|
||||||
|
rechnung_id: true
|
||||||
}),
|
}),
|
||||||
uid_aufnahme: UUidWithPrefix
|
uid_aufnahme: UUidWithPrefix
|
||||||
}),
|
}),
|
||||||
@@ -109,7 +111,6 @@ export const GET = defineApiRoute({
|
|||||||
benutzer: true,
|
benutzer: true,
|
||||||
aufnahme: {
|
aufnahme: {
|
||||||
include: {
|
include: {
|
||||||
rechnungen: true,
|
|
||||||
events: {
|
events: {
|
||||||
include: {
|
include: {
|
||||||
benutzer: {
|
benutzer: {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { UUidWithPrefix } from "#components/Ausweis/types.js";
|
import { UUidWithPrefix } from "#components/Ausweis/types.js";
|
||||||
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
||||||
import { GEGNachweisWohnenSchema, prisma } from "#lib/server/prisma";
|
import { prisma } from "#lib/server/prisma.js";
|
||||||
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
||||||
|
import { GEGNachweisWohnenSchema } from "src/generated/zod/gegnachweiswohnen.js";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const PUT = defineApiRoute({
|
export const PUT = defineApiRoute({
|
||||||
@@ -17,7 +18,8 @@ export const PUT = defineApiRoute({
|
|||||||
benutzer_id: true,
|
benutzer_id: true,
|
||||||
uid: true,
|
uid: true,
|
||||||
aufnahme_id: true,
|
aufnahme_id: true,
|
||||||
geg_einpreisung_id: true
|
geg_einpreisung_id: true,
|
||||||
|
rechnung_id: true
|
||||||
}),
|
}),
|
||||||
uid_aufnahme: UUidWithPrefix
|
uid_aufnahme: UUidWithPrefix
|
||||||
}),
|
}),
|
||||||
@@ -109,7 +111,6 @@ export const GET = defineApiRoute({
|
|||||||
benutzer: true,
|
benutzer: true,
|
||||||
aufnahme: {
|
aufnahme: {
|
||||||
include: {
|
include: {
|
||||||
rechnungen: true,
|
|
||||||
events: {
|
events: {
|
||||||
include: {
|
include: {
|
||||||
benutzer: {
|
benutzer: {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { getAusweisartFromUUID, UUidWithPrefix } from "#components/Ausweis/types
|
|||||||
import { omit } from "#lib/helpers.js";
|
import { omit } from "#lib/helpers.js";
|
||||||
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
||||||
import { sendGEGAnforderungsMail } from "#lib/server/mail/geg-anfordern.js";
|
import { sendGEGAnforderungsMail } from "#lib/server/mail/geg-anfordern.js";
|
||||||
import { Enums, prisma } from "#lib/server/prisma.js";
|
import { Enums, GEGNachweisGewerbe, GEGNachweisWohnen, prisma } from "#lib/server/prisma.js";
|
||||||
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
||||||
import { GEGEinpreisungSchema } from "src/generated/zod/gegeinpreisung.js";
|
import { GEGEinpreisungSchema } from "src/generated/zod/gegeinpreisung.js";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
@@ -22,21 +22,35 @@ export const PUT = defineApiRoute({
|
|||||||
const ausweisart = getAusweisartFromUUID(input.nachweis_uid);
|
const ausweisart = getAusweisartFromUUID(input.nachweis_uid);
|
||||||
|
|
||||||
let einpreisung;
|
let einpreisung;
|
||||||
|
let nachweis: GEGNachweisWohnen | GEGNachweisGewerbe;
|
||||||
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
||||||
const nachweis = await prisma.gEGNachweisWohnen.findUnique({
|
nachweis = await prisma.gEGNachweisWohnen.findUnique({
|
||||||
where: {
|
where: {
|
||||||
uid: input.nachweis_uid
|
uid: input.nachweis_uid
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
} else if (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe) {
|
||||||
|
nachweis = await prisma.gEGNachweisGewerbe.findUnique({
|
||||||
|
where: {
|
||||||
|
uid: input.nachweis_uid
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
throw new APIError({
|
||||||
|
"code": "BAD_REQUEST",
|
||||||
|
"message": `Ausweisart wird nicht unterstützt: ${ausweisart}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!nachweis || nachweis.benutzer_id !== user.id) {
|
if (!nachweis || nachweis.benutzer_id !== user.id) {
|
||||||
throw new APIError({
|
throw new APIError({
|
||||||
code: "BAD_REQUEST",
|
code: "BAD_REQUEST",
|
||||||
message: "Ausweis existiert nicht oder gehört einem anderen Benutzer."
|
message: "Ausweis existiert nicht oder gehört einem anderen Benutzer."
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
||||||
einpreisung = await prisma.gEGEinpreisung.create({
|
einpreisung = await prisma.gEGEinpreisung.create({
|
||||||
data: {
|
data: {
|
||||||
...omit(input, ["nachweis_uid"]),
|
...omit(input, ["nachweis_uid"]),
|
||||||
@@ -53,16 +67,26 @@ export const PUT = defineApiRoute({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
await sendGEGAnforderungsMail(nachweis, user)
|
} else if (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe) {
|
||||||
} else {
|
einpreisung = await prisma.gEGEinpreisung.create({
|
||||||
throw new APIError({
|
data: {
|
||||||
"code": "BAD_REQUEST",
|
...omit(input, ["nachweis_uid"]),
|
||||||
"message": `Ausweisart wird nicht unterstützt: ${ausweisart}`
|
status: Enums.Einpreisungsstatus.open,
|
||||||
|
benutzer: {
|
||||||
|
connect: {
|
||||||
|
id: user.id
|
||||||
|
}
|
||||||
|
},
|
||||||
|
geg_nachweis_gewerbe: {
|
||||||
|
connect: {
|
||||||
|
uid: input.nachweis_uid
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await sendGEGAnforderungsMail(nachweis, user)
|
||||||
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
uid: einpreisung.uid
|
uid: einpreisung.uid
|
||||||
|
|||||||
@@ -35,6 +35,6 @@ try {
|
|||||||
---
|
---
|
||||||
|
|
||||||
<AusweisLayout title="Kundendaten Aufnehmen - IBCornelsen">
|
<AusweisLayout title="Kundendaten Aufnehmen - IBCornelsen">
|
||||||
<KundendatenModule {user} {ausweis} {objekt} {aufnahme} {bilder} {ausweisart} {ausweistyp} aktiveBezahlmethode={Enums.Bezahlmethoden.paypal} client:only></KundendatenModule>
|
<KundendatenModule {user} {ausweis} {objekt} {aufnahme} {bilder} {ausweisart} {ausweistyp} unterlagen={[]} aktiveBezahlmethode={Enums.Bezahlmethoden.paypal} client:only></KundendatenModule>
|
||||||
</AusweisLayout>
|
</AusweisLayout>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user