function approval_user_commit()
 {
     // Params
     $item = $this->_controler->_actionParams['item'];
     $svState = $this->_controler->_actionParams['svState'];
     $sVersion = $this->_controler->_actionParams['sVersion'];
     $usComment = $this->_controler->_actionParams['usComment'];
     $user = $this->_controler->getUser();
     $review = new Docman_ApprovalReviewer();
     $review->setId($user->getId());
     $review->setState($svState);
     $review->setComment($usComment);
     if ($svState != PLUGIN_DOCMAN_APPROVAL_STATE_NOTYET) {
         $review->setVersion($sVersion);
         $review->setReviewDate(time());
     } else {
         $review->setVersion(null);
         $review->setReviewDate(null);
     }
     $atrf =& Docman_ApprovalTableFactory::getReviewerFactoryFromItem($item);
     $atrf->setNotificationManager($this->_controler->notificationsManager);
     $updated = $atrf->updateReview($review);
     if ($updated) {
         $this->event_manager->processEvent(PLUGIN_DOCMAN_EVENT_APPROVAL_TABLE_COMMENT, array('item' => $item, 'version_nb' => $sVersion, 'table' => $atrf->getTable(), 'review' => $review));
         $this->_controler->feedback->log('info', $GLOBALS['Language']->getText('plugin_docman', 'approval_review_success'));
     } else {
         $this->_controler->feedback->log('error', $GLOBALS['Language']->getText('plugin_docman', 'approval_review_failure'));
     }
     $this->monitor($this->_controler->_actionParams);
 }
 function createReviewerFromRow($row)
 {
     $reviewer = new Docman_ApprovalReviewer();
     $reviewer->initFromRow($row);
     return $reviewer;
 }
Example #3
0
 /**
  * Populate reviewers list of an approval table
  *
  * @param Docman_ApprovalTable $table Approval table
  *
  * @return Void
  */
 private function populateReviewersList(Docman_ApprovalTable $table)
 {
     $dao = new Docman_ApprovalTableReviewerDao(CodendiDataAccess::instance());
     $dar = $dao->getReviewerList($table->getId());
     if ($dar && !$dar->isError()) {
         foreach ($dar as $row) {
             $reviewer = new Docman_ApprovalReviewer();
             $reviewer->initFromRow($row);
             $table->addReviewer($reviewer);
             unset($reviewer);
         }
     }
 }