From d030ec1b5ff1900c25ddbdc407cec552716565c3 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 5 May 2019 21:02:43 +0200 Subject: [PATCH] Submit sheets from homepage --- src/Handler/Home.hs | 7 +++++-- src/Handler/Utils/Form.hs | 8 ++------ templates/{ => widgets}/multiFileField.hamlet | 0 templates/{ => widgets}/multiFileField.lucius | 0 templates/widgets/zipFileField.hamlet | 2 ++ 5 files changed, 9 insertions(+), 8 deletions(-) rename templates/{ => widgets}/multiFileField.hamlet (100%) rename templates/{ => widgets}/multiFileField.lucius (100%) create mode 100644 templates/widgets/zipFileField.hamlet diff --git a/src/Handler/Home.hs b/src/Handler/Home.hs index 81d9f7066..b907ecf50 100644 --- a/src/Handler/Home.hs +++ b/src/Handler/Home.hs @@ -128,7 +128,10 @@ homeUpcomingSheets uid = do cell $ formatTime SelFormatDateTime deadline >>= toWidget , sortable (Just "done") (i18nCell MsgDone) $ \DBRow{ dbrOutput=(E.Value tid, E.Value ssh, E.Value csh, E.Value shn, _, E.Value mbsid) } -> case mbsid of - Nothing -> mempty + Nothing -> cell $ do + let submitRoute = CSheetR tid ssh csh shn SubmissionNewR + whenM (hasWriteAccessTo submitRoute) $ + modal [whamlet|_{MsgMenuSubmissionNew}|] . Left $ SomeRoute submitRoute (Just sid) -> anchorCellM (CSubmissionR tid ssh csh shn <$> encrypt sid <*> pure SubShowR) (toWidget $ hasTickmark True) ] @@ -170,4 +173,4 @@ homeUpcomingSheets uid = do , dbtParams = def , dbtIdent = "upcoming-sheets" :: Text } - $(widgetFile "home/upcomingSheets") \ No newline at end of file + $(widgetFile "home/upcomingSheets") diff --git a/src/Handler/Utils/Form.hs b/src/Handler/Utils/Form.hs index 94504f1ea..225886a1a 100644 --- a/src/Handler/Utils/Form.hs +++ b/src/Handler/Utils/Form.hs @@ -366,11 +366,7 @@ zipFileField doUnpack = Field{..} | [f] <- files = return . Right . Just $ bool (yieldM . acceptFile) sourceFiles doUnpack f | null files = return $ Right Nothing | otherwise = return . Left $ SomeMessage MsgOnlyUploadOneFile - fieldView fieldId fieldName attrs _ req = - [whamlet| - $newline never - - |] + fieldView fieldId fieldName attrs _ req = $(widgetFile "widgets/zipFileField") multiFileField :: Handler (Set FileId) -> Field Handler (Source Handler (Either FileId File)) multiFileField permittedFiles' = Field{..} @@ -410,7 +406,7 @@ multiFileField permittedFiles' = Field{..} E.where_ $ file E.^. FileId `E.in_` E.valList (setToList pVals) E.orderBy [E.asc $ file E.^. FileTitle] return (file E.^. FileId, file E.^. FileTitle) - $(widgetFile "multiFileField") + $(widgetFile "widgets/multiFileField") unpackZips :: Text unpackZips = "unpack-zip" takeLefts :: Monad m => ConduitM (Either b a) b m () diff --git a/templates/multiFileField.hamlet b/templates/widgets/multiFileField.hamlet similarity index 100% rename from templates/multiFileField.hamlet rename to templates/widgets/multiFileField.hamlet diff --git a/templates/multiFileField.lucius b/templates/widgets/multiFileField.lucius similarity index 100% rename from templates/multiFileField.lucius rename to templates/widgets/multiFileField.lucius diff --git a/templates/widgets/zipFileField.hamlet b/templates/widgets/zipFileField.hamlet new file mode 100644 index 000000000..4c432c524 --- /dev/null +++ b/templates/widgets/zipFileField.hamlet @@ -0,0 +1,2 @@ +$newline never +