praktikum, Notfallkontakt und ein Platz pro Dienstelle bei neuer Zeitraum

This commit is contained in:
titver968
2025-12-29 12:09:55 +01:00
parent 07824f2b6a
commit a99ddf6fa9
9 changed files with 1123 additions and 996 deletions

View File

@@ -17,7 +17,7 @@ model EmailConfig {
id Int @id @default(1)
subject String @default("Praktikumsplatz-Zusage")
template String @default("Sehr geehrte/r {anrede} {nachname},\n\nwir freuen uns, Ihnen mitteilen zu können, dass Ihre Bewerbung für ein Praktikum erfolgreich war.\n\nSie wurden für das Praktikum bei folgender Dienststelle angenommen:\n{dienststelle}\n\nWeitere Informationen erhalten Sie in den kommenden Tagen.\n\nMit freundlichen Grüßen\nIhr Praktikumsteam")
@@map("email_config")
}
@@ -29,8 +29,8 @@ model Dienststelle {
anmeldungenWunsch2 Anmeldung[] @relation("Wunsch2")
anmeldungenWunsch3 Anmeldung[] @relation("Wunsch3")
zugewiesene Anmeldung[] @relation("Zugewiesen")
zeitraumPlaetze ZeitraumPlaetze[]
zeitraumPlaetze ZeitraumPlaetze[]
}
model Praktikumszeitraum {
@@ -39,19 +39,19 @@ model Praktikumszeitraum {
startDatum DateTime
endDatum DateTime
anmeldungen Anmeldung[] @relation("PraktikumszeitraumAnmeldungen")
zeitraumPlaetze ZeitraumPlaetze[]
}
model ZeitraumPlaetze {
id Int @id @default(autoincrement())
zeitraumId Int
dienststelleId Int
plaetze Int @default(0)
zeitraum Praktikumszeitraum @relation(fields: [zeitraumId], references: [id], onDelete: Cascade)
dienststelle Dienststelle @relation(fields: [dienststelleId], references: [id], onDelete: Cascade)
id Int @id @default(autoincrement())
zeitraumId Int
dienststelleId Int
plaetze Int @default(0)
zeitraum Praktikumszeitraum @relation(fields: [zeitraumId], references: [id], onDelete: Cascade)
dienststelle Dienststelle @relation(fields: [dienststelleId], references: [id], onDelete: Cascade)
@@unique([zeitraumId, dienststelleId])
@@index([zeitraumId])
@@index([dienststelleId])
@@ -66,7 +66,7 @@ enum Status {
}
model Anmeldung {
id Int @id @default(autoincrement())
id Int @id @default(autoincrement())
anrede String
vorname String
nachname String
@@ -84,25 +84,31 @@ model Anmeldung {
sozialverhalten String?
motivation String?
alter Int?
status Status @default(OFFEN)
processedAt DateTime?
praktikumId Int?
praktikum Praktikumszeitraum? @relation("PraktikumszeitraumAnmeldungen", fields: [praktikumId], references: [id])
zugewiesenId Int?
zugewiesen Dienststelle? @relation("Zugewiesen", fields: [zugewiesenId], references: [id])
wunsch1Id Int?
wunsch1 Dienststelle? @relation("Wunsch1", fields: [wunsch1Id], references: [id])
wunsch2Id Int?
wunsch2 Dienststelle? @relation("Wunsch2", fields: [wunsch2Id], references: [id])
wunsch3Id Int?
wunsch3 Dienststelle? @relation("Wunsch3", fields: [wunsch3Id], references: [id])
timestamp DateTime @default(now())
pdfs PdfDatei[]
// Notfallkontakt
notfallVorname String?
notfallNachname String?
notfallTelefon String?
status Status @default(OFFEN)
processedAt DateTime?
praktikumId Int?
praktikum Praktikumszeitraum? @relation("PraktikumszeitraumAnmeldungen", fields: [praktikumId], references: [id])
zugewiesenId Int?
zugewiesen Dienststelle? @relation("Zugewiesen", fields: [zugewiesenId], references: [id])
wunsch1Id Int?
wunsch1 Dienststelle? @relation("Wunsch1", fields: [wunsch1Id], references: [id])
wunsch2Id Int?
wunsch2 Dienststelle? @relation("Wunsch2", fields: [wunsch2Id], references: [id])
wunsch3Id Int?
wunsch3 Dienststelle? @relation("Wunsch3", fields: [wunsch3Id], references: [id])
timestamp DateTime @default(now())
pdfs PdfDatei[]
@@index([status])
@@index([processedAt])
@@index([zugewiesenId])