Fix pseudonym coding & new wordlist

This commit is contained in:
Gregor Kleen 2018-10-15 09:06:41 +02:00
parent 8e28c397fd
commit 1f32f638f0
4 changed files with 4091 additions and 8186 deletions

File diff suppressed because it is too large Load Diff

View File

@ -370,7 +370,7 @@ postSPseudonymR tid ssh csh shn = do
selectRep $ do selectRep $ do
provideRep $ return ps' provideRep $ return ps'
provideJson ps provideJson ps
provideRep (redirect $ CSheetR tid ssh csh shn SShowR :: Handler Html) provideRep (redirect $ CSheetR tid ssh csh shn SShowR :#: ("pseudonym" :: Text) :: Handler Html)
getSFileR :: TermId -> SchoolId -> CourseShorthand -> SheetName -> SheetFileType -> FilePath -> Handler TypedContent getSFileR :: TermId -> SchoolId -> CourseShorthand -> SheetName -> SheetFileType -> FilePath -> Handler TypedContent

View File

@ -591,13 +591,14 @@ pseudonymWords = prism' pToWords pFromWords
| Just i1 <- elemIndex w1 pseudonymWordlist | Just i1 <- elemIndex w1 pseudonymWordlist
, Just i2 <- elemIndex w2 pseudonymWordlist , Just i2 <- elemIndex w2 pseudonymWordlist
, i1 <= maxWord, i2 <= maxWord , i1 <= maxWord, i2 <= maxWord
= Just $ shift (fromIntegral i1) (-12) .|. fromIntegral i2 = Just $ shiftL (fromIntegral i1) 12 .|. fromIntegral i2
pFromWords _ = Nothing pFromWords _ = Nothing
pToWords :: Pseudonym -> [CI Text] pToWords :: Pseudonym -> [CI Text]
pToWords p = [ genericIndex pseudonymWordlist $ shift p 12 .&. maxWord pToWords (Pseudonym p)
, genericIndex pseudonymWordlist $ p .&. maxWord = [ genericIndex pseudonymWordlist $ shiftR p 12 .&. maxWord
] , genericIndex pseudonymWordlist $ p .&. maxWord
]
maxWord :: Num a => a maxWord :: Num a => a
maxWord = 0b111111111111 maxWord = 0b111111111111

View File

@ -27,7 +27,7 @@ $maybe marking <- sheetMarkingText sheet
<dd .deflist__dd>_{sheetType sheet} <dd .deflist__dd>_{sheetType sheet}
$if CorrectorSubmissions == sheetSubmissionMode sheet $if CorrectorSubmissions == sheetSubmissionMode sheet
<dt .deflist__dt>_{MsgSheetPseudonym} <dt .deflist__dt>_{MsgSheetPseudonym}
<dd .deflist__dd> <dd .deflist__dd #pseudonym>
$maybe pseudonym <- mPseudonym $maybe pseudonym <- mPseudonym
<span .pseudonym>#{pseudonym} <span .pseudonym>#{pseudonym}
$nothing $nothing