• Main Page
  • Modules
  • Classes
  • Files
  • File List

controllers/grid/users/reviewer/form/ThankReviewerForm.inc.php

00001 <?php
00002 
00015 import('lib.pkp.classes.form.Form');
00016 
00017 class ThankReviewerForm extends Form {
00019    var $_reviewAssignment;
00020 
00024    function ThankReviewerForm(&$reviewAssignment) {
00025       parent::Form('controllers/grid/users/reviewer/form/thankReviewerForm.tpl');
00026       $this->_reviewAssignment =& $reviewAssignment;
00027 
00028       // Validation checks for this form
00029       $this->addCheck(new FormValidatorPost($this));
00030    }
00031 
00032    //
00033    // Getters and Setters
00034    //
00039    function &getReviewAssignment() {
00040       return $this->_reviewAssignment;
00041    }
00042 
00043    //
00044    // Overridden template methods
00045    //
00051    function initData($args, &$request) {
00052       $userDao =& DAORegistry::getDAO('UserDAO');
00053       $user =& $request->getUser();
00054       $press =& $request->getPress();
00055 
00056       $reviewAssignment =& $this->getReviewAssignment();
00057       $reviewerId = $reviewAssignment->getReviewerId();
00058       $reviewer =& $userDao->getById($reviewerId);
00059 
00060       $monographDao =& DAORegistry::getDAO('MonographDAO');
00061       $monograph =& $monographDao->getById($reviewAssignment->getSubmissionId());
00062 
00063       import('classes.mail.MonographMailTemplate');
00064       $email = new MonographMailTemplate($monograph, 'REVIEW_ACK');
00065 
00066       $dispatcher =& $request->getDispatcher();
00067       $paramArray = array(
00068          'reviewerName' => $reviewer->getFullName(),
00069          'editorialContactSignature' => $user->getContactSignature(),
00070          'reviewerUserName' => $reviewer->getUsername(),
00071          'passwordResetUrl' => $dispatcher->url($request, ROUTE_PAGE, null, 'login', 'resetPassword', $reviewer->getUsername(), array('confirm' => Validation::generatePasswordResetHash($reviewer->getId()))),
00072          'submissionReviewUrl' => $dispatcher->url($request, ROUTE_PAGE, null, 'reviewer', 'submission', null, array('monographId' => $reviewAssignment->getSubmissionId()))
00073       );
00074       $email->assignParams($paramArray);
00075 
00076       $this->setData('monographId', $monograph->getId());
00077       $this->setData('stageId', $reviewAssignment->getStageId());
00078       $this->setData('reviewAssignmentId', $reviewAssignment->getId());
00079       $this->setData('reviewAssignment', $reviewAssignment);
00080       $this->setData('reviewerName', $reviewer->getFullName() . ' <' . $reviewer->getEmail() . '>');
00081       $this->setData('message', $email->getBody() . "\n" . $press->getSetting('emailSignature'));
00082    }
00083 
00088    function readInputData() {
00089       $this->readUserVars(array('message', 'skipEmail'));
00090    }
00091 
00097    function execute($args, &$request) {
00098       $userDao =& DAORegistry::getDAO('UserDAO');
00099       $monographDao =& DAORegistry::getDAO('MonographDAO');
00100 
00101       $reviewAssignment =& $this->getReviewAssignment();
00102       $reviewerId = $reviewAssignment->getReviewerId();
00103       $reviewer =& $userDao->getById($reviewerId);
00104       $monograph =& $monographDao->getById($reviewAssignment->getSubmissionId());
00105 
00106       import('classes.mail.MonographMailTemplate');
00107       $email = new MonographMailTemplate($monograph, 'REVIEW_ACK', null, null, null, false);
00108 
00109       $email->addRecipient($reviewer->getEmail(), $reviewer->getFullName());
00110       $email->setBody($this->getData('message'));
00111 
00112       if (!$this->getData('skipEmail')) {
00113          HookRegistry::call('SeriesEditorAction::thankReviewer', array(&$monograph, &$reviewAssignment, &$email));
00114          $email->send($request);
00115       }
00116 
00117       // update the ReviewAssignment with the acknowledged date
00118       $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO');
00119       $reviewAssignment->setDateAcknowledged(Core::getCurrentDate());
00120       $reviewAssignment->stampModified();
00121       $reviewAssignment->setUnconsidered(REVIEW_ASSIGNMENT_NOT_UNCONSIDERED);
00122       $reviewAssignmentDao->updateReviewAssignment($reviewAssignment);
00123    }
00124 }
00125 
00126 ?>

Generated on Mon Sep 17 2012 13:58:56 for Open Monograph Press by  doxygen 1.7.1