diff --git a/routes b/routes index bec9e194d..1a496001e 100644 --- a/routes +++ b/routes @@ -55,6 +55,7 @@ !/users/add AdminUserAddR GET POST /admin AdminR GET /admin/test AdminTestR GET POST +/admin/test/pdf AdminTestPdfR GET /admin/errMsg AdminErrMsgR GET POST /admin/tokens AdminTokensR GET POST /admin/crontab AdminCrontabR GET diff --git a/src/Foundation/Navigation.hs b/src/Foundation/Navigation.hs index 6cf128d4f..11cca667f 100644 --- a/src/Foundation/Navigation.hs +++ b/src/Foundation/Navigation.hs @@ -100,6 +100,7 @@ breadcrumb AdminFunctionaryInviteR = i18nCrumb MsgBreadcrumbFunctionaryInvite No breadcrumb AdminR = i18nCrumb MsgAdminHeading Nothing breadcrumb AdminTestR = i18nCrumb MsgMenuAdminTest $ Just AdminR +breadcrumb AdminTestPdfR = i18nCrumb MsgMenuAdminTest $ Just AdminTestR breadcrumb AdminErrMsgR = i18nCrumb MsgMenuAdminErrMsg $ Just AdminR breadcrumb AdminTokensR = i18nCrumb MsgMenuAdminTokens $ Just AdminR breadcrumb AdminCrontabR = i18nCrumb MsgBreadcrumbAdminCrontab $ Just AdminR diff --git a/src/Handler/Admin/Test.hs b/src/Handler/Admin/Test.hs index d4b8aec7f..6fa490349 100644 --- a/src/Handler/Admin/Test.hs +++ b/src/Handler/Admin/Test.hs @@ -1,6 +1,7 @@ module Handler.Admin.Test ( getAdminTestR , postAdminTestR + , getAdminTestPdfR ) where import Import @@ -13,6 +14,9 @@ import qualified Data.Text as Text import qualified Data.Set as Set import qualified Data.Map as Map +import qualified Text.Pandoc as P +import qualified Text.Pandoc.PDF as P + import Handler.Admin.Test.Download (testDownload) @@ -268,15 +272,18 @@ postAdminTestR = do -getPDFTestR :: Handler TypedContent -getPDFTestR = do - let - writer = error "todo" - writeropts = error "todo" - doc = error "todo" - doc <- liftIO makePDF "pdflatex" writer writeropts doc - case doc of - Left bs -> - return $ TypedContent typeOctet $ toContent bs - Right bs -> - return $ TypedContent typeOctet $ toContent bs \ No newline at end of file +getAdminTestPdfR :: Handler TypedContent +getAdminTestPdfR = do + content <- liftIO . P.runIO $ do + let + md = "# Hello \n\n This is some Text." :: Text + texopts = [] + writeropts = def + doc <- P.readMarkdown def md + res <- P.makePDF "pdflatex" texopts P.writeLaTeX writeropts doc + case res of + Right bs -> return bs + Left err -> return err + case content of + Right bs -> return $ TypedContent typeOctet $ toContent bs + Left err -> return $ toTypedContent $ tshow err \ No newline at end of file diff --git a/templates/i18n/admin-test/en-eu.hamlet b/templates/i18n/admin-test/en-eu.hamlet index ebfbf1124..0c4b856b0 100644 --- a/templates/i18n/admin-test/en-eu.hamlet +++ b/templates/i18n/admin-test/en-eu.hamlet @@ -65,3 +65,8 @@
  • ^{modal "Email-Test" (Right emailWidget')}
  • Some icons: ^{isVisible False} ^{hasComment True} + +
    +

    Download a generated PDF + Here is a + Download-Link \ No newline at end of file