Exemple #1
0
 public function approve(WorkflowProgress $wp)
 {
     if ($this->canApproveWorkflowProgressObject($wp)) {
         $req = $wp->getWorkflowRequestObject();
         $bdw = new BasicWorkflowProgressData($wp);
         $u = new User();
         $bdw->markCompleted($u);
         $ux = UserInfo::getByID($bdw->getUserCompletedID());
         $message = t("On %s, user %s approved the following request: \n\n---\n%s\n---\n\n", Loader::helper('date')->formatDateTime($bdw->getDateCompleted(), true, false), $ux->getUserName(), $req->getWorkflowRequestDescriptionObject()->getEmailDescription());
         $this->notify($wp, $message, 'notify_on_basic_workflow_approve');
         $wpr = $req->runTask('approve', $wp);
         $wp->markCompleted();
         $hist = new BasicWorkflowHistoryEntry();
         $hist->setAction('approve');
         $hist->setRequesterUserID($u->getUserID());
         $wp->addWorkflowProgressHistoryObject($hist);
         $bdw = new BasicWorkflowProgressData($wp);
         $bdw->delete();
         return $wpr;
     }
 }