/**
  * Validate that the user is the assigned layout editor for the submission.
  * Redirects to layoutEditor index page if validation fails.
  * @param $articleId int the submission being edited
  * @param $checkEdit boolean check if editor has editing permissions
  */
 function validate($articleId, $checkEdit = false)
 {
     parent::validate();
     $isValid = false;
     $journal =& Request::getJournal();
     $user =& Request::getUser();
     $layoutDao =& DAORegistry::getDAO('LayoutEditorSubmissionDAO');
     $submission =& $layoutDao->getSubmission($articleId, $journal->getJournalId());
     if (isset($submission)) {
         $layoutAssignment =& $submission->getLayoutAssignment();
         if (!isset($layoutAssignment)) {
             $isValid = false;
         } elseif ($layoutAssignment->getEditorId() == $user->getUserId()) {
             if ($checkEdit) {
                 $isValid = SubmissionLayoutHandler::layoutEditingEnabled($submission);
             } else {
                 $isValid = true;
             }
         }
     }
     if (!$isValid) {
         Request::redirect(null, Request::getRequestedPage());
     }
     return array($journal, $submission);
 }