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

controllers/wizard/fileUpload/form/SubmissionFilesMetadataForm.inc.php

00001 <?php
00002 
00015 import('lib.pkp.classes.form.Form');
00016 
00017 class SubmissionFilesMetadataForm extends Form {
00018 
00020    var $_submissionFile;
00021 
00023    var $_stageId;
00024 
00026    var $_reviewRound;
00027 
00028 
00035    function SubmissionFilesMetadataForm(&$submissionFile, $stageId, $reviewRound = null) {
00036       parent::Form('controllers/wizard/fileUpload/form/metadataForm.tpl');
00037 
00038       // Initialize the object.
00039       $this->_submissionFile =& $submissionFile;
00040       $this->_stageId = $stageId;
00041       if (is_a($reviewRound, 'ReviewRound')) {
00042          $this->_reviewRound =& $reviewRound;
00043       }
00044 
00045       // Add validation checks.
00046       $this->addCheck(new FormValidator($this, 'name', 'required', 'submission.submit.fileNameRequired'));
00047       $this->addCheck(new FormValidatorPost($this));
00048    }
00049 
00050 
00051    //
00052    // Getters and Setters
00053    //
00058    function &getSubmissionFile() {
00059       return $this->_submissionFile;
00060    }
00061 
00066    function getStageId() {
00067       return $this->_stageId;
00068    }
00069 
00074    function &getReviewRound() {
00075       return $this->_reviewRound;
00076    }
00077 
00078 
00079    //
00080    // Implement template methods from Form
00081    //
00085    function getLocaleFieldNames() {
00086       return array('name');
00087    }
00088 
00092    function readInputData() {
00093       $this->readUserVars(array('name', 'note'));
00094    }
00095 
00099    function fetch(&$request) {
00100       $templateMgr =& TemplateManager::getManager();
00101 
00102       // Submission file.
00103       $submissionFile =& $this->getSubmissionFile();
00104       $templateMgr->assign('submissionFile', $submissionFile);
00105 
00106       // Workflow stage.
00107       $templateMgr->assign('stageId', $this->getStageId());
00108 
00109       // Review round if we are in review stage.
00110       $reviewRound =& $this->getReviewRound();
00111       if (is_a($reviewRound, 'ReviewRound')) {
00112          $templateMgr->assign('reviewRoundId', $reviewRound->getId());
00113       }
00114 
00115       return parent::fetch($request);
00116    }
00117 
00121    function execute($args, &$request) {
00122       // Update the submission file with data from the form.
00123       $submissionFile =& $this->getSubmissionFile();
00124       $submissionFile->setName($this->getData('name'), AppLocale::getLocale());
00125       $submissionFileDao =& DAORegistry::getDAO('SubmissionFileDAO'); /* @var $submissionFileDao SubmissionFileDAO */
00126       $submissionFileDao->updateObject($submissionFile);
00127 
00128       // Save the note if it exists.
00129       if ($this->getData('note')) {
00130          $noteDao =& DAORegistry::getDAO('NoteDAO'); /* @var $noteDao NoteDAO */
00131          $note = $noteDao->newDataObject();
00132 
00133          $user =& $request->getUser();
00134          $note->setUserId($user->getId());
00135 
00136          $note->setContents($this->getData('note'));
00137          $note->setAssocType(ASSOC_TYPE_MONOGRAPH_FILE);
00138          $note->setAssocId($submissionFile->getFileId());
00139 
00140          $noteId = $noteDao->insertObject($note);
00141 
00142          // Mark the note as viewed by this user
00143          $user =& $request->getUser();
00144          $viewsDao =& DAORegistry::getDAO('ViewsDAO');
00145          $viewsDao->recordView(ASSOC_TYPE_NOTE, $noteId, $user->getId());
00146       }
00147    }
00148 }
00149 
00150 ?>

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