183 lines
6.0 KiB
Haskell
Executable File
183 lines
6.0 KiB
Haskell
Executable File
#!/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
|
|
summer2017 = TermIdentifier 2017 Summer
|
|
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"
|
|
}
|
|
fhamann <- insert User
|
|
{ userPlugin = "LDAP"
|
|
, userIdent = "felix.hamann@campus.lmu.de"
|
|
, userMatrikelnummer = Nothing
|
|
, userEmail = "felix.hamann@campus.lmu.de"
|
|
, userDisplayName = "Felix Hamann"
|
|
}
|
|
jost <- insert User
|
|
{ userPlugin = "LDAP"
|
|
, userIdent = "jost@tcs.ifi.lmu.de"
|
|
, userMatrikelnummer = Nothing
|
|
, userEmail = "jost@tcs.ifi.lmu.de"
|
|
, userDisplayName = "Steffen Jost"
|
|
}
|
|
void . insert $ Term
|
|
{ termName = summer2017
|
|
, termStart = fromGregorian 2017 04 09
|
|
, termEnd = fromGregorian 2017 07 14
|
|
, termHolidays = []
|
|
, termLectureStart = fromGregorian 2017 04 09
|
|
, termLectureEnd = fromGregorian 2018 07 14
|
|
, termActive = False
|
|
}
|
|
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 $ UserAdmin fhamann ifi
|
|
void . insert $ UserAdmin jost ifi
|
|
void . insert $ UserAdmin jost mi
|
|
void . insert $ UserLecturer gkleen ifi
|
|
void . insert $ UserLecturer fhamann ifi
|
|
void . insert $ UserLecturer jost ifi
|
|
ifiBsc <- insert $ Degree "Bachelor Informatik" ifi
|
|
ifiMsc <- insert $ Degree "Master Informatik" ifi
|
|
miBsc <- insert $ Degree "Bachelor Mathematik" mi
|
|
-- FFP
|
|
ffp <- insert Course
|
|
{ courseName = "Fortgeschrittene Funktionale Programmierung"
|
|
, courseDescription = Nothing
|
|
, courseLinkExternal = Nothing
|
|
, courseShorthand = "ffp"
|
|
, courseTermId = TermKey summer2018
|
|
, courseSchoolId = ifi
|
|
, courseCapacity = Just 20
|
|
, courseHasRegistration = True
|
|
, courseRegisterFrom = Just now
|
|
, courseRegisterTo = Just ((3600 * 24 * 60) `addUTCTime` now )
|
|
}
|
|
insert_ $ CourseEdit jost now ffp
|
|
void . insert $ DegreeCourse ifiBsc ffp
|
|
void . insert $ DegreeCourse ifiMsc ffp
|
|
void . insert $ Lecturer gkleen ffp
|
|
insert_ $ Corrector gkleen ffp (ByProportion 1)
|
|
sheetkey <- insert $ Sheet ffp "Blatt 1" Nothing NotGraded NoGroups Nothing Nothing now now Nothing Nothing
|
|
insert_ $ SheetEdit gkleen now sheetkey
|
|
-- EIP
|
|
eip <- insert Course
|
|
{ courseName = "Einführung in die Programmierung"
|
|
, courseDescription = Nothing
|
|
, courseLinkExternal = Nothing
|
|
, courseShorthand = "eip"
|
|
, courseTermId = TermKey summer2017
|
|
, courseSchoolId = ifi
|
|
, courseCapacity = Just 20
|
|
, courseHasRegistration = False
|
|
, courseRegisterFrom = Nothing
|
|
, courseRegisterTo = Nothing
|
|
}
|
|
insert_ $ CourseEdit fhamann now eip
|
|
void . insert $ DegreeCourse ifiBsc eip
|
|
void . insert $ DegreeCourse ifiMsc eip
|
|
void . insert $ Lecturer fhamann eip
|
|
-- interaction design
|
|
ixd <- insert Course
|
|
{ courseName = "Interaction Design (User Experience Design I & II)"
|
|
, courseDescription = Nothing
|
|
, courseLinkExternal = Nothing
|
|
, courseShorthand = "ixd"
|
|
, courseTermId = TermKey summer2018
|
|
, courseSchoolId = ifi
|
|
, courseCapacity = Just 20
|
|
, courseHasRegistration = True
|
|
, courseRegisterFrom = Just now
|
|
, courseRegisterTo = Just ((3600 * 24 * 60) `addUTCTime` now )
|
|
}
|
|
insert_ $ CourseEdit fhamann now ixd
|
|
void . insert $ DegreeCourse ifiBsc ixd
|
|
void . insert $ Lecturer fhamann ixd
|
|
-- concept development
|
|
ux3 <- insert Course
|
|
{ courseName = "Concept Development (User Experience Design III)"
|
|
, courseDescription = Nothing
|
|
, courseLinkExternal = Nothing
|
|
, courseShorthand = "ux3"
|
|
, courseTermId = TermKey winter2017
|
|
, courseSchoolId = ifi
|
|
, courseCapacity = Just 30
|
|
, courseHasRegistration = False
|
|
, courseRegisterFrom = Nothing
|
|
, courseRegisterTo = Nothing
|
|
}
|
|
insert_ $ CourseEdit fhamann now ux3
|
|
void . insert $ DegreeCourse ifiBsc ux3
|
|
void . insert $ Lecturer fhamann ux3
|
|
-- promo
|
|
pmo <- insert Course
|
|
{ courseName = "Programmierung und Modellierung"
|
|
, courseDescription = Nothing
|
|
, courseLinkExternal = Nothing
|
|
, courseShorthand = "pmo"
|
|
, courseTermId = TermKey summer2017
|
|
, courseSchoolId = ifi
|
|
, courseCapacity = Just 50
|
|
, courseHasRegistration = False
|
|
, courseRegisterFrom = Nothing
|
|
, courseRegisterTo = Nothing
|
|
}
|
|
insert_ $ CourseEdit jost now pmo
|
|
void . insert $ DegreeCourse ifiBsc pmo
|
|
void . insert $ Lecturer jost pmo
|
|
-- datenbanksysteme
|
|
dbs <- insert Course
|
|
{ courseName = "Datenbanksysteme"
|
|
, courseDescription = Nothing
|
|
, courseLinkExternal = Nothing
|
|
, courseShorthand = "dbs"
|
|
, courseTermId = TermKey summer2018
|
|
, courseSchoolId = ifi
|
|
, courseCapacity = Just 50
|
|
, courseHasRegistration = False
|
|
, courseRegisterFrom = Nothing
|
|
, courseRegisterTo = Nothing
|
|
}
|
|
insert_ $ CourseEdit gkleen now dbs
|
|
void . insert $ DegreeCourse ifiBsc dbs
|
|
void . insert $ Lecturer gkleen dbs
|
|
void . insert $ Lecturer jost dbs
|