00001 <?php
00002
00017 import('form.Form');
00018
00019 class ReviewFormForm extends Form {
00020
00022 var $reviewFormId;
00023
00028 function ReviewFormForm($reviewFormId = null) {
00029 parent::Form('manager/reviewForms/reviewFormForm.tpl');
00030
00031 $this->reviewFormId = $reviewFormId;
00032
00033
00034 $this->addCheck(new FormValidatorLocale($this, 'title', 'required', 'manager.reviewForms.form.titleRequired'));
00035 $this->addCheck(new FormValidatorPost($this));
00036
00037 }
00038
00043 function getLocaleFieldNames() {
00044 $reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO');
00045 return $reviewFormDao->getLocaleFieldNames();
00046 }
00047
00051 function display() {
00052 $templateMgr =& TemplateManager::getManager();
00053 $templateMgr->assign('reviewFormId', $this->reviewFormId);
00054 $templateMgr->assign('helpTopicId','journal.managementPages.reviewForms');
00055 parent::display();
00056 }
00057
00061 function initData() {
00062 if ($this->reviewFormId != null) {
00063 $journal =& Request::getJournal();
00064 $reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO');
00065 $reviewForm =& $reviewFormDao->getReviewForm($this->reviewFormId, $journal->getJournalId());
00066
00067 if ($reviewForm == null) {
00068 $this->reviewFormId = null;
00069 } else {
00070 $this->_data = array(
00071 'title' => $reviewForm->getTitle(null),
00072 'description' => $reviewForm->getDescription(null)
00073 );
00074 }
00075 }
00076 }
00077
00081 function readInputData() {
00082 $this->readUserVars(array('title', 'description'));
00083 }
00084
00088 function execute() {
00089 $journal =& Request::getJournal();
00090 $journalId = $journal->getJournalId();
00091
00092 $reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO');
00093
00094 if ($this->reviewFormId != null) {
00095 $reviewForm =& $reviewFormDao->getReviewForm($this->reviewFormId, $journalId);
00096 }
00097
00098 if (!isset($reviewForm)) {
00099 $reviewForm =& new ReviewForm();
00100 $reviewForm->setJournalId($journalId);
00101 $reviewForm->setActive(0);
00102 $reviewForm->setSequence(REALLY_BIG_NUMBER);
00103 }
00104
00105 $reviewForm->setTitle($this->getData('title'), null);
00106 $reviewForm->setDescription($this->getData('description'), null);
00107
00108 if ($reviewForm->getReviewFormId() != null) {
00109 $reviewFormDao->updateReviewForm($reviewForm);
00110 $reviewFormId = $reviewForm->getReviewFormId();
00111 } else {
00112 $reviewFormId = $reviewFormDao->insertReviewForm($reviewForm);
00113 $reviewFormDao->resequenceReviewForms($journalId, 0);
00114 }
00115 }
00116 }
00117
00118 ?>