/** * Get the WorkflowRequest object for the current WorkflowProgress object * @return WorkflowRequest */ public function getWorkflowRequestObject() { if ($this->wrID > 0) { $cat = WorkflowProgressCategory::getByID($this->wpCategoryID); $handle = $cat->getWorkflowProgressCategoryHandle(); $class = '\\Concrete\\Core\\Workflow\\Request\\' . Loader::helper('text')->camelcase($handle) . 'Request'; $wr = call_user_func_array(array($class, 'getByID'), array($this->wrID)); if (is_object($wr)) { $wr->setCurrentWorkflowProgressObject($this); return $wr; } } }
/** * Get the WorkflowRequest object for the current WorkflowProgress object. * * @return WorkflowRequest */ public function getWorkflowRequestObject() { if ($this->wrID > 0) { $cat = WorkflowProgressCategory::getByID($this->wpCategoryID); $handle = $cat->getWorkflowProgressCategoryHandle(); $class = '\\Core\\Workflow\\Request\\' . Core::make('helper/text')->camelcase($handle) . 'Request'; $pkHandle = $cat->getPackageHandle(); $class = core_class($class, $pkHandle); $wr = $class::getByID($this->wrID); if (is_object($wr)) { $wr->setCurrentWorkflowProgressObject($this); return $wr; } } }
use Concrete\Core\Workflow\Progress\Category as WorkflowProgressCategory; if ($_REQUEST['task'] == 'save_user_workflow_progress' && Loader::helper("validation/token")->validate('save_user_workflow_progress')) { $wp = UserWorkflowProgress::getByID($_REQUEST['wpID']); if (is_object($wp)) { $wf = $wp->getWorkflowObject(); $form = Loader::helper('form'); $obj->wpID = $wp->getWorkflowProgressID(); if ($wf->canApproveWorkflowProgressObject($wp)) { $task = WorkflowProgress::getRequestedTask(); if ($task) { $r = $wp->runTask($task, $_POST); if ($r instanceof WorkflowProgressResponse && $r->getWorkflowProgressResponseURL() != '') { $obj->redirect = $r->getWorkflowProgressResponseURL(); $obj->message = $r->message; } else { $obj->redirect = BASE_URL . View::url('/dashboard/users/search') . '?uID=' . $_REQUEST['uID']; } $category = WorkflowProgressCategory::getByID($wp->getWorkflowProgressCategoryID()); $list = $category->getPendingWorkflowProgressList(); $items = $list->get(); // start a new buffer ob_start(); Loader::element('workflow/progress/categories/user/table_data', array('items' => $items, 'list' => $list)); $obj->tableData = ob_get_contents(); // flush the bugger & close it ob_end_clean(); } } } } print Loader::helper('json')->encode($obj);