public function start(WorkflowProgress $wp) { $req = $wp->getWorkflowRequestObject(); $wpr = $req->approve($wp); $wp->delete(); return $wpr; }
public function getWorkflowProgressCurrentStatusNum(WorkflowProgress $wp) { $req = $wp->getWorkflowRequestObject(); if (is_object($req)) { return $req->getWorkflowRequestStatusNum(); } }
public static function getList(WorkflowProgress $wp) { $db = Loader::db(); $r = $db->Execute('select wphID from WorkflowProgressHistory where wpID = ? order by timestamp desc', array($wp->getWorkflowProgressID())); $list = array(); while ($row = $r->FetchRow()) { $obj = $wp->getWorkflowProgressHistoryObjectByID($row['wphID']); if (is_object($obj)) { $list[] = $obj; } } return $list; }
public function getWorkflowRequestAdditionalActions(WorkflowProgress $wp) { $buttons = array(); $c = Page::getByID($this->cID, 'ACTIVE'); $button = new WorkflowProgressAction(); $button->setWorkflowProgressActionLabel(t('Compare Versions')); $button->addWorkflowProgressActionButtonParameter('dialog-title', t('Compare Versions')); $button->addWorkflowProgressActionButtonParameter('dialog-width', '90%'); $button->addWorkflowProgressActionButtonParameter('dialog-height', '70%'); $button->setWorkflowProgressActionStyleInnerButtonLeftHTML('<i class="icon-eye-open"></i>'); $button->setWorkflowProgressActionURL(REL_DIR_FILES_TOOLS_REQUIRED . '/workflow/dialogs/approve_page_preview.php?wpID=' . $wp->getWorkflowProgressID()); $button->setWorkflowProgressActionStyleClass('dialog-launch'); $buttons[] = $button; return $buttons; }
public function getWorkflowRequestAdditionalActions(WorkflowProgress $wp) { $buttons = array(); $w = $wp->getWorkflowObject(); if ($w->canApproveWorkflowProgressObject($wp)) { $c = Page::getByID($this->cID, 'ACTIVE'); $button = new WorkflowProgressAction(); $button->setWorkflowProgressActionLabel(t('View Pending Permissions')); $button->addWorkflowProgressActionButtonParameter('dialog-title', t('Pending Permissions')); $button->addWorkflowProgressActionButtonParameter('dialog-width', '400'); $button->addWorkflowProgressActionButtonParameter('dialog-height', '360'); $button->setWorkflowProgressActionStyleInnerButtonLeftHTML('<i class="icon-eye-open"></i>'); $button->setWorkflowProgressActionURL(REL_DIR_FILES_TOOLS_REQUIRED . '/workflow/dialogs/change_page_permissions?wpID=' . $wp->getWorkflowProgressID()); $button->setWorkflowProgressActionStyleClass('dialog-launch'); $buttons[] = $button; } return $buttons; }
public function delete() { parent::delete(); $db = Loader::db(); $db->Execute('delete from PageWorkflowProgress where wpID = ?', array($this->wpID)); }
<?php defined('C5_EXECUTE') or die("Access Denied."); $c = Page::getByID($_REQUEST['cID']); $cp = new Permissions($c); $obj = new stdClass(); if ($_REQUEST['task'] == 'save_workflow_progress' && Loader::helper("validation/token")->validate('save_workflow_progress')) { $wp = PageWorkflowProgress::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(); } else { $obj->redirect = BASE_URL . DIR_REL . '/' . DISPATCHER_FILENAME . '?cID=' . $_REQUEST['cID']; } } } } } print Loader::helper('json')->encode($obj);
public function getWorkflowProgressStatusDescription(WorkflowProgress $wp) { $req = $wp->getWorkflowRequestObject(); return $req->getWorkflowRequestDescriptionObject()->getShortStatus(); }
<?php defined('C5_EXECUTE') or die("Access Denied."); $wp = WorkflowProgress::getByID($_REQUEST['wpID']); $ih = Loader::helper('concrete/interface'); $wf = $wp->getWorkflowObject(); $req = $wp->getWorkflowRequestObject(); if ($wp instanceof PageWorkflowProgress) { if ($wf->canApproveWorkflowProgressObject($wp)) { $rvc = Page::getByID($req->getRequestedPageID(), $req->getRequestedVersionID()); $rv = $rvc->getVersionObject(); $rvl = Page::getByID($req->getRequestedPageID(), 'ACTIVE'); $rvr = Page::getByID($req->getRequestedPageID(), 'RECENT'); $liveCVID = $rvl->getVersionID(); $recentCVID = $rvr->getVersionID(); $tabs = array(array('requested-version', t('Requested Version: %s', $rv->getVersionComments()), true), array('live-version', t('Live Version'))); if ($liveCVID != $recentCVID) { $tabs[] = array('recent-version', t('Most Recent Version')); } ?> <div class="ccm-ui"> <?php echo $ih->tabs($tabs); ?> <div style="display: block" id="ccm-tab-content-requested-version"> <iframe border="0" id="v<?php echo time(); ?>
public function runTask($task, WorkflowProgress $wp) { if (method_exists($this, $task)) { if ($task == 'approve') { // we check to see if any other outstanding workflowprogress requests have this id // if they don't we proceed $db = Loader::db(); $num = $db->GetOne('select count(wpID) as total from WorkflowProgress where wpID <> ? and wrID = ? and wpIsCompleted = 0', array($wp->getWorkflowProgressID(), $this->getWorkflowRequestID())); if ($num == 0) { $wpr = call_user_func_array(array($this, $task), array($wp)); return $wpr; } } } }