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

classes/submission/reviewer/form/ReviewerReviewStep1Form.inc.php

00001 <?php
00002 
00015 import('classes.submission.reviewer.form.ReviewerReviewForm');
00016 
00017 class ReviewerReviewStep1Form extends ReviewerReviewForm {
00023    function ReviewerReviewStep1Form($request, $reviewerSubmission, $reviewAssignment) {
00024       parent::ReviewerReviewForm($request, $reviewerSubmission, $reviewAssignment, 1);
00025    }
00026 
00027 
00028    //
00029    // Implement protected template methods from Form
00030    //
00034    function fetch(&$request) {
00035       $templateMgr =& TemplateManager::getManager();
00036 
00037       // Add submission parameters.
00038       $submission =& $this->getReviewerSubmission();
00039       $templateMgr->assign('completedSteps', $submission->getStatus());
00040       // FIXME: Need press setting that denotes competing interests are required, see #6402.
00041       $templateMgr->assign('competingInterestsText', $submission->getCompetingInterests());
00042 
00043       // Add review assignment.
00044       $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO');
00045       $reviewAssignment = $reviewAssignmentDao->getById($submission->getReviewId());
00046       $templateMgr->assign_by_ref('reviewAssignment', $reviewAssignment);
00047 
00048       // Add press parameters.
00049       $press =& $this->request->getPress();
00050       $templateMgr->assign_by_ref('press', $press);
00051 
00052       // Add reviewer request text.
00053       $reviewerRequestParams = array(
00054          'reviewer' => $reviewAssignment->getReviewerFullName(),
00055          'personalNote' => 'EDITOR NOTE', // FIXME Bug #6531
00056          'editor' => $press->getSetting('contactName')
00057       );
00058 
00059       $templateMgr->assign('reviewerRequest', __('reviewer.step1.requestBoilerplate', $reviewerRequestParams));
00060 
00061       //
00062       // Assign the link actions
00063       //
00064       import('lib.pkp.classes.linkAction.request.AjaxModal');
00065       import('lib.pkp.classes.linkAction.request.ConfirmationModal');
00066 
00067       $dispatcher =& $request->getDispatcher();
00068       // "View metadata" action.
00069       import('controllers.modals.submissionMetadata.linkAction.ReviewerViewMetadataLinkAction');
00070       $viewMetadataLinkAction = new ReviewerViewMetadataLinkAction($request, $reviewAssignment->getSubmissionId(), $reviewAssignment->getId());
00071       $templateMgr->assign_by_ref('viewMetadataAction', $viewMetadataLinkAction);
00072 
00073       // include the confirmation modal for competing interests if the press has them.
00074       if ($press->getLocalizedSetting('competingInterests') != '') {
00075          import('controllers.confirmationModal.linkAction.ViewCompetingInterestGuidelinesLinkAction');
00076          $competingInterestsAction = new ViewCompetingInterestGuidelinesLinkAction($request);
00077          $templateMgr->assign_by_ref('competingInterestsAction', $competingInterestsAction);
00078       }
00079       // Instantiate the view review guidelines confirmation modal.
00080       $aboutDueDateAction = new LinkAction('viewReviewGuidelines',
00081          new ConfirmationModal(
00082             __('reviewer.aboutDueDates.text'),
00083             __('reviewer.aboutDueDates'),
00084             'modal_information', null, '',
00085             false
00086          ),
00087          __('reviewer.aboutDueDates')
00088       );
00089 
00090       $templateMgr->assign_by_ref('aboutDueDatesAction', $aboutDueDateAction);
00091 
00092       import('lib.pkp.classes.linkAction.request.AjaxModal');
00093       $declineReviewLinkAction = new LinkAction('declineReview',
00094          new AjaxModal(
00095             $request->url(null, null, 'showDeclineReview', $reviewAssignment->getSubmissionId()),
00096             __('reviewer.monograph.declineReview')
00097          )
00098       );
00099       $templateMgr->assign_by_ref('declineReviewAction', $declineReviewLinkAction);
00100 
00101       return parent::fetch($request);
00102    }
00103 
00107    function readInputData() {
00108       $this->readUserVars(array('competingInterestOption', 'competingInterestText'));
00109    }
00110 
00114    function execute() {
00115       $reviewerSubmission =& $this->getReviewerSubmission();
00116 
00117       // Set competing interests.
00118       if ($this->getData('competingInterestOption') == 'hasCompetingInterests') {
00119          $reviewerSubmission->setCompetingInterests($this->request->getUserVar('competingInterestsText'));
00120       } else {
00121          $reviewerSubmission->setCompetingInterests(null);
00122       }
00123 
00124       // Set review to next step.
00125       $this->updateReviewStepAndSaveSubmission($reviewerSubmission);
00126 
00127       $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO');
00128       $reviewAssignment = $reviewAssignmentDao->getById($reviewerSubmission->getReviewId());
00129       // if the reviewer has not previously confirmed the review, then
00130       // Set that the reviewer has accepted the review.
00131       if (!$reviewAssignment->getDateConfirmed()) {
00132          ReviewerAction::confirmReview($this->request, $reviewerSubmission, false, true);
00133       }
00134    }
00135 }
00136 
00137 ?>

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