feat(workflows): replace pages with warning if turned off
This commit is contained in:
parent
6c600daf2b
commit
8634d20e2a
@ -55,14 +55,17 @@ WorkflowDescription: Beschreibung
|
|||||||
GlobalWorkflowInstancesHeading: Workflows (Systemweit)
|
GlobalWorkflowInstancesHeading: Workflows (Systemweit)
|
||||||
GlobalWorkflowInstancesTitle: Workflows (Systemweit)
|
GlobalWorkflowInstancesTitle: Workflows (Systemweit)
|
||||||
|
|
||||||
GlobalWorkflowInstanceInitiateHeading workflowInstanceTitle@Text: Worklow initiieren: #{workflowInstanceTitle}
|
GlobalWorkflowInstanceInitiateHeading workflowInstanceTitle@Text: Workflow initiieren: #{workflowInstanceTitle}
|
||||||
GlobalWorkflowInstanceInitiateTitle: Worklow initiieren
|
GlobalWorkflowInstanceInitiateTitle: Workflow initiieren
|
||||||
|
|
||||||
SchoolWorkflowInstancesHeading ssh@SchoolId !ident-ok: Workflows (#{ssh})
|
SchoolWorkflowInstancesHeading ssh@SchoolId !ident-ok: Workflows (#{ssh})
|
||||||
SchoolWorkflowInstancesTitle ssh@SchoolId !ident-ok: Workflows (#{ssh})
|
SchoolWorkflowInstancesTitle ssh@SchoolId !ident-ok: Workflows (#{ssh})
|
||||||
|
|
||||||
SchoolWorkflowInstanceInitiateHeading ssh@SchoolId workflowInstanceTitle@Text: Worklow initiieren: #{ssh}, #{workflowInstanceTitle}
|
SchoolWorkflowInstanceInitiateHeading ssh@SchoolId workflowInstanceTitle@Text: Workflow initiieren: #{ssh}, #{workflowInstanceTitle}
|
||||||
SchoolWorkflowInstanceInitiateTitle ssh@SchoolId: Worklow initiieren: #{ssh}
|
SchoolWorkflowInstanceInitiateTitle ssh@SchoolId: Workflow initiieren: #{ssh}
|
||||||
|
|
||||||
|
WorkflowInstanceInitiateHeadingDisabled: Workflow initiieren
|
||||||
|
WorkflowInstanceInitiateTitleDisabled: Workflow initiieren
|
||||||
|
|
||||||
WorkflowEdgeNumberedVariant edgeLabel@Text i@Natural: #{edgeLabel} (Variante #{i})
|
WorkflowEdgeNumberedVariant edgeLabel@Text i@Natural: #{edgeLabel} (Variante #{i})
|
||||||
WorkflowEdgeFormEdge: Aktion
|
WorkflowEdgeFormEdge: Aktion
|
||||||
@ -120,12 +123,14 @@ GlobalWorkflowWorkflowWorkflowTitle workflowWorkflowId@CryptoFileNameWorkflowWor
|
|||||||
SchoolWorkflowWorkflowWorkflowHeading ssh@SchoolId workflowWorkflowId@CryptoFileNameWorkflowWorkflow !ident-ok: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
SchoolWorkflowWorkflowWorkflowHeading ssh@SchoolId workflowWorkflowId@CryptoFileNameWorkflowWorkflow !ident-ok: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
||||||
SchoolWorkflowWorkflowWorkflowTitle ssh@SchoolId workflowWorkflowId@CryptoFileNameWorkflowWorkflow !ident-ok: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
SchoolWorkflowWorkflowWorkflowTitle ssh@SchoolId workflowWorkflowId@CryptoFileNameWorkflowWorkflow !ident-ok: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
||||||
|
|
||||||
WorkflowWorkflowListScopeTitle rScope@Text: Laufende Workflows - #{rScope}
|
WorkflowWorkflowListScopeTitle rScope@RouteWorkflowScope: Laufende Workflows - _{rScope}
|
||||||
WorkflowWorkflowListScopeHeading rScope@Text: Laufende Workflows (#{rScope})
|
WorkflowWorkflowListScopeHeading rScope@RouteWorkflowScope: Laufende Workflows (_{rScope})
|
||||||
WorkflowWorkflowListInstanceTitle: Laufende Workflows für Instanz
|
WorkflowWorkflowListInstanceTitle: Laufende Workflows für Instanz
|
||||||
WorkflowWorkflowListInstanceHeading: Laufende Workflows für Instanz
|
WorkflowWorkflowListInstanceHeading: Laufende Workflows für Instanz
|
||||||
WorkflowWorkflowListNamedInstanceTitle rScope@Text wiTitle@Text: Laufende Workflows - #{rScope}, #{wiTitle}
|
WorkflowWorkflowListNamedInstanceTitle rScope@RouteWorkflowScope wiTitle@Text: Laufende Workflows - _{rScope}, #{wiTitle}
|
||||||
WorkflowWorkflowListNamedInstanceHeading rScope@Text wiTitle@Text: Laufende Workflows (#{rScope}, #{wiTitle})
|
WorkflowWorkflowListNamedInstanceHeading rScope@RouteWorkflowScope wiTitle@Text: Laufende Workflows (_{rScope}, #{wiTitle})
|
||||||
|
WorkflowWorkflowListNamedInstanceTitleDisabled rScope@RouteWorkflowScope: Laufende Workflows - _{rScope}
|
||||||
|
WorkflowWorkflowListNamedInstanceHeadingDisabled rScope@RouteWorkflowScope: Laufende Workflows (_{rScope})
|
||||||
WorkflowWorkflowListTopTitle: Laufende Workflows
|
WorkflowWorkflowListTopTitle: Laufende Workflows
|
||||||
WorkflowWorkflowListTopHeading: Laufende Workflows
|
WorkflowWorkflowListTopHeading: Laufende Workflows
|
||||||
AdminWorkflowWorkflowListTitle: Laufende Workflows
|
AdminWorkflowWorkflowListTitle: Laufende Workflows
|
||||||
|
|||||||
@ -23,6 +23,9 @@ SchoolWorkflowInstancesTitle ssh: Workflows (#{ssh})
|
|||||||
SchoolWorkflowInstanceInitiateHeading ssh workflowInstanceTitle: Initiate workflow: #{ssh}, #{workflowInstanceTitle}
|
SchoolWorkflowInstanceInitiateHeading ssh workflowInstanceTitle: Initiate workflow: #{ssh}, #{workflowInstanceTitle}
|
||||||
SchoolWorkflowInstanceInitiateTitle ssh: Initiate workflow: #{ssh}
|
SchoolWorkflowInstanceInitiateTitle ssh: Initiate workflow: #{ssh}
|
||||||
|
|
||||||
|
WorkflowInstanceInitiateHeadingDisabled: Initiate Workflow
|
||||||
|
WorkflowInstanceInitiateTitleDisabled: Initiate Workflow
|
||||||
|
|
||||||
WorkflowEdgeNumberedVariant edgeLabel i: #{edgeLabel} (variant #{i})
|
WorkflowEdgeNumberedVariant edgeLabel i: #{edgeLabel} (variant #{i})
|
||||||
WorkflowEdgeFormEdge: Action
|
WorkflowEdgeFormEdge: Action
|
||||||
WorkflowEdgeFormHiddenPayload i: Hidden dataset #{i}
|
WorkflowEdgeFormHiddenPayload i: Hidden dataset #{i}
|
||||||
@ -79,12 +82,14 @@ GlobalWorkflowWorkflowWorkflowTitle workflowWorkflowId: Workflow #{toPathPiece w
|
|||||||
SchoolWorkflowWorkflowWorkflowHeading ssh workflowWorkflowId: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
SchoolWorkflowWorkflowWorkflowHeading ssh workflowWorkflowId: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
||||||
SchoolWorkflowWorkflowWorkflowTitle ssh workflowWorkflowId: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
SchoolWorkflowWorkflowWorkflowTitle ssh workflowWorkflowId: Workflow #{ssh}, #{toPathPiece workflowWorkflowId}
|
||||||
|
|
||||||
WorkflowWorkflowListScopeTitle rScope: Running workflows - #{rScope}
|
WorkflowWorkflowListScopeTitle rScope: Running workflows - _{rScope}
|
||||||
WorkflowWorkflowListScopeHeading rScope: Running workflows (#{rScope})
|
WorkflowWorkflowListScopeHeading rScope: Running workflows (_{rScope})
|
||||||
WorkflowWorkflowListInstanceTitle: Running workflows for an instance
|
WorkflowWorkflowListInstanceTitle: Running workflows for an instance
|
||||||
WorkflowWorkflowListInstanceHeading: Running workflows for an instance
|
WorkflowWorkflowListInstanceHeading: Running workflows for an instance
|
||||||
WorkflowWorkflowListNamedInstanceTitle rScope wiTitle: Running workflows - #{rScope}, #{wiTitle}
|
WorkflowWorkflowListNamedInstanceTitle rScope wiTitle: Running workflows - _{rScope}, #{wiTitle}
|
||||||
WorkflowWorkflowListNamedInstanceHeading rScope wiTitle: Running workflows (#{rScope}, #{wiTitle})
|
WorkflowWorkflowListNamedInstanceHeading rScope wiTitle: Running workflows (_{rScope}, #{wiTitle})
|
||||||
|
WorkflowWorkflowListNamedInstanceTitleDisabled rScope: Running Workflows - _{rScope}
|
||||||
|
WorkflowWorkflowListNamedInstanceHeadingDisabled rScope: Running Workflows (_{rScope})
|
||||||
WorkflowWorkflowListTopTitle: Running workflows
|
WorkflowWorkflowListTopTitle: Running workflows
|
||||||
WorkflowWorkflowListTopHeading: Running workflows
|
WorkflowWorkflowListTopHeading: Running workflows
|
||||||
AdminWorkflowWorkflowListTitle: Running workflows
|
AdminWorkflowWorkflowListTitle: Running workflows
|
||||||
@ -155,4 +160,4 @@ WorkflowInstanceUpdateUpdatedCategory: Successfully applied updated category
|
|||||||
WorkflowInstanceUpdateDeletedDescriptionLanguage lang: Successfully deleted description/title for language “#{lang}”
|
WorkflowInstanceUpdateDeletedDescriptionLanguage lang: Successfully deleted description/title for language “#{lang}”
|
||||||
WorkflowInstanceUpdateUpdatedDescriptionLanguage lang: Successfully applied updated description/title for language “#{lang}”
|
WorkflowInstanceUpdateUpdatedDescriptionLanguage lang: Successfully applied updated description/title for language “#{lang}”
|
||||||
|
|
||||||
WorkflowsDisabled: Workflows are temporarily disabled.
|
WorkflowsDisabled: Workflows are temporarily disabled.
|
||||||
|
|||||||
29
src/Handler/Utils/Workflow.hs
Normal file
29
src/Handler/Utils/Workflow.hs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
module Handler.Utils.Workflow
|
||||||
|
( workflowsDisabledWarning
|
||||||
|
, module Reexport
|
||||||
|
) where
|
||||||
|
|
||||||
|
import Import
|
||||||
|
|
||||||
|
import Handler.Utils.I18n
|
||||||
|
|
||||||
|
import Handler.Utils.Workflow.Form as Reexport
|
||||||
|
import Handler.Utils.Workflow.EdgeForm as Reexport
|
||||||
|
import Handler.Utils.Workflow.Restriction as Reexport
|
||||||
|
import Handler.Utils.Workflow.CanonicalRoute as Reexport
|
||||||
|
import Handler.Utils.Workflow.Workflow as Reexport
|
||||||
|
|
||||||
|
|
||||||
|
workflowsDisabledWarning :: ( MonadHandler m
|
||||||
|
, HandlerSite m ~ UniWorX
|
||||||
|
, RenderMessage UniWorX titleMsg, RenderMessage UniWorX headingMsg
|
||||||
|
)
|
||||||
|
=> titleMsg -> headingMsg
|
||||||
|
-> m Html
|
||||||
|
-> m Html
|
||||||
|
workflowsDisabledWarning tMsg hMsg = volatileBool clusterVolatileWorkflowsEnabled warningHtml
|
||||||
|
where
|
||||||
|
warningHtml = liftHandler . siteLayoutMsg hMsg $ do
|
||||||
|
setTitleI tMsg
|
||||||
|
|
||||||
|
notificationWidget NotificationBroad Warning $(i18nWidgetFile "workflows-disabled")
|
||||||
@ -10,9 +10,7 @@ import Utils.Form
|
|||||||
import Utils.Workflow
|
import Utils.Workflow
|
||||||
|
|
||||||
import Handler.Utils
|
import Handler.Utils
|
||||||
import Handler.Utils.Workflow.EdgeForm
|
import Handler.Utils.Workflow
|
||||||
import Handler.Utils.Workflow.CanonicalRoute
|
|
||||||
import Handler.Utils.Workflow.Workflow (followEdge)
|
|
||||||
|
|
||||||
import qualified Data.CaseInsensitive as CI
|
import qualified Data.CaseInsensitive as CI
|
||||||
import qualified Data.List.NonEmpty as NonEmpty
|
import qualified Data.List.NonEmpty as NonEmpty
|
||||||
@ -27,7 +25,7 @@ getSWIInitiateR = postSWIInitiateR
|
|||||||
postSWIInitiateR ssh = workflowInstanceInitiateR $ WSSchool ssh
|
postSWIInitiateR ssh = workflowInstanceInitiateR $ WSSchool ssh
|
||||||
|
|
||||||
workflowInstanceInitiateR :: RouteWorkflowScope -> WorkflowInstanceName -> Handler Html
|
workflowInstanceInitiateR :: RouteWorkflowScope -> WorkflowInstanceName -> Handler Html
|
||||||
workflowInstanceInitiateR rScope win = do
|
workflowInstanceInitiateR rScope win = workflowsDisabledWarning MsgWorkflowInstanceInitiateTitleDisabled MsgWorkflowInstanceInitiateHeadingDisabled $ do
|
||||||
(WorkflowInstance{..}, ((edgeAct, edgeView'), edgeEnc), mDesc) <- runDB $ do
|
(WorkflowInstance{..}, ((edgeAct, edgeView'), edgeEnc), mDesc) <- runDB $ do
|
||||||
scope <- maybeT notFound $ fromRouteWorkflowScope rScope
|
scope <- maybeT notFound $ fromRouteWorkflowScope rScope
|
||||||
Entity wiId wi@WorkflowInstance{..} <- getBy404 . UniqueWorkflowInstance win $ scope ^. _DBWorkflowScope
|
Entity wiId wi@WorkflowInstance{..} <- getBy404 . UniqueWorkflowInstance win $ scope ^. _DBWorkflowScope
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import Import
|
|||||||
|
|
||||||
import Handler.Utils
|
import Handler.Utils
|
||||||
import Utils.Workflow
|
import Utils.Workflow
|
||||||
import Handler.Utils.Workflow.CanonicalRoute
|
import Handler.Utils.Workflow
|
||||||
import Handler.Workflow.Instance.Update
|
import Handler.Workflow.Instance.Update
|
||||||
|
|
||||||
import qualified Database.Esqueleto.Legacy as E
|
import qualified Database.Esqueleto.Legacy as E
|
||||||
@ -135,7 +135,7 @@ getSchoolWorkflowInstanceListR = workflowInstanceListR . WSSchool
|
|||||||
|
|
||||||
|
|
||||||
workflowInstanceListR :: RouteWorkflowScope -> Handler Html
|
workflowInstanceListR :: RouteWorkflowScope -> Handler Html
|
||||||
workflowInstanceListR rScope = do
|
workflowInstanceListR rScope = workflowsDisabledWarning title heading $ do
|
||||||
instances <- runDB $ do
|
instances <- runDB $ do
|
||||||
dbScope <- maybeT notFound $ view _DBWorkflowScope <$> fromRouteWorkflowScope rScope
|
dbScope <- maybeT notFound $ view _DBWorkflowScope <$> fromRouteWorkflowScope rScope
|
||||||
|
|
||||||
@ -163,11 +163,6 @@ workflowInstanceListR rScope = do
|
|||||||
, workflowInstanceName
|
, workflowInstanceName
|
||||||
)
|
)
|
||||||
|
|
||||||
(heading, title) <- case rScope of
|
|
||||||
WSGlobal -> return (MsgGlobalWorkflowInstancesHeading, MsgGlobalWorkflowInstancesTitle)
|
|
||||||
WSSchool ssh -> return (MsgSchoolWorkflowInstancesHeading ssh, MsgSchoolWorkflowInstancesTitle ssh)
|
|
||||||
_other -> error "not implemented"
|
|
||||||
|
|
||||||
siteLayoutMsg heading $ do
|
siteLayoutMsg heading $ do
|
||||||
setTitleI title
|
setTitleI title
|
||||||
let mPitch = Just $(i18nWidgetFile "workflow-instance-list-explanation")
|
let mPitch = Just $(i18nWidgetFile "workflow-instance-list-explanation")
|
||||||
@ -185,6 +180,12 @@ workflowInstanceListR rScope = do
|
|||||||
toListRoute win = _WorkflowScopeRoute # (rScope, WorkflowInstanceR win WIWorkflowsR)
|
toListRoute win = _WorkflowScopeRoute # (rScope, WorkflowInstanceR win WIWorkflowsR)
|
||||||
toUpdateRoute win = _WorkflowScopeRoute # (rScope, WorkflowInstanceR win WIUpdateR)
|
toUpdateRoute win = _WorkflowScopeRoute # (rScope, WorkflowInstanceR win WIUpdateR)
|
||||||
|
|
||||||
|
(heading, title) = case rScope of
|
||||||
|
WSGlobal -> (MsgGlobalWorkflowInstancesHeading, MsgGlobalWorkflowInstancesTitle)
|
||||||
|
WSSchool ssh -> (MsgSchoolWorkflowInstancesHeading ssh, MsgSchoolWorkflowInstancesTitle ssh)
|
||||||
|
_other -> error "not implemented"
|
||||||
|
|
||||||
|
|
||||||
getTopWorkflowInstanceListR :: Handler Html
|
getTopWorkflowInstanceListR :: Handler Html
|
||||||
getTopWorkflowInstanceListR = do
|
getTopWorkflowInstanceListR = do
|
||||||
gInstances <- runDB $ do
|
gInstances <- runDB $ do
|
||||||
|
|||||||
@ -14,8 +14,7 @@ module Handler.Workflow.Workflow.List
|
|||||||
import Import hiding (Last(..), WriterT)
|
import Import hiding (Last(..), WriterT)
|
||||||
|
|
||||||
import Utils.Workflow
|
import Utils.Workflow
|
||||||
import Handler.Utils.Workflow.Workflow
|
import Handler.Utils.Workflow
|
||||||
import Handler.Utils.Workflow.CanonicalRoute
|
|
||||||
|
|
||||||
import Handler.Workflow.Workflow.Workflow (WorkflowHistoryItemActor'(..), WorkflowHistoryItemActor)
|
import Handler.Workflow.Workflow.Workflow (WorkflowHistoryItemActor'(..), WorkflowHistoryItemActor)
|
||||||
|
|
||||||
@ -66,17 +65,16 @@ getSchoolWorkflowWorkflowListR :: SchoolId -> Handler Html
|
|||||||
getSchoolWorkflowWorkflowListR = workflowWorkflowListR . WSSchool
|
getSchoolWorkflowWorkflowListR = workflowWorkflowListR . WSSchool
|
||||||
|
|
||||||
workflowWorkflowListR :: RouteWorkflowScope -> Handler Html
|
workflowWorkflowListR :: RouteWorkflowScope -> Handler Html
|
||||||
workflowWorkflowListR rScope = do
|
workflowWorkflowListR rScope = workflowsDisabledWarning (headings ^. _1) (headings ^. _2) $ do
|
||||||
scope <- runDB . maybeT notFound $ fromRouteWorkflowScope rScope
|
scope <- runDB . maybeT notFound $ fromRouteWorkflowScope rScope
|
||||||
MsgRenderer mr <- getMsgRenderer
|
workflowWorkflowList headings columns . runReader $ do
|
||||||
workflowWorkflowList (headings mr) columns . runReader $ do
|
|
||||||
workflowWorkflow <- view queryWorkflowWorkflow
|
workflowWorkflow <- view queryWorkflowWorkflow
|
||||||
return $ workflowWorkflow E.^. WorkflowWorkflowScope E.==. E.val (scope ^. _DBWorkflowScope)
|
return $ workflowWorkflow E.^. WorkflowWorkflowScope E.==. E.val (scope ^. _DBWorkflowScope)
|
||||||
where
|
where
|
||||||
columns = def
|
columns = def
|
||||||
{ wwListColumnScope = False
|
{ wwListColumnScope = False
|
||||||
}
|
}
|
||||||
headings mr = (MsgWorkflowWorkflowListScopeTitle $ mr rScope, MsgWorkflowWorkflowListScopeHeading $ mr rScope)
|
headings = (MsgWorkflowWorkflowListScopeTitle rScope, MsgWorkflowWorkflowListScopeHeading rScope)
|
||||||
|
|
||||||
|
|
||||||
getGWIWorkflowsR :: WorkflowInstanceName -> Handler Html
|
getGWIWorkflowsR :: WorkflowInstanceName -> Handler Html
|
||||||
@ -86,18 +84,17 @@ getSWIWorkflowsR :: SchoolId -> WorkflowInstanceName -> Handler Html
|
|||||||
getSWIWorkflowsR ssh = workflowInstanceWorkflowsR $ WSSchool ssh
|
getSWIWorkflowsR ssh = workflowInstanceWorkflowsR $ WSSchool ssh
|
||||||
|
|
||||||
workflowInstanceWorkflowsR :: RouteWorkflowScope -> WorkflowInstanceName -> Handler Html
|
workflowInstanceWorkflowsR :: RouteWorkflowScope -> WorkflowInstanceName -> Handler Html
|
||||||
workflowInstanceWorkflowsR rScope win = do
|
workflowInstanceWorkflowsR rScope win = workflowsDisabledWarning (MsgWorkflowWorkflowListNamedInstanceTitleDisabled rScope) (MsgWorkflowWorkflowListNamedInstanceHeadingDisabled rScope) $ do
|
||||||
(scope, desc) <- runDB $ do
|
(scope, desc) <- runDB $ do
|
||||||
scope <- maybeT notFound $ fromRouteWorkflowScope rScope
|
scope <- maybeT notFound $ fromRouteWorkflowScope rScope
|
||||||
wiId <- getKeyBy404 . UniqueWorkflowInstance win $ scope ^. _DBWorkflowScope
|
wiId <- getKeyBy404 . UniqueWorkflowInstance win $ scope ^. _DBWorkflowScope
|
||||||
desc <- selectWorkflowInstanceDescription wiId
|
desc <- selectWorkflowInstanceDescription wiId
|
||||||
return (scope, desc)
|
return (scope, desc)
|
||||||
MsgRenderer mr <- getMsgRenderer
|
|
||||||
let headings = case desc of
|
let headings = case desc of
|
||||||
Nothing -> (MsgWorkflowWorkflowListInstanceTitle, MsgWorkflowWorkflowListInstanceHeading)
|
Nothing -> (MsgWorkflowWorkflowListInstanceTitle, MsgWorkflowWorkflowListInstanceHeading)
|
||||||
Just (Entity _ WorkflowInstanceDescription{..})
|
Just (Entity _ WorkflowInstanceDescription{..})
|
||||||
-> ( MsgWorkflowWorkflowListNamedInstanceTitle (mr rScope) workflowInstanceDescriptionTitle
|
-> ( MsgWorkflowWorkflowListNamedInstanceTitle rScope workflowInstanceDescriptionTitle
|
||||||
, MsgWorkflowWorkflowListNamedInstanceHeading (mr rScope) workflowInstanceDescriptionTitle
|
, MsgWorkflowWorkflowListNamedInstanceHeading rScope workflowInstanceDescriptionTitle
|
||||||
)
|
)
|
||||||
workflowWorkflowList headings columns . runReader $ do
|
workflowWorkflowList headings columns . runReader $ do
|
||||||
workflowWorkflow <- view queryWorkflowWorkflow
|
workflowWorkflow <- view queryWorkflowWorkflow
|
||||||
|
|||||||
@ -13,9 +13,7 @@ import Utils.Workflow
|
|||||||
import Data.Semigroup (Last(..))
|
import Data.Semigroup (Last(..))
|
||||||
|
|
||||||
import Handler.Utils
|
import Handler.Utils
|
||||||
import Handler.Utils.Workflow.EdgeForm
|
import Handler.Utils.Workflow
|
||||||
import Handler.Utils.Workflow.CanonicalRoute
|
|
||||||
import Handler.Utils.Workflow.Workflow
|
|
||||||
|
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
import qualified Data.Set as Set
|
import qualified Data.Set as Set
|
||||||
@ -77,7 +75,7 @@ getSWWFilesR ssh = getWorkflowFilesR $ WSSchool ssh
|
|||||||
|
|
||||||
|
|
||||||
workflowR :: RouteWorkflowScope -> CryptoFileNameWorkflowWorkflow -> Handler Html
|
workflowR :: RouteWorkflowScope -> CryptoFileNameWorkflowWorkflow -> Handler Html
|
||||||
workflowR rScope cID = do
|
workflowR rScope cID = workflowsDisabledWarning title heading $ do
|
||||||
(mEdge, (workflowState, workflowHistory)) <- runDB $ do
|
(mEdge, (workflowState, workflowHistory)) <- runDB $ do
|
||||||
wwId <- decrypt cID
|
wwId <- decrypt cID
|
||||||
WorkflowWorkflow{..} <- get404 wwId
|
WorkflowWorkflow{..} <- get404 wwId
|
||||||
@ -216,10 +214,6 @@ workflowR rScope cID = do
|
|||||||
|
|
||||||
sequenceOf_ (_Just . _1 . _1 . _Just) mEdge
|
sequenceOf_ (_Just . _1 . _1 . _Just) mEdge
|
||||||
|
|
||||||
(heading, title) <- case rScope of
|
|
||||||
WSGlobal -> return (MsgGlobalWorkflowWorkflowWorkflowHeading cID, MsgGlobalWorkflowWorkflowWorkflowTitle cID)
|
|
||||||
WSSchool ssh -> return (MsgSchoolWorkflowWorkflowWorkflowHeading ssh cID, MsgSchoolWorkflowWorkflowWorkflowTitle ssh cID)
|
|
||||||
_other -> error "not implemented"
|
|
||||||
let headingWgt
|
let headingWgt
|
||||||
| Just WorkflowCurrentState{..} <- workflowState
|
| Just WorkflowCurrentState{..} <- workflowState
|
||||||
, Just (_, Just icn) <- wcsState
|
, Just (_, Just icn) <- wcsState
|
||||||
@ -255,6 +249,11 @@ workflowR rScope cID = do
|
|||||||
Just (Entity _ User{..}) -> nameWidget userDisplayName userSurname
|
Just (Entity _ User{..}) -> nameWidget userDisplayName userSurname
|
||||||
WorkflowFieldPayloadW (WFPFile v ) -> absurd v
|
WorkflowFieldPayloadW (WFPFile v ) -> absurd v
|
||||||
$(widgetFile "workflows/workflow")
|
$(widgetFile "workflows/workflow")
|
||||||
|
where
|
||||||
|
(heading, title) = case rScope of
|
||||||
|
WSGlobal -> (MsgGlobalWorkflowWorkflowWorkflowHeading cID, MsgGlobalWorkflowWorkflowWorkflowTitle cID)
|
||||||
|
WSSchool ssh -> (MsgSchoolWorkflowWorkflowWorkflowHeading ssh cID, MsgSchoolWorkflowWorkflowWorkflowTitle ssh cID)
|
||||||
|
_other -> error "not implemented"
|
||||||
|
|
||||||
getWorkflowFilesR :: RouteWorkflowScope
|
getWorkflowFilesR :: RouteWorkflowScope
|
||||||
-> CryptoFileNameWorkflowWorkflow
|
-> CryptoFileNameWorkflowWorkflow
|
||||||
|
|||||||
9
templates/i18n/workflows-disabled/de-de-formal.hamlet
Normal file
9
templates/i18n/workflows-disabled/de-de-formal.hamlet
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
$newline never
|
||||||
|
<p>
|
||||||
|
Workflows sind temporär deaktiviert
|
||||||
|
<p>
|
||||||
|
Uni2work-Administrator:innen deaktivieren das Workflowsystem gelegentlich manuell um die Last auf das System zu reduzieren.
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
So kann die Performance und Stabilität des Systems in Zeiten erwarteter hoher Last verbessert werden um z.B. Online-Prüfungen reibungsloser ablaufen zu lassen.
|
||||||
9
templates/i18n/workflows-disabled/en-eu.hamlet
Normal file
9
templates/i18n/workflows-disabled/en-eu.hamlet
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
$newline never
|
||||||
|
<p>
|
||||||
|
Workflows are temporarily disabled
|
||||||
|
<p>
|
||||||
|
Uni2work-administrators deactivate the workflow system manually on occasion to reduce load on the system.
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
This is done to improve performance and stability of the system when high load is expected to improve the experience during e.g. online exams.
|
||||||
Reference in New Issue
Block a user