feat(workflows): prepare for admin-workflow-instance-edit
This commit is contained in:
parent
dae2d16677
commit
ee6fecb79e
@ -1520,6 +1520,7 @@ BreadcrumbAdminWorkflowDefinitionDelete: Löschen
|
||||
BreadcrumbAdminWorkflowDefinitionInstantiate: Instanziieren
|
||||
BreadcrumbAdminWorkflowInstanceList: Workflow-Instanzen
|
||||
BreadcrumbAdminWorkflowInstanceNew: Neue Workflow-Instanz
|
||||
BreadcrumbAdminWorkflowInstanceEdit: Instanz bearbeiten
|
||||
BreadcrumbAdminWorkflowWorkflowList: Initiierte Workflows
|
||||
BreadcrumbAdminWorkflowWorkflowNew: Workflow initiieren
|
||||
BreadcrumbWorkflowInstanceEdit win@WorkflowInstanceName: #{win}
|
||||
|
||||
@ -1520,6 +1520,7 @@ BreadcrumbAdminWorkflowDefinitionDelete: Delete
|
||||
BreadcrumbAdminWorkflowDefinitionInstantiate: Instantiate
|
||||
BreadcrumbAdminWorkflowInstanceList: Workflow instances
|
||||
BreadcrumbAdminWorkflowInstanceNew: New workflow-instance
|
||||
BreadcrumbAdminWorkflowInstanceEdit: Edit instance
|
||||
BreadcrumbAdminWorkflowWorkflowList: Initiated workflows
|
||||
BreadcrumbAdminWorkflowWorkflowNew: Initiate workflow
|
||||
BreadcrumbWorkflowInstanceEdit win: #{win}
|
||||
|
||||
2
routes
2
routes
@ -66,6 +66,8 @@
|
||||
/instantiate AWDInstantiateR GET POST
|
||||
/admin/workflows/instances AdminWorkflowInstanceListR GET
|
||||
/admin/workflows/instances/new AdminWorkflowInstanceNewR GET POST
|
||||
/admin/workflows/instances/#CryptoUUIDWorkflowInstance AdminWorkflowInstanceR:
|
||||
/edit AWIEditR GET POST
|
||||
/admin/workflows/workflows AdminWorkflowWorkflowListR GET
|
||||
/admin/workflows/workflows/new AdminWorkflowWorkflowNewR GET POST
|
||||
|
||||
|
||||
@ -368,6 +368,8 @@ instance BearerAuthSite UniWorX => YesodBreadcrumbs UniWorX where
|
||||
AWDInstantiateR -> i18nCrumb MsgBreadcrumbAdminWorkflowDefinitionInstantiate . Just $ AdminWorkflowDefinitionR wfdScope wfdName AWDEditR
|
||||
breadcrumb AdminWorkflowInstanceListR = i18nCrumb MsgBreadcrumbAdminWorkflowInstanceList $ Just AdminWorkflowDefinitionListR
|
||||
breadcrumb AdminWorkflowInstanceNewR = i18nCrumb MsgBreadcrumbAdminWorkflowInstanceNew $ Just AdminWorkflowInstanceListR
|
||||
breadcrumb (AdminWorkflowInstanceR _cID sRoute) = case sRoute of
|
||||
AWIEditR -> i18nCrumb MsgBreadcrumbAdminWorkflowInstanceEdit $ Just AdminWorkflowInstanceListR
|
||||
breadcrumb AdminWorkflowWorkflowListR = i18nCrumb MsgBreadcrumbAdminWorkflowWorkflowList $ Just AdminWorkflowInstanceListR
|
||||
breadcrumb AdminWorkflowWorkflowNewR = i18nCrumb MsgBreadcrumbAdminWorkflowWorkflowNew $ Just AdminWorkflowWorkflowListR
|
||||
|
||||
|
||||
@ -39,6 +39,7 @@ deriving instance Generic ExamOfficeR
|
||||
deriving instance Generic CourseNewsR
|
||||
deriving instance Generic CourseEventR
|
||||
deriving instance Generic AdminWorkflowDefinitionR
|
||||
deriving instance Generic AdminWorkflowInstanceR
|
||||
deriving instance Generic GlobalWorkflowInstanceR
|
||||
deriving instance Generic GlobalWorkflowWorkflowR
|
||||
deriving instance Generic SchoolWorkflowInstanceR
|
||||
@ -64,6 +65,7 @@ deriving instance Ord ExamOfficeR
|
||||
deriving instance Ord CourseNewsR
|
||||
deriving instance Ord CourseEventR
|
||||
deriving instance Ord AdminWorkflowDefinitionR
|
||||
deriving instance Ord AdminWorkflowInstanceR
|
||||
deriving instance Ord GlobalWorkflowInstanceR
|
||||
deriving instance Ord GlobalWorkflowWorkflowR
|
||||
deriving instance Ord SchoolWorkflowInstanceR
|
||||
|
||||
@ -95,7 +95,7 @@ getAdminWorkflowDefinitionListR = do
|
||||
]
|
||||
where
|
||||
anchorEdit :: (WorkflowDefinitionData -> Widget) -> _
|
||||
anchorEdit = anchorCell' (\(view $ resultDefinition . _entityVal -> WorkflowDefinition{..}) -> AdminWorkflowDefinitionR workflowDefinitionScope workflowDefinitionName AWDEditR)
|
||||
anchorEdit = anchorCell' $ \(view $ resultDefinition . _entityVal -> WorkflowDefinition{..}) -> AdminWorkflowDefinitionR workflowDefinitionScope workflowDefinitionName AWDEditR
|
||||
displayGraph graph
|
||||
= [shamlet|
|
||||
$newline never
|
||||
|
||||
@ -2,6 +2,7 @@ module Handler.Workflow.Instance.Edit
|
||||
( getGWIEditR, postGWIEditR
|
||||
, getSWIEditR, postSWIEditR
|
||||
, workflowInstanceEditR
|
||||
, getAWIEditR, postAWIEditR
|
||||
) where
|
||||
|
||||
import Import
|
||||
@ -19,3 +20,8 @@ postSWIEditR ssh = workflowInstanceEditR $ WSSchool ssh
|
||||
|
||||
workflowInstanceEditR :: RouteWorkflowScope -> WorkflowInstanceName -> Handler Html
|
||||
workflowInstanceEditR = error "not implemented"
|
||||
|
||||
|
||||
getAWIEditR, postAWIEditR :: CryptoUUIDWorkflowInstance -> Handler Html
|
||||
getAWIEditR = postAWIEditR
|
||||
postAWIEditR = error "not implemented"
|
||||
|
||||
@ -86,13 +86,19 @@ getAdminWorkflowInstanceListR = do
|
||||
<$> view (_2 . _Value)
|
||||
dbtColonnade :: Colonnade Sortable WorkflowInstanceData _
|
||||
dbtColonnade = mconcat
|
||||
[ sortable (Just "name") (i18nCell MsgWorkflowInstanceName) $ views (resultWorkflowInstance . _entityVal . _workflowInstanceName) i18nCell
|
||||
[ sortable (Just "name") (i18nCell MsgWorkflowInstanceName) . anchorEdit $ views (resultWorkflowInstance . _entityVal . _workflowInstanceName) i18n
|
||||
, sortable (Just "scope") (i18nCell MsgWorkflowScope) . views (resultWorkflowInstance . _entityVal . _workflowInstanceScope . re _DBWorkflowScope) $
|
||||
sqlCell . maybeT (return mempty) . fmap i18n . toRouteWorkflowScope
|
||||
, sortable (Just "title") (i18nCell MsgWorkflowInstanceDescriptionTitle) $ maybe mempty i18nCell . preview (resultDescription . _entityVal . _workflowInstanceDescriptionTitle)
|
||||
, sortable (Just "workflows") (i18nCell MsgWorkflowInstanceWorkflowCount) $ maybe mempty i18nCell . views resultWorkflowCount (assertM' (> 0))
|
||||
, sortable (Just "description") (i18nCell MsgWorkflowInstanceDescription) $ maybe mempty modalCell . preview (resultDescription . _entityVal . _workflowInstanceDescriptionDescription . _Just)
|
||||
]
|
||||
where
|
||||
anchorEdit :: (WorkflowInstanceData -> Widget) -> _
|
||||
anchorEdit f x@(view $ resultWorkflowInstance . _entityKey -> wiId) = anchorCellM mkLink $ f x
|
||||
where mkLink = do
|
||||
cID <- encrypt wiId
|
||||
return $ AdminWorkflowInstanceR cID AWIEditR
|
||||
dbtSorting = mconcat
|
||||
[ singletonMap "name" . SortColumn $ views queryWorkflowInstance (E.^. WorkflowInstanceName)
|
||||
, singletonMap "scope" . SortColumn $ views queryWorkflowInstance (E.^. WorkflowInstanceScope)
|
||||
|
||||
@ -86,6 +86,10 @@ instance Arbitrary AdminWorkflowDefinitionR where
|
||||
arbitrary = genericArbitrary
|
||||
shrink = genericShrink
|
||||
|
||||
instance Arbitrary AdminWorkflowInstanceR where
|
||||
arbitrary = genericArbitrary
|
||||
shrink = genericShrink
|
||||
|
||||
instance Arbitrary GlobalWorkflowInstanceR where
|
||||
arbitrary = genericArbitrary
|
||||
shrink = genericShrink
|
||||
|
||||
Loading…
Reference in New Issue
Block a user