Open Monograph Press  3.3.0
SubmissionSubmitStep1Form.inc.php
1 <?php
2 
16 import('lib.pkp.classes.submission.form.PKPSubmissionSubmitStep1Form');
17 import('classes.submission.Submission'); // WORK_TYPE_... constants for form
18 
23  function __construct($context, $submission = null) {
24  parent::__construct($context, $submission);
25  $this->addCheck(new FormValidatorCustom($this, 'seriesId', 'optional', 'author.submit.seriesRequired', array(DAORegistry::getDAO('SeriesDAO'), 'getById'), array($context->getId())));
26  }
27 
31  function fetch($request, $template = null, $display = false) {
32  $templateMgr = TemplateManager::getManager($request);
33 
34  // Get series for this context
35  $seriesDao = DAORegistry::getDAO('SeriesDAO'); /* @var $seriesDao SeriesDAO */
36  $activeSeries = array();
37  $seriesIterator = $seriesDao->getByContextId($this->context->getId(), null, !$canSubmitAll);
38  while ($series = $seriesIterator->next()) {
39  if (!$series->getIsInactive()) {
40  $activeSeries[$series->getId()] = $series->getLocalizedTitle();
41  }
42  }
43  $seriesOptions = array('' => __('submission.submit.selectSeries')) + $activeSeries;
44  $templateMgr->assign('seriesOptions', $seriesOptions);
45 
46  return parent::fetch($request, $template, $display);
47  }
48 
52  function initData($data = array()) {
53  if (isset($this->submission)) {
54  parent::initData(array(
55  'seriesId' => $this->submission->getSeriesId(),
56  'seriesPosition' => $this->submission->getSeriesPosition(),
57  'workType' => $this->submission->getWorkType(),
58  ));
59  } else {
60  parent::initData();
61  }
62  }
63 
68  function validate() {
69  if (!parent::validate($callHooks)) return false;
70 
71  $request = Application::get()->getRequest();
72  $context = $request->getContext();
73  $seriesDao = DAORegistry::getDAO('SeriesDAO'); /* @var $seriesDao SeriesDAO */
74  $series = $seriesDao->getById($this->getData('seriesId'), $context->getId());
75  $seriesIsInactive = ($series && $series->getIsInactive()) ? true : false;
76  // Ensure that submissions are enabled and the assigned series is activated
77  if ($context->getData('disableSubmissions') || $seriesIsInactive) {
78  return false;
79  }
80 
81  return true;
82  }
83 
87  function readInputData() {
88  $this->readUserVars(array(
89  'workType', 'seriesId', 'seriesPosition',
90  ));
91  parent::readInputData();
92  }
93 
99  $submission->setWorkType($this->getData('workType'));
100  $submission->setSeriesId($this->getData('seriesId'));
101  $submission->setSeriesPosition($this->getData('seriesPosition'));
102  parent::setSubmissionData($submission);
103  }
104 }
SubmissionSubmitStep1Form\__construct
__construct($context, $submission=null)
Definition: SubmissionSubmitStep1Form.inc.php:23
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
SubmissionSubmitStep1Form\setSubmissionData
setSubmissionData($submission)
Definition: SubmissionSubmitStep1Form.inc.php:98
Form\readUserVars
readUserVars($vars)
Definition: Form.inc.php:378
PKPSubmissionSubmitStep1Form
Form for Step 1 of author submission: terms, conditions, etc.
Definition: PKPSubmissionSubmitStep1Form.inc.php:19
Form\getData
getData($key)
Definition: Form.inc.php:220
SubmissionSubmitStep1Form\validate
validate()
Definition: SubmissionSubmitStep1Form.inc.php:68
SubmissionSubmitForm\$context
$context
Definition: SubmissionSubmitForm.inc.php:26
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
SubmissionSubmitStep1Form\readInputData
readInputData()
Definition: SubmissionSubmitStep1Form.inc.php:87
Form\addCheck
addCheck($formValidator)
Definition: Form.inc.php:395
SubmissionSubmitStep1Form\fetch
fetch($request, $template=null, $display=false)
Definition: SubmissionSubmitStep1Form.inc.php:31
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
SubmissionSubmitStep1Form\initData
initData($data=array())
Definition: SubmissionSubmitStep1Form.inc.php:52
FormValidatorCustom
Form validation check with a custom user function performing the validation check.
Definition: FormValidatorCustom.inc.php:18
SubmissionSubmitForm\$submission
$submission
Definition: SubmissionSubmitForm.inc.php:38
SubmissionSubmitStep1Form
Form for Step 1 of author submission.
Definition: SubmissionSubmitStep1Form.inc.php:19