{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE TemplateHaskell #-} module ModelData where import Database.Persist.TH data SheetType = Regular | Bonus | Extra deriving (Show, Read, Eq, Ord, Enum, Bounded) derivePersistField "SheetType" data ExamStatus = Attended | NoShow | Voided deriving (Show, Read, Eq, Ord, Enum, Bounded) derivePersistField "ExamStatus" {- Modelled in DB data Season = WS | SO deriving (Show, Read, Eq, Enum) derivePersistField "Season" data Term = Term { season:: Season, year :: Int } instance Show Term where show (Term {season, year}) = take 1 (show season) ++ (show year) instance PersistField Term where toPersistValue (Term {season, year}) = undefined fromPersistValue (Term {season, year}) = undefined sqlType _ = SqlInteger isNullable _ = False -}