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
+