17 define(
'SUBMISSION_REVIEWER_RECOMMENDATION_ACCEPT', 1);
 
   18 define(
'SUBMISSION_REVIEWER_RECOMMENDATION_PENDING_REVISIONS', 2);
 
   19 define(
'SUBMISSION_REVIEWER_RECOMMENDATION_RESUBMIT_HERE', 3);
 
   20 define(
'SUBMISSION_REVIEWER_RECOMMENDATION_RESUBMIT_ELSEWHERE', 4);
 
   21 define(
'SUBMISSION_REVIEWER_RECOMMENDATION_DECLINE', 5);
 
   22 define(
'SUBMISSION_REVIEWER_RECOMMENDATION_SEE_COMMENTS', 6);
 
   24 define(
'SUBMISSION_REVIEWER_RATING_VERY_GOOD', 5);
 
   25 define(
'SUBMISSION_REVIEWER_RATING_GOOD', 4);
 
   26 define(
'SUBMISSION_REVIEWER_RATING_AVERAGE', 3);
 
   27 define(
'SUBMISSION_REVIEWER_RATING_POOR', 2);
 
   28 define(
'SUBMISSION_REVIEWER_RATING_VERY_POOR', 1);
 
   30 define(
'SUBMISSION_REVIEW_METHOD_BLIND', 1);
 
   31 define(
'SUBMISSION_REVIEW_METHOD_DOUBLEBLIND', 2);
 
   32 define(
'SUBMISSION_REVIEW_METHOD_OPEN', 3);
 
   36 define(
'REVIEW_ASSIGNMENT_NOT_UNCONSIDERED', 0); 
 
   37 define(
'REVIEW_ASSIGNMENT_UNCONSIDERED', 1); 
 
   38 define(
'REVIEW_ASSIGNMENT_UNCONSIDERED_READ', 2); 
 
   40 define(
'REVIEW_ASSIGNMENT_STATUS_AWAITING_RESPONSE', 0); 
 
   41 define(
'REVIEW_ASSIGNMENT_STATUS_DECLINED', 1); 
 
   42 define(
'REVIEW_ASSIGNMENT_STATUS_RESPONSE_OVERDUE', 4); 
 
   43 define(
'REVIEW_ASSIGNMENT_STATUS_ACCEPTED', 5); 
 
   44 define(
'REVIEW_ASSIGNMENT_STATUS_REVIEW_OVERDUE', 6); 
 
   45 define(
'REVIEW_ASSIGNMENT_STATUS_RECEIVED', 7); 
 
   46 define(
'REVIEW_ASSIGNMENT_STATUS_COMPLETE', 8); 
 
   47 define(
'REVIEW_ASSIGNMENT_STATUS_THANKED', 9); 
 
   48 define(
'REVIEW_ASSIGNMENT_STATUS_CANCELLED', 10); 
 
   61       return $this->
getData(
'submissionId');
 
   69       $this->
setData(
'submissionId', $submissionId);
 
   77       return $this->
getData(
'reviewerId');
 
   85       $this->
setData(
'reviewerId', $reviewerId);
 
   93       return $this->
getData(
'reviewerFullName');
 
  101       $this->
setData(
'reviewerFullName', $reviewerFullName);
 
  109       return $this->
getData(
'comments');
 
  117       $this->
setData(
'comments', $comments);
 
  125       return $this->
getData(
'competingInterests');
 
  133       $this->
setData(
'competingInterests', $competingInterests);
 
  141       return $this->
getData(
'stageId');
 
  149       $this->
setData(
'stageId', $stageId);
 
  157       return $this->
getData(
'reviewMethod');
 
  165       $this->
setData(
'reviewMethod', $method);
 
  173       return $this->
getData(
'reviewRoundId');
 
  181       $this->
setData(
'reviewRoundId', $reviewRoundId);
 
  189       return $this->
getData(
'recommendation');
 
  197       $this->
