Commit 20db631774b70d09f8fc587e50c0fd131ec4a661
1 parent
22407fb5
Add workflow control over the actions available in documents.
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3734 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
35 additions
and
0 deletions
presentation/lookAndFeel/knowledgeTree/administration/workflow/workflows.php
| @@ -38,6 +38,8 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | @@ -38,6 +38,8 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | ||
| 38 | 'aStates' => KTWorkflowState::getByWorkflow($oWorkflow), | 38 | 'aStates' => KTWorkflowState::getByWorkflow($oWorkflow), |
| 39 | 'aTransitions' => KTWorkflowTransition::getByWorkflow($oWorkflow), | 39 | 'aTransitions' => KTWorkflowTransition::getByWorkflow($oWorkflow), |
| 40 | 'aPermissions' => KTPermission::getList(), | 40 | 'aPermissions' => KTPermission::getList(), |
| 41 | + 'aActions' => KTDocumentActionUtil::getAllDocumentActions(), | ||
| 42 | + 'aActionsSelected' => KTWorkflowUtil::getControlledActionsForWorkflow($oWorkflow), | ||
| 41 | )); | 43 | )); |
| 42 | return $oTemplate; | 44 | return $oTemplate; |
| 43 | } | 45 | } |
| @@ -48,6 +50,11 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | @@ -48,6 +50,11 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | ||
| 48 | $oWorkflow =& KTDispatcherValidation::validateWorkflow($this, $_REQUEST['fWorkflowId']); | 50 | $oWorkflow =& KTDispatcherValidation::validateWorkflow($this, $_REQUEST['fWorkflowId']); |
| 49 | $oWorkflow->setName($_REQUEST['fName']); | 51 | $oWorkflow->setName($_REQUEST['fName']); |
| 50 | $oWorkflow->setHumanName($_REQUEST['fName']); | 52 | $oWorkflow->setHumanName($_REQUEST['fName']); |
| 53 | + if (!empty($_REQUEST['fStartStateId'])) { | ||
| 54 | + $oWorkflow->setStartStateId($_REQUEST['fStartStateId']); | ||
| 55 | + } else { | ||
| 56 | + $oWorkflow->setStartStateId(null); | ||
| 57 | + } | ||
| 51 | $res = $oWorkflow->update(); | 58 | $res = $oWorkflow->update(); |
| 52 | KTDispatcherValidation::notErrorFalse($this, $res, array( | 59 | KTDispatcherValidation::notErrorFalse($this, $res, array( |
| 53 | 'redirect_to' => array('editWorkflow', 'fWorkflowId=' . $oWorkflow->getId()), | 60 | 'redirect_to' => array('editWorkflow', 'fWorkflowId=' . $oWorkflow->getId()), |
| @@ -73,6 +80,19 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | @@ -73,6 +80,19 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | ||
| 73 | } | 80 | } |
| 74 | // }}} | 81 | // }}} |
| 75 | 82 | ||
| 83 | + // {{{ do_setWorkflowActions | ||
| 84 | + function do_setWorkflowActions() { | ||
| 85 | + $oWorkflow =& KTDispatcherValidation::validateWorkflow($this, $_REQUEST['fWorkflowId']); | ||
| 86 | + $res = KTWorkflowUtil::setControlledActionsForWorkflow($oWorkflow, $_REQUEST['fActions']); | ||
| 87 | + KTDispatcherValidation::notErrorFalse($this, $res, array( | ||
| 88 | + 'redirect_to' => array('editWorkflow', 'fWorkflowId=' . $oWorkflow->getId()), | ||
| 89 | + 'message' => 'Error saving workflow controlled actions', | ||
| 90 | + )); | ||
| 91 | + $this->successRedirectTo('editWorkflow', 'Changes saved', 'fWorkflowId=' . $oWorkflow->getId()); | ||
| 92 | + exit(0); | ||
| 93 | + } | ||
| 94 | + // }}} | ||
| 95 | + | ||
| 76 | // }}} | 96 | // }}} |
| 77 | 97 | ||
| 78 | // {{{ STATE HANDLING | 98 | // {{{ STATE HANDLING |
| @@ -118,6 +138,8 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | @@ -118,6 +138,8 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | ||
| 118 | 'aTransitionsTo' => $aTransitionsTo, | 138 | 'aTransitionsTo' => $aTransitionsTo, |
| 119 | 'aTransitions' => $aTransitions, | 139 | 'aTransitions' => $aTransitions, |
| 120 | 'aTransitionsSelected' => $aTransitionsSelected, | 140 | 'aTransitionsSelected' => $aTransitionsSelected, |
| 141 | + 'aActions' => KTDocumentActionUtil::getDocumentActionsByNames(KTWorkflowUtil::getControlledActionsForWorkflow($oWorkflow)), | ||
| 142 | + 'aActionsSelected' => KTWorkflowUtil::getEnabledActionsForState($oState), | ||
| 121 | )); | 143 | )); |
| 122 | return $oTemplate; | 144 | return $oTemplate; |
| 123 | } | 145 | } |
| @@ -153,6 +175,19 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | @@ -153,6 +175,19 @@ class KTWorkflowDispatcher extends KTStandardDispatcher { | ||
| 153 | } | 175 | } |
| 154 | // }}} | 176 | // }}} |
| 155 | 177 | ||
| 178 | + // {{{ do_setStateActions | ||
| 179 | + function do_setStateActions() { | ||
| 180 | + $oWorkflow =& KTDispatcherValidation::validateWorkflow($this, $_REQUEST['fWorkflowId']); | ||
| 181 | + $oState =& KTDispatcherValidation::validateWorkflowState($this, $_REQUEST['fStateId']); | ||
| 182 | + $res = KTWorkflowUtil::setEnabledActionsForState($oState, $_REQUEST['fActions']); | ||
| 183 | + KTDispatcherValidation::notErrorFalse($this, $res, array( | ||
| 184 | + 'redirect_to' => array('editState', 'fWorkflowId=' . $oWorkflow->getId(), '&fStateId=' . $oState->getId()), | ||
| 185 | + 'message' => 'Error saving state enabled actions', | ||
| 186 | + )); | ||
| 187 | + $this->successRedirectTo('editState', 'Actions set', 'fWorkflowId=' . $oWorkflow->getId() . '&fStateId=' . $oState->getId()); | ||
| 188 | + exit(0); | ||
| 189 | + } | ||
| 190 | + // }}} | ||
| 156 | // }}} | 191 | // }}} |
| 157 | 192 | ||
| 158 | // {{{ TRANSITION HANDLING | 193 | // {{{ TRANSITION HANDLING |