mirror of
https://github.com/Theodor-Springmann-Stiftung/kgpz_web.git
synced 2025-10-29 17:15:31 +00:00
Refactored eintrag
This commit is contained in:
140
helpers/templatefunctions/categories.go
Normal file
140
helpers/templatefunctions/categories.go
Normal file
@@ -0,0 +1,140 @@
|
||||
package templatefunctions
|
||||
|
||||
import "github.com/Theodor-Springmann-Stiftung/kgpz_web/xmlmodels"
|
||||
|
||||
// CategoryFlags represents all possible category flags for a piece
|
||||
type CategoryFlags struct {
|
||||
Rezension bool
|
||||
Weltnachrichten bool
|
||||
EinkommendeFremde bool
|
||||
Wechselkurse bool
|
||||
Buecher bool
|
||||
Lokalanzeigen bool
|
||||
Lokalnachrichten bool
|
||||
Lotterie bool
|
||||
Gedicht bool
|
||||
Vorladung bool
|
||||
Auszug bool
|
||||
Aufsatz bool
|
||||
GelehrteNachrichten bool
|
||||
Theaterkritik bool
|
||||
Uebersetzung bool
|
||||
Kommentar bool
|
||||
Nachruf bool
|
||||
Replik bool
|
||||
Proklamation bool
|
||||
Ineigenersache bool
|
||||
Brief bool
|
||||
Anzeige bool
|
||||
Desertionsliste bool
|
||||
Notenblatt bool
|
||||
Vorlesungsverzeichnis bool
|
||||
Erzaehlung bool
|
||||
Nachtrag bool
|
||||
Panegyrik bool
|
||||
Kriminalanzeige bool
|
||||
Abbildung bool
|
||||
Rezepte bool
|
||||
Korrektur bool
|
||||
}
|
||||
|
||||
// GetCategoryFlags analyzes a piece and returns a CategoryFlags struct with all category flags set
|
||||
func GetCategoryFlags(piece xmlmodels.Piece) CategoryFlags {
|
||||
flags := CategoryFlags{}
|
||||
|
||||
// Process CategoryRefs
|
||||
for _, catref := range piece.CategoryRefs {
|
||||
switch catref.Ref {
|
||||
case "rezension":
|
||||
flags.Rezension = true
|
||||
case "weltnachrichten":
|
||||
flags.Weltnachrichten = true
|
||||
case "einkommende-fremde":
|
||||
flags.EinkommendeFremde = true
|
||||
case "wechselkurse":
|
||||
flags.Wechselkurse = true
|
||||
case "buecher":
|
||||
flags.Buecher = true
|
||||
case "lokalanzeigen":
|
||||
flags.Lokalanzeigen = true
|
||||
case "lokalnachrichten":
|
||||
flags.Lokalnachrichten = true
|
||||
case "lotterie":
|
||||
flags.Lotterie = true
|
||||
case "gedicht":
|
||||
flags.Gedicht = true
|
||||
case "vorladung":
|
||||
flags.Vorladung = true
|
||||
case "auszug":
|
||||
flags.Auszug = true
|
||||
case "aufsatz":
|
||||
flags.Aufsatz = true
|
||||
case "gelehrte-nachrichten":
|
||||
flags.GelehrteNachrichten = true
|
||||
case "theaterkritik":
|
||||
flags.Theaterkritik = true
|
||||
case "uebersetzung":
|
||||
flags.Uebersetzung = true
|
||||
case "kommentar":
|
||||
flags.Kommentar = true
|
||||
case "nachruf":
|
||||
flags.Nachruf = true
|
||||
case "replik":
|
||||
flags.Replik = true
|
||||
case "proklamation":
|
||||
flags.Proklamation = true
|
||||
case "ineigenersache":
|
||||
flags.Ineigenersache = true
|
||||
case "brief":
|
||||
flags.Brief = true
|
||||
case "anzeige":
|
||||
flags.Anzeige = true
|
||||
case "desertionsliste":
|
||||
flags.Desertionsliste = true
|
||||
case "notenblatt":
|
||||
flags.Notenblatt = true
|
||||
case "vorlesungsverzeichnis":
|
||||
flags.Vorlesungsverzeichnis = true
|
||||
case "erzaehlung":
|
||||
flags.Erzaehlung = true
|
||||
case "nachtrag":
|
||||
flags.Nachtrag = true
|
||||
case "panegyrik":
|
||||
flags.Panegyrik = true
|
||||
case "kriminalanzeige":
|
||||
flags.Kriminalanzeige = true
|
||||
case "abbildung":
|
||||
flags.Abbildung = true
|
||||
case "rezepte":
|
||||
flags.Rezepte = true
|
||||
case "korrektur":
|
||||
flags.Korrektur = true
|
||||
}
|
||||
}
|
||||
|
||||
// Process WorkRefs with category mapping
|
||||
for _, workref := range piece.WorkRefs {
|
||||
kat := workref.Category
|
||||
if kat == "" {
|
||||
kat = "rezension" // Default category for WorkRefs
|
||||
}
|
||||
switch kat {
|
||||
case "rezension":
|
||||
flags.Rezension = true
|
||||
case "auszug":
|
||||
flags.Auszug = true
|
||||
case "theaterkritik":
|
||||
flags.Theaterkritik = true
|
||||
case "uebersetzung":
|
||||
flags.Uebersetzung = true
|
||||
case "kommentar":
|
||||
flags.Kommentar = true
|
||||
case "anzeige":
|
||||
flags.Anzeige = true
|
||||
case "replik":
|
||||
flags.Replik = true
|
||||
}
|
||||
}
|
||||
|
||||
return flags
|
||||
}
|
||||
Reference in New Issue
Block a user