PKPFileUploadWizardHandler::_attachEntities PHP Method

_attachEntities() protected method

Attach any dependent entities to a new file upload.
protected _attachEntities ( $submissionFile )
$submissionFile SubmissionFile
    protected function _attachEntities($submissionFile)
    {
        switch ($submissionFile->getFileStage()) {
            case SUBMISSION_FILE_REVIEW_FILE:
            case SUBMISSION_FILE_REVIEW_ATTACHMENT:
            case SUBMISSION_FILE_REVIEW_REVISION:
                // Add the uploaded review file to the review round.
                $reviewRound = $this->getReviewRound();
                $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO');
                $submissionFileDao->assignRevisionToReviewRound($submissionFile->getFileId(), $submissionFile->getRevision(), $reviewRound);
                if ($submissionFile->getFileStage() == SUBMISSION_FILE_REVIEW_REVISION) {
                    // Get a list of author user IDs
                    $authorUserIds = array();
                    $stageAssignmentDao = DAORegistry::getDAO('StageAssignmentDAO');
                    $submitterAssignments = $stageAssignmentDao->getBySubmissionAndRoleId($reviewRound->getSubmissionId(), ROLE_ID_AUTHOR);
                    while ($assignment = $submitterAssignments->next()) {
                        $authorUserIds[] = $assignment->getUserId();
                    }
                    // Update the notifications
                    $notificationMgr = new NotificationManager();
                    $notificationMgr->updateNotification(PKPApplication::getRequest(), array(NOTIFICATION_TYPE_PENDING_INTERNAL_REVISIONS, NOTIFICATION_TYPE_PENDING_EXTERNAL_REVISIONS), $authorUserIds, ASSOC_TYPE_SUBMISSION, $reviewRound->getSubmissionId());
                    $notificationMgr->updateNotification(PKPApplication::getRequest(), array(NOTIFICATION_TYPE_ALL_REVISIONS_IN), null, ASSOC_TYPE_REVIEW_ROUND, $reviewRound->getId());
                }
                break;
        }
    }

Usage Example

 /**
  * @copydoc PKPFileUploadWizardHandler::_attachEntities
  */
 protected function _attachEntities($submissionFile)
 {
     parent::_attachEntities($submissionFile);
     switch ($submissionFile->getFileStage()) {
         case SUBMISSION_FILE_PROOF:
             $galleyDao = DAORegistry::getDAO('ArticleGalleyDAO');
             assert($submissionFile->getAssocType() == ASSOC_TYPE_REPRESENTATION);
             $galley = $galleyDao->getById($submissionFile->getAssocId(), $submissionFile->getSubmissionId());
             if ($galley) {
                 $galley->setFileId($submissionFile->getFileId());
                 $galleyDao->updateObject($galley);
             }
             break;
     }
 }