Beispiel #1
0
 public function start(WorkflowProgress $wp)
 {
     $req = $wp->getWorkflowRequestObject();
     $wpr = $req->approve($wp);
     $wp->delete();
     return $wpr;
 }
Beispiel #2
0
 public function getWorkflowProgressCurrentStatusNum(WorkflowProgress $wp)
 {
     $req = $wp->getWorkflowRequestObject();
     if (is_object($req)) {
         return $req->getWorkflowRequestStatusNum();
     }
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
 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;
	}
Beispiel #6
0
 public function delete()
 {
     parent::delete();
     $db = Loader::db();
     $db->Execute('delete from PageWorkflowProgress where wpID = ?', array($this->wpID));
 }
Beispiel #7
0
<?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);
Beispiel #8
0
 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();
        ?>
Beispiel #10
0
 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;
             }
         }
     }
 }