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
00039 $this->_submissionFile =& $submissionFile;
00040 $this->_stageId = $stageId;
00041 if (is_a($reviewRound, 'ReviewRound')) {
00042 $this->_reviewRound =& $reviewRound;
00043 }
00044
00045
00046 $this->addCheck(new FormValidator($this, 'name', 'required', 'submission.submit.fileNameRequired'));
00047 $this->addCheck(new FormValidatorPost($this));
00048 }
00049
00050
00051
00052
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
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
00103 $submissionFile =& $this->getSubmissionFile();
00104 $templateMgr->assign('submissionFile', $submissionFile);
00105
00106
00107 $templateMgr->assign('stageId', $this->getStageId());
00108
00109
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
00123 $submissionFile =& $this->getSubmissionFile();
00124 $submissionFile->setName($this->getData('name'), AppLocale::getLocale());
00125 $submissionFileDao =& DAORegistry::getDAO('SubmissionFileDAO');
00126 $submissionFileDao->updateObject($submissionFile);
00127
00128
00129 if ($this->getData('note')) {
00130 $noteDao =& DAORegistry::getDAO('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
00143 $user =& $request->getUser();
00144 $viewsDao =& DAORegistry::getDAO('ViewsDAO');
00145 $viewsDao->recordView(ASSOC_TYPE_NOTE, $noteId, $user->getId());
00146 }
00147 }
00148 }
00149
00150 ?>