setData(
'recommendation', $recommendation);
 
  205       return $this->
getData(
'unconsidered');
 
  213       $this->
setData(
'unconsidered', $unconsidered);
 
  221       return $this->
getData(
'dateRated');
 
  229       $this->
setData(
'dateRated', $dateRated);
 
  237       return $this->
getData(
'lastModified');
 
  245       $this->
setData(
'lastModified', $dateModified);
 
  260       return $this->
getData(
'dateAssigned');
 
  268       $this->
setData(
'dateAssigned', $dateAssigned);
 
  276       return $this->
getData(
'dateNotified');
 
  284       $this->
setData(
'dateNotified', $dateNotified);
 
  292       return $this->
getData(
'dateConfirmed');
 
  300       $this->
setData(
'dateConfirmed', $dateConfirmed);
 
  308       return $this->
getData(
'dateCompleted');
 
  316       $this->
setData(
'dateCompleted', $dateCompleted);
 
  324       return $this->
getData(
'dateAcknowledged');
 
  332       $this->
setData(
'dateAcknowledged', $dateAcknowledged);
 
  340       return $this->
getData(
'dateReminded');
 
  348       $this->
setData(
'dateReminded', $dateReminded);
 
  356       return $this->
getData(
'dateDue');
 
  364       $this->
setData(
'dateDue', $dateDue);
 
  372       return $this->
getData(
'dateResponseDue');
 
  380       $this->
setData(
'dateResponseDue', $dateResponseDue);
 
  388       return $this->
getData(
'declined');
 
  396       $this->
setData(
'declined', $declined);
 
  404       return $this->
getData(
'cancelled');
 
  412       $this->
setData(
'cancelled', $cancelled);
 
  420       return $this->
getData(
'reminderWasAutomatic')==1?1:0;
 
  428       $this->
setData(
'reminderWasAutomatic', $wasAutomatic);
 
  436       return $this->
getData(
'quality');
 
  444       $this->
setData(
'quality', $quality);
 
  452       return $this->
getData(
'round');
 
  460       $this->
setData(
'round', $round);
 
  468       return $this->
getData(
'reviewFormId');
 
  476       $this->
