public function addWorkflowProgress(Workflow $wf) { $pwp = PageWorkflowProgress::add($wf, $this); $r = $pwp->start(); $pwp->setWorkflowProgressResponseObject($r); return $pwp; }
public function run() { // retrieve all pending page workflow progresses $list = PageProgress::getPendingWorkflowProgressList(); $r = $list->get(); foreach ($r as $w) { $wp = $w->getWorkflowProgressObject(); $wo = $wp->getWorkflowObject(); if ($wo instanceof EmptyWorkflow) { $wp->delete(); } } }
public function get($itemsToGet = 0, $offset = 0) { $_pages = DatabaseItemList::get($itemsToGet, $offset); $pages = array(); foreach ($_pages as $row) { $c = ConcretePage::getByID($row['cID']); $cp = new Permissions($c); if ($cp->canViewPageVersions()) { $c->loadVersionObject('RECENT'); } else { $c->loadVersionObject('ACTIVE'); } $wp = PageWorkflowProgress::getByID($row['wpID']); $pages[] = new Page($c, $wp); } return $pages; }
?> </p> <p> <button class="btn btn-primary" type="submit"><?php echo $isGlobalArea ? t('Create localized global area version') : t('Create localized stack version'); ?> </button><br /> </p> </div> </form> <?php } else { $cpc = new Permissions($stackToEdit); $showApprovalButton = false; $hasPendingPageApproval = false; $workflowList = PageWorkflowProgress::getList($stackToEdit); foreach ($workflowList as $wl) { $wr = $wl->getWorkflowRequestObject(); $wrk = $wr->getWorkflowRequestPermissionKeyObject(); if ($wrk->getPermissionKeyHandle() == 'approve_page_versions') { $hasPendingPageApproval = true; break; } } if (!$hasPendingPageApproval) { $vo = $stackToEdit->getVersionObject(); $composer = Core::make('helper/concrete/composer'); if ($cpc->canApprovePageVersions()) { $publishTitle = $composer->getPublishButtonTitle($stackToEdit); $showApprovalButton = true; }
<?php defined('C5_EXECUTE') or die("Access Denied."); $html = Core::make('helper/html'); $dh = Core::make('helper/concrete/dashboard'); $ihm = Core::make('helper/concrete/ui/menu'); $valt = Core::make('helper/validation/token'); $token = '&' . $valt->getParameter(); $logouttoken = $valt->generate('logout'); $cID = $c->getCollectionID(); $permissions = new Permissions($c); $workflowList = \Concrete\Core\Workflow\Progress\PageProgress::getList($c); $canViewToolbar = $cp->canViewToolbar(); $show_titles = !!Config::get('concrete.accessibility.toolbar_titles'); $large_font = !!Config::get('concrete.accessibility.toolbar_large_font'); if (isset($cp) && $canViewToolbar && !$dh->inDashboard()) { $canApprovePageVersions = $cp->canApprovePageVersions(); $u = new User(); $username = $u->getUserName(); $vo = $c->getVersionObject(); $pageInUseBySomeoneElse = false; if ($c->isCheckedOut()) { if (!$c->isCheckedOutByMe()) { $pageInUseBySomeoneElse = true; } } if (!$c->isEditMode()) { print Core::make('helper/concrete/ui/help')->displayHelpDialogLauncher(); } $cih = Core::make("helper/concrete/ui"); if ($cih->showHelpOverlay()) {
<?php defined('C5_EXECUTE') or die("Access Denied."); $c = Page::getByID($_REQUEST['cID']); $cp = new Permissions($c); use Concrete\Core\Workflow\Progress\Response as WorkflowProgressResponse; use Concrete\Core\Workflow\Progress\Progress as WorkflowProgress; use Concrete\Core\Workflow\Progress\PageProgress as PageWorkflowProgress; $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 = (string) $r->getWorkflowProgressResponseURL(); } else { $obj->redirect = (string) URL::to($c); } } } } } print Loader::helper('json')->encode($obj);