#!/usr/bin/env stack -- stack runghc {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PackageImports #-} {-# LANGUAGE NoImplicitPrelude #-} import "uniworx" Import import "uniworx" Application (db) import Data.Time main :: IO () main = db $ do now <- liftIO getCurrentTime let winter2017 = TermIdentifier 2017 Winter summer2018 = TermIdentifier 2018 Summer gkleen <- insert User { userPlugin = "LDAP" , userIdent = "G.Kleen@campus.lmu.de" , userMatrikelnummer = Nothing , userEmail = "G.Kleen@campus.lmu.de" , userDisplayName = "Gregor Kleen" } void . insert $ Term { termName = winter2017 , termStart = fromGregorian 2017 10 16 , termEnd = fromGregorian 2018 02 10 , termHolidays = [fromGregorian 2017 12 24..fromGregorian 2018 01 06] , termLectureStart = fromGregorian 2017 10 16 , termLectureEnd = fromGregorian 2018 02 10 , termActive = True } void . insert $ Term { termName = summer2018 , termStart = fromGregorian 2018 04 09 , termEnd = fromGregorian 2018 07 14 , termHolidays = [] , termLectureStart = fromGregorian 2018 04 09 , termLectureEnd = fromGregorian 2018 07 14 , termActive = True } ifi <- insert $ School "Institut für Informatik" "IfI" mi <- insert $ School "Institut für Mathematik" "MI" void . insert $ UserAdmin gkleen ifi void . insert $ UserAdmin gkleen mi void . insert $ UserLecturer gkleen ifi ifiBsc <- insert $ Degree "Bachelor Informatik" ifi ifiMsc <- insert $ Degree "Master Informatik" ifi ffp <- insert Course { courseName = "Fortgeschrittene Funktionale Programmierung" , courseDescription = Nothing , courseLinkExternal = Nothing , courseShorthand = "ffp" , courseTermId = TermKey summer2018 , courseSchoolId = ifi , courseCapacity = Just 20 , courseCreated = now , courseChanged = now , courseCreatedBy = gkleen , courseChangedBy = gkleen , courseHasRegistration = True , courseRegisterFrom = Just now , courseRegisterTo = Just ((3600 * 24 * 60) `addUTCTime` now ) } void . insert $ DegreeCourse ifiBsc ffp void . insert $ DegreeCourse ifiMsc ffp void . insert $ Lecturer gkleen ffp void . insert $ Corrector gkleen ffp (ByProportion 1) void . insert $ Sheet ffp "Blatt 1" Nothing NotGraded Nothing now now Nothing Nothing now now gkleen gkleen