diff --git a/CHANGELOG b/CHANGELOG index 5c0e2d9f9..f045965a4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -64,6 +64,11 @@ - add .xml to online file types by default - add home folder for users +-------------------------------------------------------------------------------- + Changes in version 4.3.30 +-------------------------------------------------------------------------------- +- fix adding new workflows + -------------------------------------------------------------------------------- Changes in version 4.3.29 -------------------------------------------------------------------------------- diff --git a/Makefile b/Makefile index baebc7bca..f02804a40 100644 --- a/Makefile +++ b/Makefile @@ -52,6 +52,6 @@ doc: $(PHPDOC) -d SeedDMS_Core --ignore 'getusers.php,getfoldertree.php,config.php,reverselookup.php' --force -t html apidoc: - apigen generate -s SeedDMS_Core --exclude tests --skip-doc-prefix tests -d html + apigen generate -s SeedDMS_Core --exclude tests -d html .PHONY: webdav webapp diff --git a/op/op.SetExpires.php b/op/op.SetExpires.php index aa5d90435..dbb80b021 100644 --- a/op/op.SetExpires.php +++ b/op/op.SetExpires.php @@ -52,12 +52,29 @@ if (!isset($_POST["expires"]) || $_POST["expires"] != "false") { $expires = mktime(0,0,0, $_POST["expmonth"], $_POST["expday"], $_POST["expyear"]); } } + +if(isset($GLOBALS['SEEDDMS_HOOKS']['setExpires'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['setExpires'] as $hookObj) { + if (method_exists($hookObj, 'preSetExpires')) { + $hookObj->preSetExpires(array('document'=>$document, 'expires'=>&$expires)); + } + } +} + if (!$document->setExpires($expires)){ UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } $document->verifyLastestContentExpriry(); +if(isset($GLOBALS['SEEDDMS_HOOKS']['setExpires'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['setExpires'] as $hookObj) { + if (method_exists($hookObj, 'postSetExpires')) { + $hookObj->postSetExpires(array('document'=>$document, 'expires'=>$expires)); + } + } +} + add_log_line("?documentid=".$documentid); header("Location:../out/out.ViewDocument.php?documentid=".$documentid); diff --git a/op/op.TriggerWorkflow.php b/op/op.TriggerWorkflow.php index 704d128fe..f8b4f9725 100644 --- a/op/op.TriggerWorkflow.php +++ b/op/op.TriggerWorkflow.php @@ -68,23 +68,19 @@ if(!$version->triggerWorkflowTransitionIsAllowed($user, $transition)) { $workflow = $transition->getWorkflow(); +if(isset($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'] as $hookObj) { + if (method_exists($hookObj, 'preTriggerWorkflowTransition')) { + $hookObj->preTriggerWorkflowTransition(array('version'=>$version, 'transition'=>$transition, 'comment'=>$_POST["comment"])); + } + } +} + if($version->triggerWorkflowTransition($user, $transition, $_POST["comment"])) { if ($notifier) { $nl = $document->getNotifyList(); $folder = $document->getFolder(); -/* - $subject = "###SITENAME###: ".$document->getName()." - ".getMLText("transition_triggered_email"); - $message = getMLText("transition_triggered_email")."\r\n"; - $message .= - getMLText("document").": ".$document->getName()."\r\n". - getMLText("workflow").": ".$workflow->getName()."\r\n". - getMLText("action").": ".$transition->getAction()->getName()."\r\n". - getMLText("comment").": ".$_POST["comment"]."\r\n". - getMLText("previous_state").": ".$transition->getState()->getName()."\r\n". - getMLText("current_state").": ".$transition->getNextState()->getName()."\r\n". - getMLText("user").": ".$user->getFullName()." <". $user->getEmail() ."> "; -*/ $subject = "transition_triggered_email_subject"; $message = "transition_triggered_email_body"; $params = array(); @@ -131,6 +127,14 @@ if($version->triggerWorkflowTransition($user, $transition, $_POST["comment"])) { } } } + + if(isset($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'] as $hookObj) { + if (method_exists($hookObj, 'postTriggerWorkflowTransition')) { + $hookObj->postTriggerWorkflowTransition(array('version'=>$version, 'transition'=>$transition, 'comment'=>$_POST["comment"])); + } + } + } } add_log_line("?documentid=".$documentid."&version".$version_num); diff --git a/views/bootstrap/class.WorkflowMgr.php b/views/bootstrap/class.WorkflowMgr.php index 637aa4255..2b7fb850b 100644 --- a/views/bootstrap/class.WorkflowMgr.php +++ b/views/bootstrap/class.WorkflowMgr.php @@ -143,7 +143,7 @@ $(document).ready(function() { ?> isUsed()) { + if($workflow && !$workflow->isUsed()) { ?> params['selworkflow']; - if($selworkflow) $this->showWorkflowForm($selworkflow); } /* }}} */