public function updateFromTemplate() { if ($this->Template) { $template = $this->workflowService->getNamedTemplate($this->Template); $template->updateDefinition($this); } }
public function getFieldDependentData(Member $user, $fieldName) { if ($fieldName == 'PendingObjects') { return $this->workflowService->userPendingItems($user); } if ($fieldName == 'SubmittedObjects') { return $this->workflowService->userSubmittedItems($user); } }
/** * Content can never be directly publishable if there's a workflow applied. * * If there's an active instance, then it 'might' be publishable */ public function canPublish() { if ($active = $this->getWorkflowInstance()) { return $active->canPublishTarget($this->owner); } // otherwise, see if there's any workflows applied. If there are, then we shouldn't be able // to directly publish if ($effective = $this->workflowService->getDefinitionFor($this->owner)) { return false; } }
/** * Content can never be directly publishable if there's a workflow applied. * * If there's an active instance, then it 'might' be publishable */ public function canPublish() { // Override any default behaviour, to allow queuedjobs to complete if ($this->isPublishJobRunning()) { return true; } if ($active = $this->getWorkflowInstance()) { return $active->canPublishTarget($this->owner); } // otherwise, see if there's any workflows applied. If there are, then we shouldn't be able // to directly publish if ($effective = $this->workflowService->getDefinitionFor($this->owner)) { return false; } }
public function setIsWorkflowInEffect() { // if there is a workflow applied, we can't set the publishing date directly, only the 'desired' publishing date $effective = $this->workflowService->getDefinitionFor($this->owner); $this->isWorkflowInEffect = $effective ? true : false; }