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');
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 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;
 }
Esempio n. 6
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 = 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);
 }