module Handler.Utils.ContentDisposition ( downloadFiles , setContentDisposition' ) where import Import import Utils.Lens -- | Check whether the user's preference for files is inline-viewing or downloading downloadFiles :: (MonadHandler m, HandlerSite m ~ UniWorX) => m Bool downloadFiles = do mauth <- liftHandlerT maybeAuth case mauth of Just (Entity _ User{..}) -> return userDownloadFiles Nothing -> do UserDefaultConf{..} <- getsYesod $ view _appUserDefaults return userDefaultDownloadFiles setContentDisposition' :: (MonadHandler m, HandlerSite m ~ UniWorX) => Maybe FilePath -> m () setContentDisposition' mFileName = do wantsDownload <- downloadFiles setContentDisposition (bool ContentInline ContentAttachment wantsDownload) mFileName