Fixes #85
This commit is contained in:
parent
da5a496e56
commit
3adac1f25b
@ -282,26 +282,23 @@ multiFileField :: Handler (Set FileId) -> Field Handler (Source Handler (Either
|
|||||||
multiFileField permittedFiles' = Field{..}
|
multiFileField permittedFiles' = Field{..}
|
||||||
where
|
where
|
||||||
fieldEnctype = Multipart
|
fieldEnctype = Multipart
|
||||||
fieldParse vals files
|
fieldParse vals files = return . Right . Just $ do
|
||||||
| null files
|
pVals <- lift permittedFiles'
|
||||||
, null vals = return $ Right Nothing
|
let
|
||||||
| otherwise = return . Right . Just $ do
|
decrypt' :: CryptoUUIDFile -> Handler (Maybe FileId)
|
||||||
pVals <- lift permittedFiles'
|
decrypt' = fmap (either (\(_ :: CryptoIDError) -> Nothing) Just) . try . decrypt
|
||||||
let
|
yieldMany vals
|
||||||
decrypt' :: CryptoUUIDFile -> Handler (Maybe FileId)
|
.| C.filter (/= unpackZips)
|
||||||
decrypt' = fmap (either (\(_ :: CryptoIDError) -> Nothing) Just) . try . decrypt
|
.| C.map fromPathPiece .| C.catMaybes
|
||||||
yieldMany vals
|
.| C.mapMaybeM decrypt'
|
||||||
.| C.filter (/= unpackZips)
|
.| C.filter (`elem` pVals)
|
||||||
.| C.map fromPathPiece .| C.catMaybes
|
.| C.map Left
|
||||||
.| C.mapMaybeM decrypt'
|
let
|
||||||
.| C.filter (`elem` pVals)
|
handleFile :: FileInfo -> Source Handler File
|
||||||
.| C.map Left
|
handleFile
|
||||||
let
|
| doUnpack = sourceFiles
|
||||||
handleFile :: FileInfo -> Source Handler File
|
| otherwise = yieldM . acceptFile
|
||||||
handleFile
|
mapM_ handleFile files .| C.map Right
|
||||||
| doUnpack = sourceFiles
|
|
||||||
| otherwise = yieldM . acceptFile
|
|
||||||
mapM_ handleFile files .| C.map Right
|
|
||||||
where
|
where
|
||||||
doUnpack = unpackZips `elem` vals
|
doUnpack = unpackZips `elem` vals
|
||||||
fieldView fieldId fieldName attrs val req = do
|
fieldView fieldId fieldName attrs val req = do
|
||||||
|
|||||||
Reference in New Issue
Block a user