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 function start(WorkflowProgress $wp) { // lets save the basic data associated with this workflow. $req = $wp->getWorkflowRequestObject(); $db = Loader::db(); $db->Execute('INSERT INTO BasicWorkflowProgressData (wpID, uIDStarted) VALUES (?, ?)', array($wp->getWorkflowProgressID(), $req->getRequesterUserID())); $ui = UserInfo::getByID($req->getRequesterUserID()); // let's get all the people who are set to be notified on entry $message = t('On %s, user %s submitted the following request: %s', Core::make('helper/date')->formatDateTime($wp->getWorkflowProgressDateAdded(), true), $ui->getUserName(), $req->getWorkflowRequestDescriptionObject()->getEmailDescription()); $this->notify($wp, $message, 'notify_on_basic_workflow_entry'); }
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 start(WorkflowProgress $wp) { // lets save the basic data associated with this workflow. $req = $wp->getWorkflowRequestObject(); $db = Loader::db(); $db->Execute('INSERT INTO BasicWorkflowProgressData (wpID, uIDStarted) VALUES (?, ?)', array($wp->getWorkflowProgressID(), $req->getRequesterUserID())); if ($this->canApproveWorkflow()) { // Then that means we have the ability to approve the workflow we just started. // In that case, we transparently approve it, and skip the entry notification step. $wpr = $req->approve($wp); $wp->delete(); } else { $ui = UserInfo::getByID($req->getRequesterUserID()); // let's get all the people who are set to be notified on entry $message = t('On %s, user %s submitted the following request: %s', Core::make('helper/date')->formatDateTime($wp->getWorkflowProgressDateAdded(), true), $ui->getUserName(), $req->getWorkflowRequestDescriptionObject()->getEmailDescription()); $this->notify($wp, $message, 'notify_on_basic_workflow_entry'); } }
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 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; } } }
/** * @param $signup Progress */ public function __construct(Progress $progress) { $this->wpID = $progress->getWorkflowProgressID(); parent::__construct($progress); }