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 function clearNotification(Progress $progress) { $r = $this->entityManager->getRepository('Concrete\\Core\\Entity\\Notification\\WorkflowProgressNotification'); $notification = $r->findOneBy(array('wpID' => $progress->getWorkflowProgressID())); if (is_object($notification)) { $this->entityManager->remove($notification); $this->entityManager->flush(); } }
public static function getList(Progress $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 getWorkflowProgressObject() { if (!isset($this->progressObject)) { $this->progressObject = Progress::getByID($this->wpID); } return $this->progressObject; }
public static function add(Workflow $wf, UserRequest $wr) { $wp = parent::add('user', $wf, $wr); $db = Loader::db(); $db->Replace('UserWorkflowProgress', array('uID' => $wr->getRequestedUserID(), 'wpID' => $wp->getWorkflowProgressID()), array('uID', 'wpID'), true); $wp->uID = $wr->getRequestedUserID(); return $wp; }
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 getWorkflowRequestAdditionalActions(WorkflowProgress $wp) { $buttons = array(); $c = Page::getByID($this->cID, 'ACTIVE'); $cp = new Permissions($c); if ($cp->canViewPageVersions()) { $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->addWorkflowProgressActionButtonParameter('data-dismiss-alert', 'page-alert'); $button->addWorkflowProgressActionButtonParameter('dialog-height', '70%'); $button->setWorkflowProgressActionStyleInnerButtonLeftHTML('<i class="fa fa-eye"></i>'); $button->setWorkflowProgressActionURL(REL_DIR_FILES_TOOLS_REQUIRED . '/workflow/dialogs/approve_page_preview?wpID=' . $wp->getWorkflowProgressID()); $button->setWorkflowProgressActionStyleClass('btn-default dialog-launch'); $buttons[] = $button; } return $buttons; }
public function delete() { parent::delete(); $db = Loader::db(); $db->Execute('delete from PageWorkflowProgress where wpID = ?', array($this->wpID)); }
public function getWorkflowProgressStatusDescription(WorkflowProgress $wp) { $req = $wp->getWorkflowRequestObject(); return $req->getWorkflowRequestDescriptionObject()->getShortStatus(); }
<?php defined('C5_EXECUTE') or die("Access Denied."); $wp = \Concrete\Core\Workflow\Progress\Progress::getByID($_REQUEST['wpID']); $ih = Loader::helper('concrete/ui'); $wf = $wp->getWorkflowObject(); $req = $wp->getWorkflowRequestObject(); if ($wp instanceof \Concrete\Core\Workflow\Progress\PageProgress) { $rvc = Page::getByID($req->getRequestedPageID(), $req->getRequestedVersionID()); $rvcp = new Permissions($rvc); if ($rvcp->canViewPageVersions()) { $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" style="height: 100%"> <?php echo $ih->tabs($tabs); ?> <div style="display: block; height: 100%" 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 = Database::connection(); $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; } } else { $wpr = call_user_func_array(array($this, $task), array($wp)); return $wpr; } } }
public function delete() { parent::delete(); $db = Database::connection(); $db->Execute('delete from PageWorkflowProgress where wpID = ?', array($this->wpID)); }
defined('C5_EXECUTE') or die("Access Denied."); $u = User::getByUserID($_REQUEST['uID']); $obj = new stdClass(); $obj->tableData = t('None'); use Concrete\Core\Workflow\Progress\Response as WorkflowProgressResponse; use Concrete\Core\Workflow\Progress\Progress as WorkflowProgress; use Concrete\Core\Workflow\Progress\UserProgress as UserWorkflowProgress; 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();