chore(term): change to 4 digit format for disambiguation

This commit is contained in:
Steffen Jost 2022-03-30 17:25:12 +02:00
parent 88b22d50e8
commit de96b4bcab
5 changed files with 20 additions and 21 deletions

View File

@ -5,24 +5,23 @@ TermStartMustBeBeforeLectureStart: Semester muss vor der Vorlesungszeit beginnen
TermEndMustBeAfterLectureEnd: Vorlesungszeit muss vor dem Semester enden.
TermShort: Kürzel
TermCourseCount: Kurse
TermStart: Semesteranfang
TermEnd: Semesterende
LectureStart: Beginn Vorlesungen
TermStart: Anfang Kursperiode
TermEnd: Ende Kursperiode
LectureStart: Beginn Kurse
TermEdited tid@TermId: Semester #{tid} erfolgreich editiert.
TermNewTitle: Semester editieren/anlegen.
InvalidInput: Eingaben bitte korrigieren.
Term !ident-ok: Semester
TermPlaceholder: JJJJ-MM-TT (Erster Tag einer Schulung)
TermStartDay: Erster Tag
TermStartDayTooltip: Üblicherweise immer 1. April oder 1. Oktober
TermEndDay: Letzter Tag
TermEndDayTooltip: Üblicherweise immer 30. September oder 31. März
TermHolidays: Feiertage
TermHolidayPlaceholder: Feiertag
TermHolidayMissing: Feiertag wird benötigt
TermLectureStart: Beginn Vorlesungen
TermLectureEnd: Ende Vorlesungen
TermLectureEndTooltip: Meistens dauer das Sommersemester 14 Wochen und das Wintersemester 15 Wochen.
TermLectureStartTooltip: Muss am oder nach dem Beginn liegen
TermLectureEndTooltip: Muss am oder vor dem Ende liegen
TermActive: Aktiv
NumCourses num@Int64: #{num} #{pluralDE num "Kurs" "Kurse"}
TermsHeading: Semesterübersicht

View File

@ -5,24 +5,23 @@ TermStartMustBeBeforeLectureStart: Semester start must be before lecture start.
TermEndMustBeAfterLectureEnd: Lecture end must be before semester end.
TermShort: Shorthand
TermCourseCount: Courses
TermStart: Semester start
TermEnd: Semester end
LectureStart: Lectures start
TermStart: Start of teaching period
TermEnd: End of teaching perios
LectureStart: Courses start
TermEdited tid: Successfully edited semester #{tid}
TermNewTitle: Edit/create semester
InvalidInput: Invalid input
Term: Semester
TermPlaceholder: YYYY-MM-DD (First day of courses)
TermStartDay: Starting day
TermStartDayTooltip: Usually 1st of April or 1st of October
TermEndDay: Last day
TermEndDayTooltip: Usually 30th of September or 31st of March
TermHolidays: Legal holidays
TermHolidayPlaceholder: Legal holiday
TermHolidayMissing: Holiday is required
TermLectureStart: Lectures start
TermLectureEnd: Lectures end
TermLectureEndTooltip: Summer semesters are usually 14 weeks; winter semesters 15
TermLectureStartTooltip: Must be on or after starting day
TermLectureEndTooltip: Must be before or on ending day
TermActive: Active
NumCourses num: #{num} #{pluralEN num "course" "courses"}
TermsHeading: Semesters

View File

@ -354,11 +354,11 @@ newTermForm mtid template = validateForm validateTerm $ \html -> do
fRequired = False
flip (renderAForm FormStandard) html $ TermForm
<$> tidForm
<*> areq dayField (fslI MsgTermStartDay & setTooltip MsgTermStartDayTooltip) (tftStart template)
<*> areq dayField (fslI MsgTermEndDay & setTooltip MsgTermEndDayTooltip) (tftEnd template)
<*> areq dayField (fslI MsgTermStartDay) (tftStart template)
<*> areq dayField (fslI MsgTermEndDay ) (tftEnd template)
<*> (ungroupHolidays <$> holidayForm (groupHolidays <$> tftHolidays template))
<*> areq dayField (fslI MsgTermLectureStart) (tftLectureStart template)
<*> areq dayField (fslI MsgTermLectureEnd & setTooltip MsgTermLectureEndTooltip) (tftLectureEnd template)
<*> areq dayField (fslI MsgTermLectureStart & setTooltip MsgTermLectureStartTooltip) (tftLectureStart template)
<*> areq dayField (fslI MsgTermLectureEnd & setTooltip MsgTermLectureEndTooltip) (tftLectureEnd template)
<*> activeForm (tftActive template)

View File

@ -71,12 +71,14 @@ shortened = iso shorten expand
-- Handler.Utils.Widget.tidFromText
-- MsgTermPlaceHolder
termToText :: TermIdentifier -> Text
termToText TermIdentifier{..} = Text.pack . show $ year ^. shortened
termToText TermIdentifier{..} = Text.pack . show $ year -- ^. shortened
termFromText :: Text -> Either Text TermIdentifier
termFromText t
| Just (review shortened -> year) <- readMaybe $ Text.unpack t
| Just year <- readMaybe $ Text.unpack t
= Right TermIdentifier {..}
-- | Just (review shortened -> year) <- readMaybe $ Text.unpack t
-- = Right TermIdentifier {..}
| otherwise
= Left $ "Invalid TermIdentifier: “" <> t <> "”; expected is just a year number."

View File

@ -46,7 +46,6 @@ import qualified Data.Text.Lazy as LT
import Text.Blaze.Html.Renderer.Text (renderHtml)
import Handler.Utils.DateTime (getYear)
{-
instance Arbitrary Day where
@ -65,7 +64,7 @@ instance CoArbitrary Day where
instance Arbitrary TermIdentifier where
arbitrary = TermIdentifier <$> arbitrary
shrink = fmap TermIdentifier . shrink . getTermDay
shrink = fmap TermIdentifier . shrink . year
instance CoArbitrary TermIdentifier
instance Function TermIdentifier
@ -471,7 +470,7 @@ spec = do
--it "has compatible encoding/decoding to/from PersistValue" . property $
-- \term -> fromPersistValue (toPersistValue term) == term
it "has human readable year encoding to Rational" . property $
\term -> truncate (termToRational term) == getYear (getTermDay term)
\term -> truncate (termToRational term) == year term
describe "Pseudonym" $ do
it "has sufficient vocabulary" $
(length pseudonymWordlist ^ 2) `shouldSatisfy` (> (fromIntegral (maxBound :: Pseudonym) - fromIntegral (minBound :: Pseudonym)))