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; }
/** * 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); } } }