setData(
'reviewFormId', $reviewFormId);
 
  484       if ($this->
getDeclined()) 
return REVIEW_ASSIGNMENT_STATUS_DECLINED;
 
  485       if ($this->
getCancelled()) 
return REVIEW_ASSIGNMENT_STATUS_CANCELLED;
 
  488          $dueTimes = array_map(
function($dateTime) {
 
  490                if (substr($dateTime, 11) === 
'00:00:00') {
 
  491                   $dateTime = substr($dateTime, 0, 11) . 
'23:59:59';
 
  493                return strtotime($dateTime);
 
  495          $responseDueTime = $dueTimes[0];
 
  496          $reviewDueTime = $dueTimes[1];
 
  498             if($responseDueTime < time()) { 
 
  499                return REVIEW_ASSIGNMENT_STATUS_RESPONSE_OVERDUE;
 
  500             } elseif ($reviewDueTime < strtotime(
'tomorrow')) { 
 
  501                return REVIEW_ASSIGNMENT_STATUS_REVIEW_OVERDUE;
 
  503                return REVIEW_ASSIGNMENT_STATUS_AWAITING_RESPONSE;
 
  506             if ($reviewDueTime < strtotime(
'tomorrow')) { 
 
  507                return REVIEW_ASSIGNMENT_STATUS_REVIEW_OVERDUE;
 
  509                return REVIEW_ASSIGNMENT_STATUS_ACCEPTED;
 
  514             return REVIEW_ASSIGNMENT_STATUS_RECEIVED;
 
  516          return REVIEW_ASSIGNMENT_STATUS_THANKED;
 
  519             return REVIEW_ASSIGNMENT_STATUS_COMPLETE;
 
  521          return REVIEW_ASSIGNMENT_STATUS_RECEIVED;
 
  524       return REVIEW_ASSIGNMENT_STATUS_AWAITING_RESPONSE;
 
  541       $userGroups = $userGroupDao->getUserGroupsByStage(
 
  542          $submission->getContextId(),
 
  545       while ($userGroup = $userGroups->next()) {
 
  546          $roleId = $userGroup->getRoleId();
 
  547          if ($roleId != ROLE_ID_MANAGER && $roleId != ROLE_ID_SUB_EDITOR) {
 
  552          $stageUsers = $userStageAssignmentDao->getUsersBySubmissionAndStageId(
 
  559          while ($user = $stageUsers->next()) {
 
  560             if ($viewsDao->getLastViewDate(
 
  561                ASSOC_TYPE_REVIEW_RESPONSE,
 
  582       if (is_null($status)) {
 
  587          case REVIEW_ASSIGNMENT_STATUS_AWAITING_RESPONSE:
 
  588             return 'submission.review.status.awaitingResponse';
 
  589          case REVIEW_ASSIGNMENT_STATUS_DECLINED:
 
  590             return 'submission.review.status.declined';
 
  591          case REVIEW_ASSIGNMENT_STATUS_RESPONSE_OVERDUE:
 
  592             return 'submission.review.status.responseOverdue';
 
  593          case REVIEW_ASSIGNMENT_STATUS_REVIEW_OVERDUE:
 
  594             return 'submission.review.status.reviewOverdue';
 
  595          case REVIEW_ASSIGNMENT_STATUS_ACCEPTED:
 
  596             return 'submission.review.status.accepted';
 
  597          case REVIEW_ASSIGNMENT_STATUS_RECEIVED:
 
  598             return 'submission.review.status.received';
 
  599          case REVIEW_ASSIGNMENT_STATUS_COMPLETE:
 
  600             return 'submission.review.status.complete';
 
  601          case REVIEW_ASSIGNMENT_STATUS_THANKED:
 
  602             return 'submission.review.status.thanked';
 
  605       assert(
false, 
'No status key could be found for ' . get_class($this) . 
' on ' . __LINE__);
 
  619       if (is_null($method)) {
 
  624          case SUBMISSION_REVIEW_METHOD_OPEN:
 
  625             return 'editor.submissionReview.open';
 
  626          case SUBMISSION_REVIEW_METHOD_BLIND:
 
  627             return 'editor.submissionReview.blind';
 
  628          case SUBMISSION_REVIEW_METHOD_DOUBLEBLIND:
 
  629             return 'editor.submissionReview.doubleBlind';
 
  632       assert(
false, 
'No review method key could be found for ' . get_class($this) . 
' on ' . __LINE__);
 
  647       if ($dateDue === 
null) 
return null;
 
  648       return round((strtotime($dateDue) - time()) / (86400 * 7.0));
 
  658       static $reviewerRecommendationOptions = array(
 
  659             '' => 
'common.chooseOne',
 
  660             SUBMISSION_REVIEWER_RECOMMENDATION_ACCEPT => 
'reviewer.article.decision.accept',
 
  661             SUBMISSION_REVIEWER_RECOMMENDATION_PENDING_REVISIONS => 
'reviewer.article.decision.pendingRevisions',
 
  662             SUBMISSION_REVIEWER_RECOMMENDATION_RESUBMIT_HERE => 
'reviewer.article.decision.resubmitHere',
 
  663             SUBMISSION_REVIEWER_RECOMMENDATION_RESUBMIT_ELSEWHERE => 
'reviewer.article.decision.resubmitElsewhere',
 
  664             SUBMISSION_REVIEWER_RECOMMENDATION_DECLINE => 
'reviewer.article.decision.decline',
 
  665             SUBMISSION_REVIEWER_RECOMMENDATION_SEE_COMMENTS => 
'reviewer.article.decision.seeComments' 
  667       return $reviewerRecommendationOptions;