Exemplo n.º 1
0
 /**
  * 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;
         }
     }
 }
Exemplo n.º 2
0
 /**
  * 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;
         }
     }
 }
Exemplo n.º 3
0
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);